Bug 192714 - calling org.kde.KIO.Scheduler.reparseSlaveConfiguration via dbus crashes whole system
Summary: calling org.kde.KIO.Scheduler.reparseSlaveConfiguration via dbus crashes whol...
Status: RESOLVED DUPLICATE of bug 226721
Alias: None
Product: kio
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Unspecified
: NOR crash
Target Milestone: ---
Assignee: David Faure
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-14 22:40 UTC by Ronny Standtke
Modified: 2010-09-09 00:51 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
bash script that triggers the crash (291 bytes, text/plain)
2009-10-15 11:26 UTC, Ronny Standtke
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ronny Standtke 2009-05-14 22:40:16 UTC
Version:            (using KDE 4.2.2)
Installed from:    Ubuntu Packages

In the good old days of KDE 3 it was possible to trigger reparsing of KIO http configuration with the following call:
$ dcop <program> KIO::Scheduler reparseSlaveConfiguration http

Now that I migrated to KDE 4 I wanted to do the same. DCOP is gone, so I spend some time figuring out what I had to do. I learned that I can use qdbus to get a list of valid destinations and can use dbus-send to send a signal. Example:
----------------
$ qdbus | grep konqueror
org.kde.konqueror-8084
$ dbus-send --session --dest=org.kde.konqueror-8084 /KIO/Scheduler org.kde.KIO.Scheduler.reparseSlaveConfiguration
----------------
Unfortunately, executing the last statement crashed many parts of KDE. Plasma, Krunner, Akregator, Konqueror, ... everything crashed at the same time.

Here is a backtrace of the konqueror crash:
----------------
[Thread debugging using libthread_db enabled]
[New Thread 0xb5eb6b50 (LWP 7798)]
0xb8024430 in __kernel_vsyscall ()
[Current thread is 0 (process 7798)]

Thread 1 (Thread 0xb5eb6b50 (LWP 7798)):
#0  0xb8024430 in __kernel_vsyscall ()
#1  0xb64e7780 in __nanosleep_nocancel () from /lib/tls/i686/cmov/libc.so.6
#2  0xb64e75be in __sleep (seconds=0) at ../sysdeps/unix/sysv/linux/sleep.c:138
#3  0xb795c8b2 in ?? () from /usr/lib/libkdeui.so.5
#4  0xb795d274 in KCrash::defaultCrashHandler () from /usr/lib/libkdeui.so.5
#5  <signal handler called>
#6  0xb7367907 in QVariant::userType () from /usr/lib/libQtCore.so.4
#7  0xb7457391 in ?? () from /usr/lib/libQtDBus.so.4
#8  0xb745e479 in ?? () from /usr/lib/libQtDBus.so.4
#9  0xb745e624 in ?? () from /usr/lib/libQtDBus.so.4
#10 0xb7464663 in ?? () from /usr/lib/libQtDBus.so.4
#11 0xb7468582 in ?? () from /usr/lib/libQtDBus.so.4
#12 0xb5c9e0d5 in dbus_connection_dispatch () from /lib/libdbus-1.so.3
#13 0xb7457406 in ?? () from /usr/lib/libQtDBus.so.4
#14 0xb745756f in ?? () from /usr/lib/libQtDBus.so.4
#15 0xb749cc2c in ?? () from /usr/lib/libQtDBus.so.4
#16 0xb735eca8 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#17 0xb735f932 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#18 0xb739a5a3 in QSocketNotifier::activated () from /usr/lib/libQtCore.so.4
#19 0xb73639a7 in QSocketNotifier::event () from /usr/lib/libQtCore.so.4
#20 0xb694ff2c in QApplicationPrivate::notify_helper (this=0x89313b8, receiver=0x89bbaf8, e=0xbfb41db0) at kernel/qapplication.cpp:4084
#21 0xb695822e in QApplication::notify (this=0xbfb421d8, receiver=0x89bbaf8, e=0xbfb41db0) at kernel/qapplication.cpp:3631
#22 0xb78ec94d in KApplication::notify () from /usr/lib/libkdeui.so.5
#23 0xb7348a3b in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#24 0xb73746ca in ?? () from /usr/lib/libQtCore.so.4
#25 0xb621fb88 in IA__g_main_context_dispatch (context=0x8933690) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:1814
#26 0xb62230eb in g_main_context_iterate (context=0x8933690, block=1, dispatch=1, self=0x89315d0) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:2448
#27 0xb6223268 in IA__g_main_context_iteration (context=0x8933690, may_block=1) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:2511
#28 0xb7374438 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#29 0xb69f13f5 in QGuiEventDispatcherGlib::processEvents (this=0x891e7c0, flags={i = -1078714568}) at kernel/qguieventdispatcher_glib.cpp:202
#30 0xb734706a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#31 0xb73474aa in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#32 0xb7349959 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#33 0xb694fda7 in QApplication::exec () at kernel/qapplication.cpp:3553
#34 0xb7ff400f in kdemain (argc=2, argv=0xbfb42554) at /build/buildd/kdebase-4.2.2/apps/konqueror/src/konqmain.cpp:257
#35 0x080486f2 in main (argc=1, argv=0x3) at /build/buildd/kdebase-4.2.2/obj-i486-linux-gnu/apps/konqueror/src/konqueror_dummy.cpp:3
#0  0xb8024430 in __kernel_vsyscall ()
----------------

