Version: (using KDE 4.2.1) Installed from: Mandriva RPMs Plasma crash if i drag 'n drop the menu icon out of the tasbar Thread 1 (Thread 0xb3b02910 (LWP 29054)): [KCrash Handler] #6 0xffffe424 in __kernel_vsyscall () #7 0xb7dc8c00 in raise () from /lib/i686/libc.so.6 #8 0xb7dca668 in abort () from /lib/i686/libc.so.6 #9 0xa6c08083 in ?? () from /usr/lib/libbtcore.so.9 #10 0xb668df6b in qt_message_output (msgType=QtFatalMsg, buf=0x96ba978 "ASSERT: \"! d->switcher\" in file /home/neoclust/rpm/BUILD/kdebase-workspace-4.2.1/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp, line 332") at global/qglobal.cpp:1971 #11 0xb668e0cc in qFatal (msg=0x6 <Address 0x6 out of bounds>) at global/qglobal.cpp:2201 #12 0xb668e1c5 in qt_assert (assertion=0xa84cf51a "! d->switcher", file=0xa84d0604 "/home/neoclust/rpm/BUILD/kdebase-workspace-4.2.1/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp", line=332) at global/qglobal.cpp:1777 #13 0xa84c8966 in ?? () from /usr/lib/kde4/plasma_applet_simplelauncher.so #14 0xb7c3696a in Plasma::Containment::addApplet (this=0x8e30a08, applet=0x8fa8d68, pos=@0xbffa0868, delayInit=false) at /usr/src/debug/kdelibs-4.2.1/plasma/containment.cpp:757 #15 0xb7f2d289 in ?? () from /usr/lib/libkdeinit4_plasma.so #16 0xb6a8b4c1 in QWidget::event (this=0x9945880, event=0xbffa0dc8) at kernel/qwidget.cpp:7501 #17 0xb6a3227c in QApplicationPrivate::notify_helper (this=0x8d44bd0, receiver=0x9945880, e=0xbffa0dc8) at kernel/qapplication.cpp:4084 #18 0xb6a3b502 in QApplication::notify (this=0x8d4afd0, receiver=0x9945880, e=0xbffa0dc8) at kernel/qapplication.cpp:3786 #19 0xb76fb620 in KApplication::notify (this=0x8d4afd0, receiver=0x9945880, event=0xbffa0dc8) at /usr/src/debug/kdelibs-4.2.1/kdeui/kernel/kapplication.cpp:307 #20 0xb679267e in QCoreApplication::notifyInternal (this=0x8d4afd0, receiver=0x9945880, event=0xbffa0dc8) at kernel/qcoreapplication.cpp:602 #21 0xb6a3a331 in QApplicationPrivate::sendMouseEvent (receiver=0x9945880, event=0xbffa0dc8, alienWidget=0x0, nativeWidget=0x94317d8, buttonDown=0xb72fd100, lastMouseReceiver=@0xb72fd104) at ../../src/corelib/kernel/qcoreapplication.h:216 #22 0xb6aadb7d in QETWidget::translateMouseEvent (this=0x94317d8, event=0xbffa13dc) at kernel/qapplication_x11.cpp:4425 #23 0xb6aad06c in QApplication::x11ProcessEvent (this=0x8d4afd0, event=0xbffa13dc) at kernel/qapplication_x11.cpp:3421 #24 0xb6ad7004 in x11EventSourceDispatch (s=0x8d46508, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #25 0xb4de2c8a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #26 0xb4de62f4 in ?? () from /usr/lib/libglib-2.0.so.0 #27 0xb4de647f in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #28 0xb67bf51a in QEventDispatcherGlib::processEvents (this=0x8d49d28, flags={i = -1074129528}) at kernel/qeventdispatcher_glib.cpp:323 #29 0xb6ad675a in QGuiEventDispatcherGlib::processEvents (this=0x8d49d28, flags={i = -1074129480}) at kernel/qguieventdispatcher_glib.cpp:202 #30 0xb6790c43 in QEventLoop::processEvents (this=0xbffa1630, flags={i = -1074129416}) at kernel/qeventloop.cpp:149 #31 0xb6791091 in QEventLoop::exec (this=0xbffa1630, flags={i = -1074129352}) at kernel/qeventloop.cpp:200 #32 0xb67935f6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880 #33 0xb6a320e4 in QApplication::exec () at kernel/qapplication.cpp:3553 #34 0xb7f1de21 in kdemain () from /usr/lib/libkdeinit4_plasma.so #35 0x0804856f in _start ()
hmmmm... the backtrace says; #12 0xb668e1c5 in qt_assert (assertion=0xa84cf51a "! d->switcher", file=0xa84d0604 "/home/neoclust/rpm/BUILD/kdebase-workspace-4.2.1/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp", line=332) but 1. there is no Q_ASSERT at line 332 in http://websvn.kde.org/*checkout*/tags/KDE/4.2.1/kdebase/workspace/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp (neither at 4.2.0 or trunk). 2. there is a Q_ASSERT(! d->switcher) at line 253 but if this one asserts, then the Applet::init() method got called more then one time...
happy to read you :) in fact our assert is a little after the "normal one" because we have a little patch to add our icon. This is the Q_ASSERT from : Q_ASSERT(! d->switcher); d->switcher = new QAction(i18n("Switch to Kickoff Menu Style"), this); d->actions.append(d->switcher); connect(d->switcher, SIGNAL(triggered(bool)), this, SLOT(switchMenuStyle())); this issue appear with the kickoff applet too
uh... are there other patches in e.g. plasma? I ask cause if Applet::init() can be called more then once, then it's a serious issue affecting probably a lot of applets (leading to crashes, duplicated kaction-items and lot of other wired things) cause I remember a lot of code within uinit()-methods being not ready for that.
the only "home made patches" are related to the icon and top tile http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/kdebase4-workspace/current/SOURCES/kdebase-workspace-4.2.1-mandriva-menu-button.patch?revision=353266&view=markup http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/kdebase4-workspace/current/SOURCES/kdebase-workspace-4.2.1-mandriva-menu-toptile.patch?revision=346834&view=markup
This is what I got Application: Plasma Workspace (plasma), signal SIGSEGV [Current thread is 0 (LWP 22093)] Thread 4 (Thread 0xe828bb90 (LWP 22094)): #0 0xf7fc3425 in __kernel_vsyscall () #1 0xf5028fb5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/cmov/libpthread.so.0 #2 0xf7ecef2d in pthread_cond_wait () from /lib/i686/cmov/libc.so.6 #3 0xf6805822 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #4 0xf52d3fd2 in ?? () from /usr/lib/libQtNetwork.so.4 #5 0xf680480e in ?? () from /usr/lib/libQtCore.so.4 #6 0xf50254e5 in start_thread () from /lib/i686/cmov/libpthread.so.0 #7 0xf7ec010e in clone () from /lib/i686/cmov/libc.so.6 Thread 3 (Thread 0xe73cab90 (LWP 22096)): #0 0xf7fc3425 in __kernel_vsyscall () #1 0xf5028fb5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/cmov/libpthread.so.0 #2 0xf7ecef2d in pthread_cond_wait () from /lib/i686/cmov/libc.so.6 #3 0xf6805822 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #4 0xe870fc2a in ?? () from /usr/lib/kde4/plasma_wallpaper_image.so #5 0x0881f278 in ?? () #6 0x0881f274 in ?? () #7 0xffffffff in ?? () #8 0xe73ca220 in ?? () #9 0xe73ca2e0 in ?? () #10 0xe8715540 in ?? () from /usr/lib/kde4/plasma_wallpaper_image.so #11 0xf79ef968 in vtable for KSvgRenderer () from /usr/lib/libkdeui.so.5 #12 0xe8715636 in ?? () from /usr/lib/kde4/plasma_wallpaper_image.so #13 0xf7e509af in posix_memalign () from /lib/i686/cmov/libc.so.6 #14 0xf680480e in ?? () from /usr/lib/libQtCore.so.4 #15 0xf50254e5 in start_thread () from /lib/i686/cmov/libpthread.so.0 #16 0xf7ec010e in clone () from /lib/i686/cmov/libc.so.6 Thread 2 (Thread 0xe5b07b90 (LWP 22598)): #0 0xf7fc3425 in __kernel_vsyscall () #1 0xf7eb85b1 in select () from /lib/i686/cmov/libc.so.6 #2 0xf68d5920 in ?? () from /usr/lib/libQtCore.so.4 #3 0xf680480e in ?? () from /usr/lib/libQtCore.so.4 #4 0xf50254e5 in start_thread () from /lib/i686/cmov/libpthread.so.0 #5 0xf7ec010e in clone () from /lib/i686/cmov/libc.so.6 Thread 1 (Thread 0xf3c5e710 (LWP 22093)): #0 0xf7fc3425 in __kernel_vsyscall () #1 0xf7e7c386 in nanosleep () from /lib/i686/cmov/libc.so.6 #2 0xf7e7c19e in sleep () from /lib/i686/cmov/libc.so.6 #3 0xf78bc738 in ?? () from /usr/lib/libkdeui.so.5 #4 0x00000000 in ?? ()
Is this still valid on current and 4.3 versions ?
yes, this was already reasolved in void Containment::addApplet(Applet *applet, const QPointF &pos, bool delayInit) here's the commit: http://websvn.kde.org/trunk/KDE/kdelibs/plasma/containment.cpp?view=diff&r1=908500&r2=908501 and patch file: http://websvn.kde.org/trunk/KDE/kdelibs/plasma/containment.cpp?r1=908500&r2=908501&view=patch it was not backported to 4.2.