Summary: | Dolphin hangs ~2 minutes when started | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | Johan Persson <johanp> |
Component: | general | Assignee: | David Faure <faure> |
Status: | RESOLVED INTENTIONAL | ||
Severity: | crash | CC: | cfeck |
Priority: | NOR | Keywords: | drkonqi |
Version: | 4.11.1 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Johan Persson
2013-09-23 20:01:04 UTC
Did you start it as user "root" without using kdesu? (Sorry for forgetting to add that info). Yes, the crash happens when I run from terminal as "root". Doing a "export $(dbus-launch)" before running solves the problem. So I guess this makes it a duplicate of bug #309928. For the crash, yes. But you also mixed in another issue into this report: the long delay when starting. For this, please see bug 283081, bug 324654, bug 320262. If you find a different cause, please try to follow http://community.kde.org/Dolphin/FAQ/Freeze Running Dolphin through gdb. I dumped the thread during the temporary hang. Dolphin main windows shows after ~1,5min. Starting as root with "kdesu" shows the window after ~2s This behaviour is 100% repeatable on this machine. (Reverting back to 12.3 + KDE 4.11.1 everything works fine again so this seems to be a SuSE permission issue of some sort. (gdb) run Starting program: /usr/bin/dolphin [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Traceback (most recent call last): File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.3707.0-gdb.py", line 9, in <module> from gobject import register File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module> import gdb.backtrace ImportError: No module named backtrace [New Thread 0x7fffdb761700 (LWP 4882)] Detaching after fork from child process 4883. Detaching after fork from child process 4884. [New Thread 0x7fffda7b7700 (LWP 4885)] ^Z Program received signal SIGTSTP, Stopped (user). 0x00007ffff78659fd in poll () at ../sysdeps/unix/syscall-template.S:81 81 ../sysdeps/unix/syscall-template.S: No such file or directory. (gdb) thread apply all backtrace Thread 3 (Thread 0x7fffda7b7700 (LWP 4885)): #0 0x00007ffff78659fd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007fffef0295d4 in g_main_context_poll (priority=2147483647, n_fds=2, fds=0x8e39b0, timeout=-1, context=0x8e0fa0) at gmain.c:4006 #2 g_main_context_iterate (context=context@entry=0x8e0fa0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3707 #3 0x00007fffef0296dc in g_main_context_iteration (context=0x8e0fa0, may_block=1) at gmain.c:3773 #4 0x00007ffff36b5d76 in QEventDispatcherGlib::processEvents (this=0x8cb790, flags=...) at kernel/qeventdispatcher_glib.cpp:427 #5 0x00007ffff3687d0f in QEventLoop::processEvents (this=this@entry=0x7fffda7b6d20, flags=...) at kernel/qeventloop.cpp:149 #6 0x00007ffff3688005 in QEventLoop::exec (this=this@entry=0x7fffda7b6d20, flags=...) at kernel/qeventloop.cpp:204 #7 0x00007ffff3586fef in QThread::exec (this=this@entry=0x8df290) at thread/qthread.cpp:536 #8 0x00007ffff3669513 in QInotifyFileSystemWatcherEngine::run (this=0x8df290) at io/qfilesystemwatcher_inotify.cpp:256 #9 0x00007ffff358968f in QThreadPrivate::start (arg=0x8df290) at thread/qthread_unix.cpp:338 #10 0x00007ffff1c550db in start_thread (arg=0x7fffda7b7700) at pthread_create.c:309 #11 0x00007ffff786e7cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 2 (Thread 0x7fffdb761700 (LWP 4882)): #0 0x00007ffff78677d3 in select () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007ffff3666261 in QProcessManager::run ( this=0x7ffff39ef520 <processManager()::processManager>) at io/qprocess_unix.cpp:247 #2 0x00007ffff358968f in QThreadPrivate::start ( arg=0x7ffff39ef520 <processManager()::processManager>) at thread/qthread_unix.cpp:338 #3 0x00007ffff1c550db in start_thread (arg=0x7fffdb761700) at pthread_create.c:309 #4 0x00007ffff786e7cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 1 (Thread 0x7ffff7fa5880 (LWP 4878)): #0 0x00007ffff78659fd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007fffed1ea8d8 in poll (__timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:46 #2 _dbus_poll (fds=<optimized out>, n_fds=<optimized out>, timeout_milliseconds=<optimized out>) at dbus-sysdeps-unix.c:2545 #3 0x00007fffed1e44b8 in socket_do_iteration (transport=0x7097b0, flags=6, timeout_milliseconds=<optimized out>) at dbus-transport-socket.c:1125 #4 0x00007fffed1e33ff in _dbus_transport_do_iteration (transport=0x7097b0, flags=1, flags@entry=6, timeout_milliseconds=timeout_milliseconds@entry=25000) at dbus-transport.c:976 #5 0x00007fffed1cd854 in _dbus_connection_do_iteration_unlocked ( connection=connection@entry=0x714120, pending=pending@entry=0xc83c70, flags=flags@entry=6, timeout_milliseconds=timeout_milliseconds@entry=25000) at dbus-connection.c:1234 #6 0x00007fffed1ce2a9 in _dbus_connection_block_pending_call (pending=0xc83c70) at dbus-connection.c:2420 #7 0x00007fffed1dd67a in dbus_pending_call_block (pending=<optimized out>) at dbus-pending-call.c:748 #8 0x00007fffed1ce86d in dbus_connection_send_with_reply_and_block (connection=0x714120, message=0x7e6430, timeout_milliseconds=-1, error=0x7fffffffd430) at dbus-connection.c:3535 #9 0x00007ffff32b55d0 in q_dbus_connection_send_with_reply_and_block (error=0x7fffffffd430, timeout_milliseconds=-1, message=0x7e6430, connection=<optimized out>) at qdbus_symbols_p.h:135 #10 QDBusConnectionPrivate::sendWithReply (this=this@entry=0x714ef0, message=..., sendMode=sendMode@entry=1, timeout=timeout@entry=-1) at qdbusintegrator.cpp:1912 #11 0x00007ffff32b7362 in QDBusConnectionPrivate::findMetaObject (this=0x714ef0, service=..., path=..., interface=..., error=...) at qdbusintegrator.cpp:2386 #12 0x00007ffff32c297b in QDBusInterfacePrivate::QDBusInterfacePrivate (this=0xafb730, serv=..., p=..., iface=..., con=...) at qdbusinterface.cpp:158 ---Type <return> to continue, or q <return> to quit--- #13 0x00007ffff32c2aa5 in QDBusInterface::QDBusInterface (this=0x7fffffffd700, service=..., path=..., interface=..., connection=..., parent=0x0) at qdbusinterface.cpp:220 #14 0x00007ffff55a0ef0 in KIO::SchedulerPrivate::registerWindow (this=<optimized out>, wid=<optimized out>) at /usr/src/debug/kdelibs-4.11.1/kio/kio/scheduler.cpp:1346 #15 0x00007ffff55312ba in KDirListerCache::listDir (this=0x64a150, lister=0xb41d30, _u=..., _keep=<optimized out>, _reload=<optimized out>) at /usr/src/debug/kdelibs-4.11.1/kio/kio/kdirlister.cpp:227 #16 0x00007ffff6b7d43b in KFileItemModel::loadDirectory (this=<optimized out>, url=...) at /usr/src/debug/kde-baseapps-4.11.1/dolphin/src/kitemviews/kfileitemmodel.cpp:122 #17 0x00007ffff6bc90f0 in DolphinView::loadDirectory (this=0xc81810, url=..., reload=<optimized out>) at /usr/src/debug/kde-baseapps-4.11.1/dolphin/src/views/dolphinview.cpp:1517 #18 0x00007ffff6bcd204 in DolphinView::DolphinView (this=0xc81810, url=..., parent=<optimized out>) at /usr/src/debug/kde-baseapps-4.11.1/dolphin/src/views/dolphinview.cpp:200 #19 0x00007ffff7b8458a in DolphinViewContainer::DolphinViewContainer (this=0x8c4820, url=..., parent=<optimized out>) at /usr/src/debug/kde-baseapps-4.11.1/dolphin/src/dolphinviewcontainer.cpp:109 #20 0x00007ffff7b75b6e in DolphinMainWindow::createViewContainer (this=this@entry=0x811c00, url=..., parent=0x72c1f0) at /usr/src/debug/kde-baseapps-4.11.1/dolphin/src/dolphinmainwindow.cpp:1472 #21 0x00007ffff7b81b4f in DolphinMainWindow::DolphinMainWindow (this=0x811c00, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kde-baseapps-4.11.1/dolphin/src/dolphinmainwindow.cpp:160 #22 0x00007ffff7b73906 in DolphinApplication::DolphinApplication (this=0x7fffffffdd30) at /usr/src/debug/kde-baseapps-4.11.1/dolphin/src/dolphinapplication.cpp:35 #23 0x00007ffff7b89e0e in kdemain (argc=1, argv=0x7fffffffde68) at /usr/src/debug/kde-baseapps-4.11.1/dolphin/src/main.cpp:89 #24 0x00007ffff77a8be5 in __libc_start_main (main=0x400730 <main(int, char**)>, argc=1, argv=0x7fffffffde68, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffde58) at libc-start.c:269 #25 0x0000000000400761 in _start () at ../sysdeps/x86_64/start.S:122 Odd, KIO::SchedulerPrivate::registerWindow seems to try to contact D-Bus, but does not get an expected reply. I do not know KIO enough to understand which part of KDE it tries to contact - reassigning. Do you experience any other hangs (even if "only" about 20 seconds)? (The crash is indeed a duplicate of bug 309928, that leaves the freeze). Yes, for example launching konqueror exhibits pretty much the same problem a delay around ~1.5min until the application window first shows. Then there is again long delays (minutes) to, for example, click on "Home folder" until it opens. In general it seems to affect a bunch of KDE apps - but not all. Konsole for example launches as normal. There is definitely a DBUS issue in some capacity however running applications as root does not exhibit this issue. I can also see a lot of timeouts in the system log when various applications tries to talk to dbus. For example: dbus[530]: [system] Successfully activated service 'org.bluez' 2013-09-25T00:38:45.472504+02:00 gamma dbus[530]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.6" (uid=1000 pid=1585 comm="kdeinit4: kded4 [kdeinit] ") interface="org.bluez.Manager" member="DefaultAdapter" error name="(unset)" requested_reply="0" destination="org.bluez" (uid=0 pid=2200 comm="/usr/lib/bluetooth/bluetoothd ") 2013-09-25T00:38:45.473208+02:00 gamma dbus[530]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.18" (uid=1000 pid=1708 comm="/usr/bin/pulseaudio --start --log-target=syslog ") interface="org.bluez.Manager" member="GetProperties" error name="(unset)" requested_reply="0" destination="org.bluez" (uid=0 pid=2200 comm="/usr/lib/bluetooth/bluetoothd ") 2013-09-25T00:38:45.473885+02:00 gamma pulseaudio[1708]: [pulseaudio] bluetooth-util.c: org.bluez.Manager.GetProperties() failed: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type="method_call", sender=":1.18" (uid=1000 pid=1708 comm="/usr/bin/pulseaudio --start --log-target=syslog ") interface="org.bluez.Manager" member="GetProperties" error name="(unset)" requested_reply="0" destination="org.bluez" (uid=0 pid=2200 comm="/usr/lib/bluetooth/bluetoothd ") 2013-09-25T00:38:45.474654+02:00 gamma bluetoothd[2200]: Unable to get on D-Bus (I'm a developer myself but unfortunately not for KDE so I cannot be of much help here - apart from providing various debug logs and help to do some simple remote debugging) I don't believe this is intrinsic to KDE 4.11.1 since I can run 4.11.1 that with SuSE 12.3 on the same machine just fine. The server is a semi-old ~5yr old HW which I keep around as backup but nothing fancy so the HW is definitely not exotic enough to cause any issues. A blocked D-Bus could be caused by a faulty kded module. If you are able to follow http://kdepepo.wordpress.com/2011/05/11/troubleshooting-kded4-bugs/ please try to disabled kded modules to find out if one of them is the cause for the issue. D-Bus sets up communication channels per-user, that's why you do not see the issue with root. (Reading comment #7, you should probably try the bluetooth and/or sound/audio related kded modules first). It seems like this problem is caused by bluetooth. Disabling bluetoth service cures this problem. Since this serve doesn't even have bluetooth this seems like a bug in the SuSE installation which enables a service which shouldn't be enabled and then causes ripples in the system. I think this report should be closed and possibly a new one being opened on the bluetooth service since I guess a behaviour of blocking DBUS is not exactly correct even if there is no BT HW. I'm closing this as "resolved - wontfix" if you don't have any other opinion. |