Skip site navigation (1)Skip section navigation (2)
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>