I tested with the KDE-4.3 openSuse Live CD and could reproduce the problem even with the latest and greatest Beta.
Comment 1 Ronny Standtke 2009-05-14 22:42:38 UTC
Sorry, I forgot to change the severity to "Crash" and it looks like I can not change this after filing the bug. (Why?)
Could someone please change the severity?
Comment 2 Dario Andres 2009-05-15 00:37:09 UTC
What is your Qt4 version and your dbus lib version ?
Thanks
Comment 3 Ronny Standtke 2009-05-15 09:17:30 UTC
Sorry, I forgot to mention that I am using Kubuntu-9.04. Here is the requested additional info:
$ dpkg -l libqt4-dbus dbus
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name            Version         Description
+++-===============-===============-==============================================
ii  dbus            1.2.12-0ubuntu2 simple interprocess messaging system
ii  libqt4-dbus     4.5.0-0ubuntu4  Qt 4 D-Bus module
Comment 4 Ronny Standtke 2009-10-15 11:24:59 UTC
I just tested with Kubuntu-9.10 Beta and, unfortunately, the issue is still there. Here is the current version info:

$ dpkg -l libqt4-dbus dbus
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version                    Description
+++-==========================-==========================-====================================================================
ii  dbus                       1.2.16-0ubuntu8            simple interprocess messaging system
ii  libqt4-dbus                4.5.3really4.5.2-0ubuntu1  Qt 4 D-Bus module

Here is a simple bash script to test the issue:
#!/bin/bash
KONQUEROR=$(qdbus | grep -m1 konqueror)
KONQUEROR=${KONQUEROR## }
if [ -z "${KONQUEROR}" ]
then
        echo "No running Konqueror instance found. Please start Konqueror."
        exit 1
fi
dbus-send --session --dest=${KONQUEROR} /KIO/Scheduler org.kde.KIO.Scheduler.reparseSlaveConfiguration
Comment 5 Ronny Standtke 2009-10-15 11:26:59 UTC
Created attachment 37591 [details]
bash script that triggers the crash

The correct line breaks are not preserved in the comments. Therefore I attach the test script here. Just start Konqueror and then the test script -> the whole KDE 4 desktop crashes...
Comment 6 Ronny Standtke 2010-02-15 12:56:29 UTC
I just tested with KDE 4.4 and reparsing the configuration still crashes the whole desktop.
Comment 7 Christoph Feck 2010-09-09 00:51:15 UTC

*** This bug has been marked as a duplicate of bug 226721 ***