[PyQt] Freezes and crashes with signal autoconnection

Christian Roche christian.roche.fr at gmail.com
Wed Nov 18 17:22:25 GMT 2009


Hi Phil,


Phil Thompson-5 wrote:
> 
> It's difficult to see how this would crash if everything else (ie. Python
> and Qt) is working as it should.
> 
> However it does imply you are using a very old version of Qt (v4.1).
> 

what leads you to think to an old version is used ? In fact this should
really not be the case, here are the packages installed on my system:
qt-4.5.3-9.fc11.i586
PyQt4-4.5.4-1.fc11.i586
sip-4.8.2-1.fc11.i586
PyKDE4-4.3.2-1.fc11.i586

It could be that python were using an old pyqt version laying around but I
doubt it. Here is the list of libraries I have on my system:
------------------------------------------------------------------------
>ls -1 /usr/lib/libQt*
/usr/lib/libQt3Support_debug.so            
/usr/lib/libQt3Support.prl                 
/usr/lib/libQt3Support.so                  
/usr/lib/libQt3Support.so.4                
/usr/lib/libQt3Support.so.4.5              
/usr/lib/libQt3Support.so.4.5.3            
/usr/lib/libQtAssistantClient_debug.so     
/usr/lib/libQtAssistantClient.prl          
/usr/lib/libQtAssistantClient.so           
/usr/lib/libQtAssistantClient.so.4         
/usr/lib/libQtAssistantClient.so.4.5       
/usr/lib/libQtAssistantClient.so.4.5.3     
/usr/lib/libQtCLucene_debug.so             
/usr/lib/libQtCLucene.prl                  
/usr/lib/libQtCLucene.so                   
/usr/lib/libQtCLucene.so.4                 
/usr/lib/libQtCLucene.so.4.5               
/usr/lib/libQtCLucene.so.4.5.3             
/usr/lib/libQtCore_debug.so                
/usr/lib/libQtCore.prl                     
/usr/lib/libQtCore.so                      
/usr/lib/libQtCore.so.4                    
/usr/lib/libQtCore.so.4.5                  
/usr/lib/libQtCore.so.4.5.3                
/usr/lib/libQtDBus_debug.so                
/usr/lib/libQtDBus.prl                     
/usr/lib/libQtDBus.so                      
/usr/lib/libQtDBus.so.4                    
/usr/lib/libQtDBus.so.4.5                  
/usr/lib/libQtDBus.so.4.5.3                
/usr/lib/libQtDesignerComponents_debug.so  
/usr/lib/libQtDesignerComponents.prl       
/usr/lib/libQtDesignerComponents.so        
/usr/lib/libQtDesignerComponents.so.4      
/usr/lib/libQtDesignerComponents.so.4.5    
/usr/lib/libQtDesignerComponents.so.4.5.3  
/usr/lib/libQtDesigner_debug.so            
/usr/lib/libQtDesigner.prl                 
/usr/lib/libQtDesigner.so                  
/usr/lib/libQtDesigner.so.4                
/usr/lib/libQtDesigner.so.4.5              
/usr/lib/libQtDesigner.so.4.5.3            
/usr/lib/libQtGui_debug.so                 
/usr/lib/libQtGui.prl                      
/usr/lib/libQtGui.so                       
/usr/lib/libQtGui.so.4                     
/usr/lib/libQtGui.so.4.5                   
/usr/lib/libQtGui.so.4.5.3                 
/usr/lib/libQtHelp_debug.so                
/usr/lib/libQtHelp.prl                     
/usr/lib/libQtHelp.so                      
/usr/lib/libQtHelp.so.4                    
/usr/lib/libQtHelp.so.4.5                  
/usr/lib/libQtHelp.so.4.5.3                
/usr/lib/libQtNetwork_debug.so             
/usr/lib/libQtNetwork.prl                  
/usr/lib/libQtNetwork.so                   
/usr/lib/libQtNetwork.so.4                 
/usr/lib/libQtNetwork.so.4.5               
/usr/lib/libQtNetwork.so.4.5.3             
/usr/lib/libQtOpenGL_debug.so              
/usr/lib/libQtOpenGL.prl                   
/usr/lib/libQtOpenGL.so                    
/usr/lib/libQtOpenGL.so.4                  
/usr/lib/libQtOpenGL.so.4.5                
/usr/lib/libQtOpenGL.so.4.5.3              
/usr/lib/libQtScript_debug.so              
/usr/lib/libQtScript.prl                   
/usr/lib/libQtScript.so                    
/usr/lib/libQtScript.so.4                  
/usr/lib/libQtScript.so.4.5                
/usr/lib/libQtScript.so.4.5.3              
/usr/lib/libQtScriptTools_debug.so         
/usr/lib/libQtScriptTools.prl
/usr/lib/libQtScriptTools.so
/usr/lib/libQtScriptTools.so.4
/usr/lib/libQtScriptTools.so.4.5
/usr/lib/libQtScriptTools.so.4.5.3
/usr/lib/libQtSql_debug.so
/usr/lib/libQtSql.prl
/usr/lib/libQtSql.so
/usr/lib/libQtSql.so.4
/usr/lib/libQtSql.so.4.5
/usr/lib/libQtSql.so.4.5.3
/usr/lib/libQtSvg_debug.so
/usr/lib/libQtSvg.prl
/usr/lib/libQtSvg.so
/usr/lib/libQtSvg.so.4
/usr/lib/libQtSvg.so.4.5
/usr/lib/libQtSvg.so.4.5.3
/usr/lib/libQtTest_debug.so
/usr/lib/libQtTest.prl
/usr/lib/libQtTest.so
/usr/lib/libQtTest.so.4
/usr/lib/libQtTest.so.4.5
/usr/lib/libQtTest.so.4.5.3
/usr/lib/libQtUiTools.a
/usr/lib/libQtUiTools_debug.a
/usr/lib/libQtUiTools.prl
/usr/lib/libQtWebKit_debug.so
/usr/lib/libQtWebKit.prl
/usr/lib/libQtWebKit.so
/usr/lib/libQtWebKit.so.4
/usr/lib/libQtWebKit.so.4.5
/usr/lib/libQtWebKit.so.4.5.3
/usr/lib/libQtXml_debug.so
/usr/lib/libQtXmlPatterns_debug.so
/usr/lib/libQtXmlPatterns.prl
/usr/lib/libQtXmlPatterns.so
/usr/lib/libQtXmlPatterns.so.4
/usr/lib/libQtXmlPatterns.so.4.5
/usr/lib/libQtXmlPatterns.so.4.5.3
/usr/lib/libQtXml.prl
/usr/lib/libQtXml.so
/usr/lib/libQtXml.so.4
/usr/lib/libQtXml.so.4.5
/usr/lib/libQtXml.so.4.5.3
------------------------------------------------------------------------

