PySide Bugzilla Closed for New Bugs

PySide is now a Qt Add-on and uses the Qt Project's JIRA Bug Tracker instead of this Bugzilla instance. This Bugzilla is left for reference purposes.

Bug 302 - generatorrunner segfaults on typesystem (test case attached)
: generatorrunner segfaults on typesystem (test case attached)
Status: CLOSED FIXED
Product: PySide
Classification: Unclassified
Component: Shiboken
: 0.2.3
: All All
: P5 normal
Assigned To: Marcelo Lira
:
:
:
  Show dependency treegraph
 
Reported: 2010-08-17 14:33 EEST by Anderson Lizardo
Modified: 2010-09-10 19:21 EEST (History)
7 users (show)

See Also:


Attachments
Minimal test case (10.04 KB, application/x-gzip)
2010-08-17 14:33 EEST, Anderson Lizardo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Anderson Lizardo 2010-08-17 14:33:00 EEST
Created attachment 57 [details]
Minimal test case

generatorrunner is segfaulting on a simple typesystem (reduced from a larger
one). Here is the gdb backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x0017e06f in
AbstractMetaBuilder::traverseFunctions(CodeModelPointer<_ScopeModelItem>,
AbstractMetaClass*) () from /home/lizardo/.local/lib/libapiextractor.so.0.7
(gdb) bt
#0  0x0017e06f in
AbstractMetaBuilder::traverseFunctions(CodeModelPointer<_ScopeModelItem>,
AbstractMetaClass*) () from /home/lizardo/.local/lib/libapiextractor.so.0.7
#1  0x0017e960 in
AbstractMetaBuilder::traverseScopeMembers(CodeModelPointer<_ScopeModelItem>,
AbstractMetaClass*) () from /home/lizardo/.local/lib/libapiextractor.so.0.7
#2  0x0017f44f in
AbstractMetaBuilder::traverseClassMembers(CodeModelPointer<_ClassModelItem>) ()
from /home/lizardo/.local/lib/libapiextractor.so.0.7
#3  0x00180f35 in AbstractMetaBuilder::build(QIODevice*) () from
/home/lizardo/.local/lib/libapiextractor.so.0.7
#4  0x0014f6e9 in ApiExtractor::run() () from
/home/lizardo/.local/lib/libapiextractor.so.0.7
#5  0x0804c7af in main (argc=5, argv=0xbffff3f4) at
/home/lizardo/trees/pyside/generatorrunner.git/main.cpp:199

Compiling everything with Debug, it gives an assertion failure instead, and a
slightly different backtrace:

ASSERT failure in QList<T>::at: "index out of range", file
/usr/include/qt4/QtCore/qlist.h, line 439

Program received signal SIGABRT, Aborted.
0x00110832 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) bt
#0  0x00110832 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x0064a651 in *__GI_raise (sig=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0x0064da82 in *__GI_abort () at abort.c:92
#3  0x002c42dc in qt_message_output(QtMsgType, char const*) () from
/usr/lib/libQtCore.so.4
#4  0x002c44aa in ?? () from /usr/lib/libQtCore.so.4
#5  0x002c45b9 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4
#6  0x002c45fc in qt_assert_x(char const*, char const*, char const*, int) ()
from /usr/lib/libQtCore.so.4
#7  0x0019503c in QList<AbstractMetaArgument*>::at (this=0xbfffeac8, i=0) at
/usr/include/qt4/QtCore/qlist.h:439
#8  0x0017e273 in AbstractMetaBuilder::traverseFunctions (this=0x80745e8,
scopeItem=..., metaClass=0xbb127f8)
    at /home/lizardo/trees/pyside/apiextractor.git/abstractmetabuilder.cpp:1320
#9  0x0017cdbe in AbstractMetaBuilder::traverseScopeMembers (this=0x80745e8,
item=..., metaClass=0xbb127f8)
    at /home/lizardo/trees/pyside/apiextractor.git/abstractmetabuilder.cpp:1138
#10 0x0017d288 in AbstractMetaBuilder::traverseClassMembers (this=0x80745e8,
item=...) at
/home/lizardo/trees/pyside/apiextractor.git/abstractmetabuilder.cpp:1174
#11 0x00174e1d in AbstractMetaBuilder::build (this=0x80745e8, input=0xbffff1a0)
at /home/lizardo/trees/pyside/apiextractor.git/abstractmetabuilder.cpp:405
#12 0x0015b5f8 in ApiExtractor::run (this=0xbffff204) at
/home/lizardo/trees/pyside/apiextractor.git/apiextractor.cpp:228
#13 0x0804c7af in main (argc=5, argv=0xbffff3f4) at
/home/lizardo/trees/pyside/generatorrunner.git/main.cpp:199

Environment:

* Ubuntu 10.04
* Qt 4.6.2 (from Ubuntu)
* Tree heads:

apiextractor.git:   fa054acb0d7c37b4b8a7aca861cb3720097072b7
generatorrunner.git:09a2d2aaa6349df614752f10cd8663ad3a83aee5
pyside-mobility.git:fb9548cfa42ec0de15a7eed69f7d47246575e7ef
shiboken.git:       08027d04146bf528ac33a0686aa1a1a81312b9a3
Comment 1 Anderson Lizardo 2010-08-17 14:36:28 EEST
Forgot to explain how to use the testcase: unpack it and run "make run". Modify
the Makefile to use a different location for the Qt headers, if necessary.
Comment 2 renato filho 2010-08-17 17:04:36 EEST
fixed on commit:
commit e7e6a6bc96699844de99d5a7bb905b79147e46a9
Author: Renato Filho <renato.filho@openbossa.org>
Date:   Tue Aug 17 15:01:39 2010 -0300