Date: Thu, 15 Nov 2007 10:07:03 +0100 From: "Heiko Wundram (Beenic)" <wundram@beenic.net> To: David J Brooks <freysman@comcast.net> Cc: freebsd-questions@freebsd.org Subject: Re: python25 core dumps Message-ID: <200711151007.03334.wundram@beenic.net> In-Reply-To: <200711142107.27718.freysman@comcast.net> References: <200711141615.37380.freysman@comcast.net> <200711150057.52571.wundram@beenic.net> <200711142107.27718.freysman@comcast.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Am Donnerstag, 15. November 2007 04:07:26 schrieb David J Brooks: > Ok. Here's what gdb shows for a crash from Gramps (built with py-Gtk2): > > (gdb) back > #0 0x29ea37fd in delete_aspell_speller () from > /usr/local/lib/libaspell.so.16 #1 0x29e03b3d in > gtkspell_set_language_internal () > from /usr/local/lib/libgtkspell.so.0 > #2 0x29e04084 in gtkspell_set_language () > from /usr/local/lib/libgtkspell.so.0 > #3 0x29af90ae in ?? () > from /usr/local/lib/python2.5/site-packages/gtk-2.0/gtkspell.so > #4 0x29cdf180 in ?? () > #5 0x29d28ff4 in ?? () > #6 0x00000000 in ?? () > #7 0xbfbf5218 in ?? () > #8 0xbfbf5220 in ?? () > #9 0x29d284cc in ?? () > #10 0x29af9681 in ?? () > from /usr/local/lib/python2.5/site-packages/gtk-2.0/gtkspell.so > #11 0x00000000 in ?? () > #12 0x29d28ff4 in ?? () > #13 0x28308080 in ?? () > #14 0xbfbf53c8 in ?? () > #15 0x080b131a in PyEval_EvalFrameEx () > Previous frame identical to this frame (corrupt stack?) > (gdb) This seems like a problem in libaspell; maybe you should simply try to reinstall the aspell port. See below for more info. > For comparison, this is what a crash from eric4 (built with PyQt4) looks > like: > > (gdb) back > #0 0x29224448 in typeinfo name for sipQApplication () > from /usr/local/lib/python2.5/site-packages/PyQt4/QtGui.so > #1 0x29595531 in sm_performSaveYourself () from > /usr/local/lib/libQtGui.so.4 #2 0x295956a1 in sm_saveYourselfCallback () > from /usr/local/lib/libQtGui.so.4 #3 0x29aed10b in _SmcProcessMessage () > from /usr/local/lib/libSM.so.6 #4 0x29afffa3 in IceProcessMessages () from > /usr/local/lib/libICE.so.6 #5 0x2958f5c8 in > QSmSocketReceiver::socketActivated () > from /usr/local/lib/libQtGui.so.4 > #6 0x2958f62f in QSmSocketReceiver::qt_metacall () > from /usr/local/lib/libQtGui.so.4 > #7 0x287bc15f in QMetaObject::activate () from > /usr/local/lib/libQtCore.so.4 #8 0x287bc6d2 in QMetaObject::activate () > from /usr/local/lib/libQtCore.so.4 #9 0x287d8b33 in > QSocketNotifier::activated () > from /usr/local/lib/libQtCore.so.4 > #10 0x287c1e1f in QSocketNotifier::event () from > /usr/local/lib/libQtCore.so.4 #11 0x295467bd in > QApplicationPrivate::notify_helper () > from /usr/local/lib/libQtGui.so.4 > #12 0x2954c8fe in QApplication::notify () from /usr/local/lib/libQtGui.so.4 > #13 0x291b4a13 in sipQApplication::notify () > from /usr/local/lib/python2.5/site-packages/PyQt4/QtGui.so > #14 0x287ab07b in QCoreApplication::notifyInternal () > from /usr/local/lib/libQtCore.so.4 > #15 0x287ccaf3 in socketNotifierSourceDispatch () > from /usr/local/lib/libQtCore.so.4 > #16 0x28852886 in g_main_context_dispatch () > from /usr/local/lib/libglib-2.0.so.0 > #17 0x28855c02 in g_main_context_check () from > /usr/local/lib/libglib-2.0.so.0 #18 0x28856185 in g_main_context_iteration > () > from /usr/local/lib/libglib-2.0.so.0 > #19 0x287ccf78 in QEventDispatcherGlib::processEvents () > from /usr/local/lib/libQtCore.so.4 > #20 0x295bd965 in QGuiEventDispatcherGlib::processEvents () > from /usr/local/lib/libQtGui.so.4 > #21 0x287aac31 in QCoreApplication::processEvents () > from /usr/local/lib/libQtCore.so.4 > #22 0x28623966 in meth_QCoreApplication_processEvents () > from /usr/local/lib/python2.5/site-packages/PyQt4/QtCore.so > #23 0x080b131a in PyEval_EvalFrameEx () > #24 0x080b1fab in PyEval_EvalFrameEx () > #25 0x080b1fab in PyEval_EvalFrameEx () > #26 0x080b2919 in PyEval_EvalCodeEx () > #27 0x080b2a67 in PyEval_EvalCode () > #28 0x080c9fc6 in Py_CompileString () > #29 0x080ca070 in PyRun_FileExFlags () > #30 0x080cb569 in PyRun_SimpleFileExFlags () > #31 0x08056ef1 in Py_Main () > #32 0x080563b5 in main () > (gdb) This seems like a problem in qt4 (I don't think the problem is in PyQt), simply try reinstalling that, too (completely; qt4 is split into several ports and "pkg_info | grep qt4" is your friend here). Generally, from what I interpret into the second backtrace, you upgraded from some 6 release to 7.0-BETA2, which (amongst other things) means that the C++ libraries have changed (because of a newer compiler, gcc 3.3 vs. 4.2). The compiler has also had changes introduced to the C++ type info descriptor layout (which I should think causes the segmentation fault in typeinfo name in the second backtrace), so that if you have a program that's linked against different versions of libstdc++ (PyQt is linked against that, just as qt4 is), you'll see behaviour like this. To check whether my hypothesis is correct, simply do an ldd on both a PyQt library, and a qt4 shared library (locations of both of which you can extract from the backtrace). If the version of libstdc++ is different, you didn't follow the upgrading procedure which explicitly states to recompile _all_ ports for the new system. Output should look something like this, anyway: [modelnine@phoenix ~]$ ldd /usr/local/lib/libqt-mt.so.3 /usr/local/lib/libqt-mt.so.3: ... libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x28c4c000) ... [modelnine@phoenix ~]$ where libstdc++.so.6 is the 7.0 variant, whereas a 6 system will show libstdc++.so.5. There are also some other changes, especially in the threading libraries, which can cause errors like these on non-C++ applications, although I wouldn't know whether aspell is affected by this, but possibly gtk2 is. Anyway, posting some more info on the upgrade process to 7.0 you did would help, I guess. Hope this helps for the moment. -- Heiko Wundram Product & Application Development
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200711151007.03334.wundram>