In fact I have encountered while testing several other crashes that do not
look any less intriguing, for instance this one (what does PyKDE has to do
with the whole thing ?):
------------------------------------------------------------------------
Core was generated by `python ./main.py'.                                                                     
Program terminated with signal 11, Segmentation fault.                                                        
#0  __cxxabiv1::__dynamic_cast(const void *, const struct
__cxxabiv1::__class_type_info *, const struct __cxxabiv1::__class_type_info
*, ptrdiff_t) (src_ptr=0xb5832c80, src_type=0xbc66b4, dst_type=0x6c11fe8,
src2dst=0)  
    at ../../../../libstdc++-v3/libsupc++/dyncast.cc:47                                                       
47                                  dst_type, whole_ptr, src_type, src_ptr,
result);                          
Missing separate debuginfos, use: debuginfo-install PyKDE4-4.3.2-1.fc11.i586
e2fsprogs-libs-1.41.4-12.fc11.i586 fontconfig-2.7.1-1.fc11.i586
freetype-2.3.9-5.fc11.i586 gamin-0.1.10-4.fc11.i586
kdelibs-4.3.2-4.fc11.i586 keyutils-libs-1.2-5.fc11.i586
krb5-libs-1.6.3-20.fc11.i586 libICE-1.0.4-7.fc11.i586
libSM-1.1.0-4.fc11.i586 libXau-1.0.4-5.fc11.i586
libXcursor-1.1.9-4.fc11.i586 libXdmcp-1.0.2-8.fc11.i586
libXfixes-4.0.3-5.fc11.i586 libXft-2.1.13-2.fc11.i586
libXi-1.2.1-1.fc11.i586 libXinerama-1.0.3-4.fc11.i586
libXpm-3.5.7-5.fc11.i586 libXrandr-1.2.99.4-3.fc11.i586
libXrender-0.9.4-5.fc11.i586 libXtst-1.0.3-5.fc11.i586
libacl-2.2.47-4.fc11.i586 libattr-2.4.43-3.fc11.i586
libcap-2.16-4.fc11.1.i586 libgcrypt-1.4.4-6.fc11.i586
libgpg-error-1.6-3.i586 libjpeg-6b-45.fc11.i586 libpng-1.2.37-1.fc11.i586
libselinux-2.0.80-1.fc11.i586 libutempter-1.1.5-3.fc11.i586
libxcb-1.2-4.fc11.i586 linuxwacom-0.8.2.2-11.fc11.i586
strigi-libs-0.7.0-1.fc11.i586 xz-libs-4.999.9-0.1.beta.20091007git.fc11.i586                                                                                                     
(gdb) bt                                                                                                      
#0  __cxxabiv1::__dynamic_cast(const void *, const struct
__cxxabiv1::__class_type_info *, const struct __cxxabiv1::__class_type_info
*, ptrdiff_t) (src_ptr=0xb5832c80, src_type=0xbc66b4, dst_type=0x6c11fe8,
src2dst=0)  
    at ../../../../libstdc++-v3/libsupc++/dyncast.cc:47                                                       
#1  0x03bac41b in ?? () from /usr/lib/python2.6/site-packages/PyKDE4/kio.so                                   
#2  0x0040ca9f in PyDict_New () at Objects/dictobject.c:224                                                   
#3  0x0040e262 in PyDict_New () at Objects/dictobject.c:224                                                   
#4  0x0072ed33 in Chimera::toPyObject (this=0xa4daa18, cpp=0xa8c6910) at
qpycore_chimera.cpp:1194             
#5  0x007260c2 in PyQtProxy::invokeSlot (slot=@0xbfce5d98, qargs=0xa8f30b0)
at qpycore_pyqtproxy.cpp:445      
#6  0x007299bb in qt_metacall_worker (pySelf=<value optimized out>,
pytype=<value optimized out>,             
    base=0x7885a0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xa8f30b0) at
qpycore_qobject_helpers.cpp:124  
#7  0x00729c62 in qpycore_qobject_qt_metacall (pySelf=0xa47a96c,
base=0x7885a0,                               
    _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xa8f30b0) at
qpycore_qobject_helpers.cpp:79                  
#8  0x00702f9b in sipQAbstractTableModel::qt_metacall (this=0xa7193b8,
_c=QMetaObject::InvokeMetaMethod,      
    _id=22, _a=0xa8f30b0) at sipQtCoreQAbstractTableModel.cpp:254                                             
#9  0x00ae49eb in QMetaCallEvent::placeMetaCall (this=0xa928348,
object=0xa7193b8) at kernel/qobject.cpp:477  
#10 0x00ae6136 in QObject::event (this=0xa7193b8, e=0xa928348) at
kernel/qobject.cpp:1110                     
#11 0x00701d8c in sipQAbstractTableModel::event (this=0xa7193b8,
a0=0xa928348)                                
    at sipQtCoreQAbstractTableModel.cpp:673                                                                   
#12 0x0427e8b4 in QApplicationPrivate::notify_helper (this=0xa530018,
receiver=0xa7193b8, e=0xa928348)        
    at kernel/qapplication.cpp:4065                                                                           
#13 0x04286029 in QApplication::notify (this=0xa52faf8, receiver=0xa7193b8,
e=0xa928348)                      
    at kernel/qapplication.cpp:3605                                                                           
#14 0x0144a243 in sipQApplication::notify (this=0xa52faf8, a0=0xa7193b8,
a1=0xa928348)                        
    at sipQtGuiQApplication.cpp:501                                                                           
#15 0x00ad60ab in QCoreApplication::notifyInternal (this=0xa52faf8,
receiver=0xa7193b8, event=0xa928348)      
    at kernel/qcoreapplication.cpp:610                                                                        
#16 0x00ad6c92 in QCoreApplication::sendEvent (event=<value optimized out>,
receiver=<value optimized out>)   
    at kernel/qcoreapplication.h:213                                                                          
#17 QCoreApplicationPrivate::sendPostedEvents (event=<value optimized out>,
receiver=<value optimized out>)   
    at kernel/qcoreapplication.cpp:1247                                                                       
#18 0x00ad6e4d in QCoreApplication::sendPostedEvents (receiver=0x0,
event_type=0)                             
    at kernel/qcoreapplication.cpp:1140                                                                       
#19 0x00b00f4f in QCoreApplication::sendPostedEvents () at
kernel/qcoreapplication.h:218                      
#20 postEventSourceDispatch () at kernel/qeventdispatcher_glib.cpp:210                                        
#21 0x0784e308 in g_main_dispatch (context=<value optimized out>) at
gmain.c:1824                             
#22 IA__g_main_context_dispatch (context=<value optimized out>) at
gmain.c:2377                               
#23 0x078519e0 in g_main_context_iterate (context=0xa5290a8, block=<value
optimized out>, dispatch=1,         
    self=0x9f86b98) at gmain.c:2455                                                                           
#24 0x07851b13 in IA__g_main_context_iteration (context=0xa5290a8,
may_block=1) at gmain.c:2518               
#25 0x00b00b7c in QEventDispatcherGlib::processEvents (this=0xa409510,
flags={i = 36})                        
    at kernel/qeventdispatcher_glib.cpp:327                                                                   
#26 0x0431dc45 in QGuiEventDispatcherGlib::processEvents (this=0xa409510,
flags={i = 36})                     
    at kernel/qguieventdispatcher_glib.cpp:202                                                                
#27 0x00ad4639 in QEventLoop::processEvents (this=0xbfce65a4, flags={i =
36}) at kernel/qeventloop.cpp:149    
#28 0x00ad4a8a in QEventLoop::exec (this=0xbfce65a4, flags={i = 0}) at
kernel/qeventloop.cpp:201              
#29 0x00ad6f0f in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:888                                
#30 0x0427e737 in QApplication::exec () at kernel/qapplication.cpp:3525                                       
#31 0x0144b047 in meth_QApplication_exec_ (sipArgs=0xb76e702c) at
sipQtGuiQApplication.cpp:2517               
#32 0x03641762 in PyCFunction_Call (func=0xa45fd8c, arg=0xb76e702c, kw=0x0)
at Objects/methodobject.c:81      
#33 0x0369d5be in call_function (oparg=<value optimized out>,
pp_stack=<value optimized out>)                 
    at Python/ceval.c:3679                                                                                    
#34 PyEval_EvalFrameEx (oparg=<value optimized out>, pp_stack=<value
optimized out>) at Python/ceval.c:2370   
#35 0x0369ed79 in PyEval_EvalCodeEx (co=0xb76c7920, globals=0xb770b02c,
locals=0xb770b02c, args=0x0,          
    argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at
Python/ceval.c:2942                 
#36 0x0369eed3 in PyEval_EvalCode (co=0xb76c7920, globals=0xb770b02c,
locals=0xb770b02c)                      
    at Python/ceval.c:515                                                                                     
#37 0x036b9eab in run_mod (mod=<value optimized out>, filename=<value
optimized out>, globals=0xb770b02c,     
    locals=0xb770b02c, flags=0xbfce69ec, arena=0x9f16da0) at
Python/pythonrun.c:1330                          
#38 0x036b9f72 in PyRun_FileExFlags (fp=0x9f29cd8, filename=0xbfce7a6b
"./main.py", start=257,                
    globals=0xb770b02c, locals=0xb770b02c, closeit=1, flags=0xbfce69ec) at
Python/pythonrun.c:1316            
#39 0x036bb51a in PyRun_SimpleFileExFlags (fp=0x9f29cd8, filename=0xbfce7a6b
"./main.py", closeit=1,          
    flags=0xbfce69ec) at Python/pythonrun.c:926                                                               
#40 0x036bbdaa in PyRun_AnyFileExFlags (fp=0x9f29cd8, filename=0xbfce7a6b
"./main.py", closeit=1,             
    flags=0xbfce69ec) at Python/pythonrun.c:731                                                               
#41 0x036c8592 in Py_Main (argc=2, argv=0xbfce6ae4) at Modules/main.c:597                                     
#42 0x080485c7 in main (argc=2, argv=0xbfce6ae4) at Modules/python.c:23
------------------------------------------------------------------------

I have also one crash with 
------------------------------------------------------------------------
Program terminated with signal 11, Segmentation fault.
#0  qpycore_PyObject_FromQString (qstr=@0xb5901c18) at
qpycore_qstring.cpp:54
54          for (int i = 0; i < qstr.length(); ++i)
------------------------------------------------------------------------

By the way I was wondering wether the 'shelve' python module might be to
some extend involved in the crashes. It seems to be somewhat unstable, I
have had several crashes with errors related to it in the past, and I seem
to notice that the application looks more difficult to crash right after
I've cleaned up the shelve databases. However its name doesn't appear in the
crash logs.

Thanks for your help!
Chris
-- 
View this message in context: http://old.nabble.com/Freezes-and-crashes-with-signal-autoconnection-tp25716493p26410962.html
Sent from the PyQt mailing list archive at Nabble.com.



More information about the PyQt mailing list