Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

segfault when mixing inlcude and extend #57

Closed
buschmann23 opened this issue Sep 4, 2019 · 1 comment
Closed

segfault when mixing inlcude and extend #57

buschmann23 opened this issue Sep 4, 2019 · 1 comment

Comments

@buschmann23
Copy link
Contributor

I am trying to include template parts that itself use extend to generate their content. Most of the time this results in a segmentation fault, sometimes the rendering partly finishes without an error. I created an example application demonstrating my issue here: https://github.com/buschmann23/grantleetest

Maybe I am doing something completely wrong, or is this combination of include and extend not supported anyways? My Grantlee version is 5.1.0.

The gdb backtrace of of the sefault is as follows:

Program received signal SIGSEGV, Segmentation fault.
QList<QObject*>::QList (this=<optimized out>, l=..., this=<optimized out>, l=...) at /usr/include/qt5/QtCore/qlist.h:828
828         if (!d->ref.ref()) {
(gdb) bt
#0  QList<QObject*>::QList (this=<optimized out>, l=..., this=<optimized out>, l=...) at /usr/include/qt5/QtCore/qlist.h:828
#1  0x00007ffff7f6e0b2 in Grantlee::NodeList::NodeList (this=<optimized out>, list=..., this=<optimized out>, list=...) at /usr/src/debug/grantlee5-5.1.0-0.x86_64/templates/lib/node.cpp:121
#2  0x00007ffff4e084ab in BlockNode::render (this=0x4340a0, stream=<optimized out>, c=0x7fffffffd728) at /usr/src/debug/grantlee5-5.1.0-0.x86_64/templates/loadertags/block.cpp:123
#3  0x00007ffff7f6dcf8 in Grantlee::NodeList::render (this=this@entry=0x7fffffffd0b0, stream=stream@entry=0x7fffffffd6a0, c=c@entry=0x7fffffffd728) at /usr/include/qt5/QtCore/qlist.h:559
#4  0x00007ffff4e0a250 in ExtendsNode::render (this=<optimized out>, stream=<optimized out>, c=<optimized out>) at /usr/src/debug/grantlee5-5.1.0-0.x86_64/templates/loadertags/extends.cpp:159
#5  0x00007ffff7f6dcf8 in Grantlee::NodeList::render (this=0x4308d8, stream=0x7fffffffd6a0, c=0x7fffffffd728) at /usr/include/qt5/QtCore/qlist.h:559
#6  0x00007ffff7f63d2f in Grantlee::TemplateImpl::render (this=<optimized out>, stream=stream@entry=0x7fffffffd6a0, c=c@entry=0x7fffffffd728)
    at /usr/src/debug/grantlee5-5.1.0-0.x86_64/templates/lib/template.cpp:92
#7  0x00007ffff4e05f60 in ConstantIncludeNode::render (this=0x43bf90, stream=0x7fffffffd6a0, c=0x7fffffffd728) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:312
#8  0x00007ffff7fbfdc0 in ForNode::renderLoop (c=<optimized out>, stream=<optimized out>, this=<optimized out>) at /usr/include/qt5/QtCore/qlist.h:563
#9  ForNode::render (this=<optimized out>, stream=<optimized out>, c=0x7fffffffd728) at /usr/src/debug/grantlee5-5.1.0-0.x86_64/templates/defaulttags/for.cpp:214
#10 0x00007ffff7f6dcf8 in Grantlee::NodeList::render (this=0x4305f8, stream=0x7fffffffd6a0, c=0x7fffffffd728) at /usr/include/qt5/QtCore/qlist.h:559
#11 0x00007ffff7f63d2f in Grantlee::TemplateImpl::render (this=<optimized out>, stream=0x7fffffffd6a0, c=0x7fffffffd728) at /usr/src/debug/grantlee5-5.1.0-0.x86_64/templates/lib/template.cpp:92
#12 0x00007ffff7f677e1 in Grantlee::TemplateImpl::render (this=0x4303e0, c=0x7fffffffd728) at /usr/src/debug/grantlee5-5.1.0-0.x86_64/templates/lib/template.cpp:79
#13 0x000000000040adaf in main (argc=1, argv=0x7fffffffda28) at /home/buschmann/Dokumente/Entwicklung/Projekte/grantleetest/src/main.cpp:39
@steveire
Copy link
Owner

steveire commented Dec 6, 2019

Thanks for reporting this. It should be fixed as of commit 5a8bfdb

@steveire steveire closed this as completed Dec 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants