kdelibs/qt crash

Jeff Mitchell kde-dev at emailgoeshere.com
Fri Oct 26 23:25:43 BST 2007


I'm getting a crash that seems to be somewhere in kdelibs or Qt.  It seems to 
happen sometimes (but not always) when I'm instantiating a new object that is 
a derivative of KHBox.  Here's the backtrace:

======== DEBUG INFORMATION  =======
Version:    2.0-SVN
Engine:     phonon-engine
Build date: Oct 25 2007
CC version: 4.1.2 (Gentoo 4.1.2)
KDElibs:    3.95.00 (KDE 4.0 Beta4)
Qt:         4.3.2
TagLib:     1.4.0
CPU count:  1

==== file `which amarok` =======
/home/kde4user/kde/bin/amarok: ELF 32-bit LSB executable, Intel 80386, version 
1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), not 
stripped


==== (gdb) bt =====================
Using host libthread_db library "/lib/libthread_db.so.1".
0xffffe410 in __kernel_vsyscall ()
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x42836fab in waitpid () from /lib/libpthread.so.0
#2  0xb779b078 in Amarok::Crash::crashHandler () 
at /home/kde4user/src/amarok/src/amarokcore/crashhandler.cpp:260
#3  <signal handler called>
#4  0xb5c78e23 in QFlags<Qt::WindowType>::operator& (this=0x38036d0, 
f=Qt::WindowType_Mask) 
at ../../include/QtCore/../../src/corelib/global/qglobal.h:1801
#5  0xb5c78e5c in QWidget::windowType (this=0x89240f0) 
at ../../include/QtGui/../../src/gui/kernel/qwidget.h:867
#6  0xb5cc5f75 in QWidgetPrivate::init (this=0x8999520, 
parentWidget=0x89240f0, f=@0xbfa5f070) at kernel/qwidget.cpp:941
#7  0xb5cc6503 in QWidget (this=0x8997c60, dd=@0x8999520, parent=0x89240f0, 
f=@0xbfa5f098) at kernel/qwidget.cpp:889
#8  0xb6001474 in QFrame (this=0x8997c60, parent=0x89240f0, f=@0xbfa5f0c8) at 
widgets/qframe.cpp:211
#9  0xb7582907 in KHBox (this=0x8997c60, parent=0x89240f0) 
at /home/kde4user/src/KDE/kdelibs/kdeui/widgets/khbox.cpp:28
#10 0xb795a702 in MediaDeviceConfig (this=0x8997c60, uid=@0xbfa5f2d8, 
mgr=0x8924410, nographics=false, parent=0x89240f0, name=0x0)
    at /home/kde4user/src/amarok/src/MediaDevicePluginManager.cpp:411
#11 0xb795f2a2 in MediaDevicePluginManager::slotSolidDeviceAdded 
(this=0x8924410, uid=@0x842f168) 
at /home/kde4user/src/amarok/src/MediaDevicePluginManager.cpp:159
#12 0xb795fbfe in MediaDevicePluginManager::qt_metacall (this=0x8924410, 
_c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfa5f7fc)
    at /home/kde4user/build/amarok/src/MediaDevicePluginManager.moc:156
#13 0xb7e954c2 in QMetaObject::activate (sender=0x8487e58, 
from_signal_index=4, to_signal_index=4, argv=0xbfa5f7fc) at 
kernel/qobject.cpp:3089
#14 0xb7e958e1 in QMetaObject::activate (sender=0x8487e58, m=0xb7a7a460, 
local_signal_index=0, argv=0xbfa5f7fc) at kernel/qobject.cpp:3151
#15 0xb7957bc6 in MediaDeviceCache::deviceAdded (this=0x8487e58, 
_t1=@0x842f168) at /home/kde4user/build/amarok/src/MediaDeviceCache.moc:85
#16 0xb79583c4 in MediaDeviceCache::addSolidDevice (this=0x8487e58, 
udi=@0x842f168) at /home/kde4user/src/amarok/src/MediaDeviceCache.cpp:102
#17 0xb79584b1 in MediaDeviceCache::qt_metacall (this=0x8487e58, 
_c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfa5fdac)
    at /home/kde4user/build/amarok/src/MediaDeviceCache.moc:73
#18 0xb7e954c2 in QMetaObject::activate (sender=0x8487288, 
from_signal_index=4, to_signal_index=4, argv=0xbfa5fdac) at 
kernel/qobject.cpp:3089
#19 0xb7e958e1 in QMetaObject::activate (sender=0x8487288, m=0xb632bd28, 
local_signal_index=0, argv=0xbfa5fdac) at kernel/qobject.cpp:3151
#20 0xb62e2d02 in Solid::DeviceNotifier::deviceAdded (this=0x8487288, 
_t1=@0x842f168) 
at /home/kde4user/build/KDE/kdelibs/solid/solid/devicenotifier.moc:78
#21 0xb62e3288 in Solid::DeviceManagerPrivate::_k_deviceAdded (this=0x8487288, 
udi=@0x842f168) 
at /home/kde4user/src/KDE/kdelibs/solid/solid/devicemanager.cpp:169
#22 0xb62e3370 in Solid::DeviceManagerPrivate::qt_metacall (this=0x8487288, 
_c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfa6030c)
    at /home/kde4user/build/KDE/kdelibs/solid/solid/devicemanager_p.moc:71
#23 0xb7e954c2 in QMetaObject::activate (sender=0x84921e8, 
from_signal_index=4, to_signal_index=4, argv=0xbfa6030c) at 
kernel/qobject.cpp:3089
#24 0xb7e958e1 in QMetaObject::activate (sender=0x84921e8, m=0xb632cc58, 
local_signal_index=0, argv=0xbfa6030c) at kernel/qobject.cpp:3151
#25 0xb62f7bfc in Solid::Ifaces::DeviceManager::deviceAdded (this=0x84921e8, 
_t1=@0x842f168)
    
at /home/kde4user/build/KDE/kdelibs/solid/solid/ifaces/devicemanager.moc:78
#26 0xb6306980 in Solid::Backends::Hal::HalManager::slotDeviceAdded 
(this=0x84921e8, udi=@0x842f168)
    
at /home/kde4user/src/KDE/kdelibs/solid/solid/backends/hal/halmanager.cpp:191
#27 0xb63069fa in Solid::Backends::Hal::HalManager::qt_metacall 
(this=0x84921e8, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfa603a0)
    
at /home/kde4user/build/KDE/kdelibs/solid/solid/backends/hal/halmanager.moc:69
#28 0xb7cce0c0 in QDBusConnectionPrivate::deliverCall (this=0x81468a8, 
object=0x84921e8, msg=@0x8915fb0, metaTypes=@0x8915fb4, slotIdx=6)
    at qdbusintegrator.cpp:839
#29 0xb7cd614c in CallDeliveryEvent::placeMetaCall (this=0x8915f80, 
object=0x84921e8) at qdbusintegrator_p.h:130
#30 0xb7e96195 in QObject::event (this=0x84921e8, e=0x8915f80) at 
kernel/qobject.cpp:1130
#31 0xb5c6f2cd in QApplicationPrivate::notify_helper (this=0x806d5c0, 
receiver=0x84921e8, e=0x8915f80) at kernel/qapplication.cpp:3558
#32 0xb5c6f5e3 in QApplication::notify (this=0xbfa60d28, receiver=0x84921e8, 
e=0x8915f80) at kernel/qapplication.cpp:3117
#33 0xb74dce5c in KApplication::notify (this=0xbfa60d28, receiver=0x84921e8, 
event=0x8915f80) 
at /home/kde4user/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:319
#34 0xb7e841f8 in QCoreApplication::notifyInternal (this=0xbfa60d28, 
receiver=0x84921e8, event=0x8915f80) at kernel/qcoreapplication.cpp:532
#35 0xb7e87597 in QCoreApplication::sendEvent (receiver=0x84921e8, 
event=0x8915f80) 
at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:202
#36 0xb7e846c6 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, 
event_type=0, data=0x8053ed8) at kernel/qcoreapplication.cpp:1115
#37 0xb7e8481b in QCoreApplication::sendPostedEvents (receiver=0x0, 
event_type=-1) at kernel/qcoreapplication.cpp:1003
#38 0xb7ead4ee in postEventSourceDispatch (s=0x806fb10) at 
kernel/qeventdispatcher_glib.cpp:209
#39 0x425dfc61 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#40 0x425e2cdf in ?? () from /usr/lib/libglib-2.0.so.0
#41 0x0806fa90 in ?? ()
#42 0x00000000 in ?? ()
==== (gdb) thread apply all bt ====


Line 411 in MediaDevicePluginManager.cpp is this:
404 MediaDeviceConfig::MediaDeviceConfig( QString uid, 
MediaDevicePluginManager *mgr, const bool nographics, QWidget *parent, const 
char *name )
405     : KHBox( parent )
406     , m_manager( mgr )
407     , m_uid( uid )
408     , m_name( MediaDeviceCache::instance()->deviceName( uid ) )
409     , m_configButton( 0 )
410     , m_removeButton( 0 )
411     , m_new( true )
412 {

The referenced line 28 in khbox.cpp is this:

26 KHBox::KHBox( QWidget* parent )
27   : QFrame( parent ),
28     d( 0 )
29 {

qframe.cpp, line 211:

210 QFrame::QFrame(QWidget* parent, Qt::WindowFlags f)
211     : QWidget(*new QFramePrivate, parent, f)
212 {

qwidget.cpp #1, line 889:

886 QWidget::QWidget(QWidgetPrivate &dd, QWidget* parent, Qt::WindowFlags f)
887     : QObject(dd, 0), QPaintDevice()
888 {
889     d_func()->init(parent, f);
890 }

qwidget.cpp #2, line 941:

940     QWidget *desktopWidget = 0;
941     if (parentWidget && parentWidget->windowType() == Qt::Desktop) {
942         desktopWidget = parentWidget;
943         parentWidget = 0;
944     }

qwidget.h, line 867:

866 inline Qt::WindowType QWidget::windowType() const
867 { return static_cast<Qt::WindowType>(int(data->window_flags & 
Qt::WindowType_Mask)); }

qglobal.h, line 1801:
1801     inline QFlags operator&(Enum f) const { QFlags g; g.i = i & f; return 
g; }

Hope that's detailed enough.  I can't quite figure it out.

Thanks,
Jeff




More information about the kde-core-devel mailing list