Bug 353037

Summary: Dolphin freezes when trying to open a remote LibreOffice file
Product: [Frameworks and Libraries] frameworks-kservice Reporter: tromzy
Component: generalAssignee: David Faure <faure>
Status: RESOLVED FIXED    
Severity: normal CC: admin, cyberbeat, emrecio, frank78ac, illumilore, jason.oliveira, jeridonn, kdelibs-bugs, kretebe, makukhin-82, piedro.kulman, shuizhuyuanluo, vkrevs
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 5.17.0

Description tromzy 2015-09-22 12:32:11 UTC
Every time I use dolphin to access a file that is on a remote server (local work network via Samba) and if the file opens with Libreoffice, Dolphin freezes. If the file opens with something else than Libreoffice, eg. if I try to open a remote PDF file with Okular, everything works, the file opens itself and Dolphin does not freeze. But if the file is an odt, doc, docx, xls, etc., it opens with Libreoffice OK, but Dolphin freezes and I have to kill it.

The bug does not occur onfiles that are on my computer, only remote ones.

Reproducible: Always

Steps to Reproduce:
1. Open Dolphin
2. Acess a file that opens with Libreoffice via Samba
3. Click the file to open it

Actual Results:  
The file opens with Libreoffice, but Dolphin crashes.

Expected Results:  
The file opens with Libreoffice, and Dolphin does not crash.

The Dolphin version is 15.08.1.
Comment 1 Frank Reininghaus 2015-09-26 06:25:23 UTC
Thanks for the bug report. I'm not sure if Dolphin freezes or crashes for you - you mention both in your bug description. Either way, we need more information, see

https://community.kde.org/Dolphin/FAQ/Freeze
https://community.kde.org/Dolphin/FAQ/Crashes

Thanks for your help.
Comment 2 tromzy 2015-09-28 07:48:27 UTC
Sorry, I meant freeze. Not crash. The Dolphin window becomes unresponsive.

I reproduced the freeze using "gdb dolphin" as mentioned in the link. here is the full backtrace : 

$ gdb dolphin
GNU gdb (GDB) 7.10
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from dolphin...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/dolphin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffe06c2700 (LWP 1376)]
[New Thread 0x7fffd67ef700 (LWP 1377)]
^Z
Program received signal SIGTSTP, Stopped (user).
0x00007ffff783a18d in poll () from /usr/lib/libc.so.6
(gdb) thread apply all backtrace

Thread 3 (Thread 0x7fffd67ef700 (LWP 1377)):
#0  0x00007ffff783a18d in poll () from /usr/lib/libc.so.6
#1  0x00007fffec70ac7c in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007fffec70ad8c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ffff1c5f25b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff1c0626a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff1a22af4 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007ffff1a27a9e in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007fffece3d4a4 in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007ffff784313d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7fffe06c2700 (LWP 1376)):                                                                                              
#0  0x00007ffff783a18d in poll () from /usr/lib/libc.so.6                                                                                 
#1  0x00007fffea65cae2 in ?? () from /usr/lib/libxcb.so.1                                                                                 
#2  0x00007fffea65e757 in xcb_wait_for_event () from /usr/lib/libxcb.so.1                                                                 
#3  0x00007fffe1de2ca9 in ?? () from /usr/lib/libQt5XcbQpa.so.5                                                                           
#4  0x00007ffff1a27a9e in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007fffece3d4a4 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff784313d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7ffff7ed9800 (LWP 1372)):
#0  0x00007ffff783a18d in poll () from /usr/lib/libc.so.6
#1  0x00007fffebb597bf in ?? () from /usr/lib/libdbus-1.so.3
#2  0x00007fffebb5842e in ?? () from /usr/lib/libdbus-1.so.3
#3  0x00007fffebb41094 in ?? () from /usr/lib/libdbus-1.so.3
#4  0x00007fffebb41a6d in ?? () from /usr/lib/libdbus-1.so.3
#5  0x00007fffebb4204a in dbus_connection_send_with_reply_and_block () from /usr/lib/libdbus-1.so.3
#6  0x00007ffff2083ce0 in ?? () from /usr/lib/libQt5DBus.so.5
#7  0x00007ffff207126b in QDBusConnection::call(QDBusMessage const&, QDBus::CallMode, int) const () from /usr/lib/libQt5DBus.so.5
#8  0x00007ffff3e8c3cc in KToolInvocation::startServiceInternal(char const*, QString const&, QStringList const&, QString*, QString*, int*, QByteArray const&, bool, QString const&) () from /usr/lib/libKF5Service.so.5
#9  0x00007ffff3e8d2bc in KToolInvocation::startServiceByDesktopPath(QString const&, QStringList const&, QString*, QString*, int*, QByteArray const&, bool) () from /usr/lib/libKF5Service.so.5
#10 0x00007ffff6030ed1 in KRun::runService(KService const&, QList<QUrl> const&, QWidget*, bool, QString const&, QByteArray const&) ()
   from /usr/lib/libKF5KIOWidgets.so.5
#11 0x00007ffff6034858 in KRun::runUrl(QUrl const&, QString const&, QWidget*, bool, bool, QString const&, QByteArray const&) ()
   from /usr/lib/libKF5KIOWidgets.so.5
#12 0x00007ffff6035132 in KRun::foundMimeType(QString const&) () from /usr/lib/libKF5KIOWidgets.so.5
#13 0x00007ffff602df92 in KRun::mimeTypeDetermined(QString const&) () from /usr/lib/libKF5KIOWidgets.so.5
#14 0x00007ffff602e01c in KRun::scanFile() () from /usr/lib/libKF5KIOWidgets.so.5
#15 0x00007ffff603610d in KRun::slotTimeout() () from /usr/lib/libKF5KIOWidgets.so.5
#16 0x00007ffff1c36fea in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#17 0x00007ffff1c43f38 in QTimer::timerEvent(QTimerEvent*) () from /usr/lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#18 0x00007ffff1c37e63 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#19 0x00007ffff2dd300c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007ffff2dd84e6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#21 0x00007ffff1c0889b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#22 0x00007ffff1c5e05d in QTimerInfoList::activateTimers() () from /usr/lib/libQt5Core.so.5
#23 0x00007ffff1c5e561 in ?? () from /usr/lib/libQt5Core.so.5
#24 0x00007fffec70a9fd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#25 0x00007fffec70ace0 in ?? () from /usr/lib/libglib-2.0.so.0
#26 0x00007fffec70ad8c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#27 0x00007ffff1c5f23f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#28 0x00007ffff1c0626a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#29 0x00007ffff1c0e20c in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#30 0x00007ffff7b5dd64 in kdemain () from /usr/lib/libkdeinit5_dolphin.so
#31 0x00007ffff777a610 in __libc_start_main () from /usr/lib/libc.so.6
#32 0x0000000000400779 in _start ()
(gdb)
Comment 3 Frank Reininghaus 2015-09-29 19:47:41 UTC
Thanks. I'll reassign to kservice because that's where the freezing DBus code is called from.
Comment 4 Frank Reininghaus 2015-11-23 20:22:21 UTC
*** Bug 354927 has been marked as a duplicate of this bug. ***
Comment 5 Frank Reininghaus 2015-11-23 20:23:09 UTC
*** Bug 355686 has been marked as a duplicate of this bug. ***
Comment 6 nihui 2015-11-25 03:46:35 UTC
hi
I  can reproduce this freeze when trying to open a remote video file with vlc
but I can not reproduce when opening a txt file with kate

(gdb) thread apply all backtrace

Thread 4 (Thread 0x7fff57fff700 (LWP 15971)):
#0  0x00007ffff784418d in poll () from /usr/lib/libc.so.6
#1  0x00007fffec9fbca4 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007fffec9fbdbc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ffff287158f in QEventDispatcherGlib::processEvents (this=0x7fff500008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#4  0x00007ffff28185ba in QEventLoop::exec (this=this@entry=0x7fff57ffedc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007ffff2634bd4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#6  0x00007ffff2639b7e in QThreadPrivate::start (arg=0xb42050) at thread/qthread_unix.cpp:331
#7  0x00007ffff06f3464 in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007ffff784d12d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7fffd8d81700 (LWP 15970)):
#0  0x00007ffff06f903f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007fffd8f08f64 in ?? () from /usr/lib/libQt5Script.so.5
#2  0x00007fffd8f08fa9 in ?? () from /usr/lib/libQt5Script.so.5
#3  0x00007ffff06f3464 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007ffff784d12d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7fffe0c1a700 (LWP 15969)):
#0  0x00007ffff784418d in poll () from /usr/lib/libc.so.6
#1  0x00007fffec50e9f2 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007fffec51056f in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007fffe2f80329 in QXcbEventReader::run (this=0x675ab0) at qxcbconnection.cpp:1229
#4  0x00007ffff2639b7e in QThreadPrivate::start (arg=0x675ab0) at thread/qthread_unix.cpp:331
#5  0x00007ffff06f3464 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff784d12d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7ffff7e24800 (LWP 15963)):
#0  0x00007ffff784418d in poll () from /usr/lib/libc.so.6
#1  0x00007fffed9127bf in ?? () from /usr/lib/libdbus-1.so.3
#2  0x00007fffed91142e in ?? () from /usr/lib/libdbus-1.so.3
#3  0x00007fffed8fa094 in ?? () from /usr/lib/libdbus-1.so.3
#4  0x00007fffed8fab8c in ?? () from /usr/lib/libdbus-1.so.3
#5  0x00007fffed8fb04a in dbus_connection_send_with_reply_and_block () from /usr/lib/libdbus-1.so.3
#6  0x00007ffff7f0b350 in q_dbus_connection_send_with_reply_and_block (error=<optimized out>, timeout_milliseconds=2147483647, message=0x6baa20, connection=<optimized out>) at qdbus_symbols_p.h:208
#7  QDBusConnectionPrivate::sendWithReply (this=0x6a0c00, message=..., sendMode=<optimized out>, timeout=2147483647) at qdbusintegrator.cpp:2044
#8  0x00007ffff7ef88db in QDBusConnection::call (this=this@entry=0x7fffffffcf40, message=..., mode=mode@entry=QDBus::Block, timeout=timeout@entry=2147483647) at qdbusconnection.cpp:564
#9  0x00007ffff3cff85d in KToolInvocation::startServiceInternal (this=0x7ffff3f77840 <(anonymous namespace)::Q_QGS_s_self::innerFunction()::holder>, _function=_function@entry=0x7ffff3d5e6ef "start_service_by_desktop_path", _name=..., 
    URLs=..., error=error@entry=0x7fffffffd140, serviceName=serviceName@entry=0x0, pid=0x7fffffffd120, startup_id=..., noWait=false, workdir=...) at /chakra/core/kservice/src/kservice-5.16.0/src/kdeinit/ktoolinvocation.cpp:99
#10 0x00007ffff3d0025c in KToolInvocation::startServiceByDesktopPath (_name=..., URLs=..., error=error@entry=0x7fffffffd140, serviceName=serviceName@entry=0x0, pid=pid@entry=0x7fffffffd120, startup_id=..., noWait=false)
    at /chakra/core/kservice/src/kservice-5.16.0/src/kdeinit/ktoolinvocation.cpp:190
#11 0x00007ffff592f010 in KRun::runService (_service=..., _urls=..., window=window@entry=0xa0b6a0, tempFiles=tempFiles@entry=false, suggestedFileName=..., asn=...) at /chakra/core/kio/src/kio-5.16.0/src/widgets/krun.cpp:768
#12 0x00007ffff593244e in KRun::runUrl (u=..., _mimetype=..., window=0xa0b6a0, tempFile=tempFile@entry=false, runExecutables=<optimized out>, suggestedFileName=..., asn=...) at /chakra/core/kio/src/kio-5.16.0/src/widgets/krun.cpp:231
#13 0x00007ffff5932c70 in KRun::foundMimeType (this=0xc426f0, type=...) at /chakra/core/kio/src/kio-5.16.0/src/widgets/krun.cpp:1272
#14 0x00007ffff592ca52 in KRun::mimeTypeDetermined (this=this@entry=0xc426f0, mimeType=...) at /chakra/core/kio/src/kio-5.16.0/src/widgets/krun.cpp:1220
#15 0x00007ffff592d3a3 in KRun::slotStatResult (this=0xc426f0, job=<optimized out>) at /chakra/core/kio/src/kio-5.16.0/src/widgets/krun.cpp:1170
#16 0x00007ffff284936a in QMetaObject::activate (sender=0xc6df40, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3713
#17 0x00007ffff6a7d3f2 in KJob::result(KJob*, KJob::QPrivateSignal) () from /usr/lib/libKF5CoreAddons.so.5
#18 0x00007ffff6a7dfb1 in KJob::finishJob(bool) () from /usr/lib/libKF5CoreAddons.so.5
#19 0x00007ffff5186deb in KIO::SimpleJob::slotFinished (this=this@entry=0xc6df40) at /chakra/core/kio/src/kio-5.16.0/src/core/simplejob.cpp:228
#20 0x00007ffff518ad1e in KIO::StatJob::slotFinished (this=0xc6df40) at /chakra/core/kio/src/kio-5.16.0/src/core/statjob.cpp:167
#21 0x00007ffff518a1e1 in KIO::StatJob::qt_static_metacall (_o=_o@entry=0xc6df40, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=2, _a=_a@entry=0x7fffffffd7d0) at /chakra/core/kio/src/build/src/core/moc_statjob.cpp:103
#22 0x00007ffff284936a in QMetaObject::activate (sender=sender@entry=0xed0ff0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0) at kernel/qobject.cpp:3713
#23 0x00007ffff2849b67 in QMetaObject::activate (sender=sender@entry=0xed0ff0, m=m@entry=0x7ffff5428aa0 <KIO::SlaveInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0)
    at kernel/qobject.cpp:3578
#24 0x00007ffff5167b73 in KIO::SlaveInterface::finished (this=this@entry=0xed0ff0) at /chakra/core/kio/src/build/src/core/moc_slaveinterface.cpp:402
#25 0x00007ffff516ab41 in KIO::SlaveInterface::dispatch (this=0xed0ff0, _cmd=<optimized out>, rawdata=...) at /chakra/core/kio/src/kio-5.16.0/src/core/slaveinterface.cpp:160
#26 0x00007ffff5168167 in KIO::SlaveInterface::dispatch (this=0xed0ff0) at /chakra/core/kio/src/kio-5.16.0/src/core/slaveinterface.cpp:89
#27 0x00007ffff516c6b1 in KIO::Slave::gotInput (this=0xed0ff0) at /chakra/core/kio/src/kio-5.16.0/src/core/slave.cpp:393
#28 0x00007ffff51e8315 in KIO::Slave::qt_static_metacall (_o=_o@entry=0xed0ff0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=2, _a=_a@entry=0x7fffffffdaf0) at /chakra/core/kio/src/build/src/core/moc_slave.cpp:87
#29 0x00007ffff284936a in QMetaObject::activate (sender=0xbc3780, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3713
#30 0x00007ffff2849b67 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7ffff5427720 <KIO::Connection::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3578
#31 0x00007ffff511ac73 in KIO::Connection::readyRead (this=<optimized out>) at /chakra/core/kio/src/build/src/core/moc_connection_p.cpp:141
#32 KIO::ConnectionPrivate::dequeue (this=0xe8b260) at /chakra/core/kio/src/kio-5.16.0/src/core/connection.cpp:45
#33 0x00007ffff284a231 in QObject::event (this=0xbc3780, e=<optimized out>) at kernel/qobject.cpp:1239
#34 0x00007ffff310b98c in QApplicationPrivate::notify_helper (this=this@entry=0x65aaf0, receiver=receiver@entry=0xbc3780, e=e@entry=0xd1b6f0) at kernel/qapplication.cpp:3716
#35 0x00007ffff3110e66 in QApplication::notify (this=0x7fffffffe1f0, receiver=0xbc3780, e=0xd1b6f0) at kernel/qapplication.cpp:3499
#36 0x00007ffff281abeb in QCoreApplication::notifyInternal (this=0x7fffffffe1f0, receiver=0xbc3780, event=event@entry=0xd1b6f0) at kernel/qcoreapplication.cpp:965
#37 0x00007ffff281cfe6 in QCoreApplication::sendEvent (event=0xd1b6f0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#38 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x659420) at kernel/qcoreapplication.cpp:1593
#39 0x00007ffff281d4c8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1451
#40 0x00007ffff2871183 in postEventSourceDispatch (s=0x69ea70) at kernel/qeventdispatcher_glib.cpp:271
#41 0x00007fffec9fba1d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#42 0x00007fffec9fbd08 in ?? () from /usr/lib/libglib-2.0.so.0
#43 0x00007fffec9fbdbc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#44 0x00007ffff287158f in QEventDispatcherGlib::processEvents (this=0x6a64b0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#45 0x00007ffff28185ba in QEventLoop::exec (this=this@entry=0x7fffffffe0c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#46 0x00007ffff282057c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#47 0x00007ffff7b660c4 in kdemain () from /usr/lib/libkdeinit5_dolphin.so
#48 0x00007ffff7784610 in __libc_start_main () from /usr/lib/libc.so.6
#49 0x0000000000400789 in _start ()
Comment 7 Weng Xuetian 2015-11-25 08:35:48 UTC
Git commit 1b4289ca0e00bf7ba59b19837ea2b2519f42a984 by Weng Xuetian.
Committed on 25/11/2015 at 08:33.
Pushed by xuetianweng into branch 'master'.

Register DBus name for kioexec

KLauncher expects kioexec to register org.kde.kioexec on dbus.

REVIEW: 126164
FIXED-IN: 5.17.0

M  +1    -0    src/kioexec/CMakeLists.txt
M  +2    -0    src/kioexec/main.cpp

http://commits.kde.org/kio/1b4289ca0e00bf7ba59b19837ea2b2519f42a984
Comment 8 Frank Reininghaus 2015-12-10 18:06:17 UTC
*** Bug 356468 has been marked as a duplicate of this bug. ***
Comment 9 Jason Oliveira 2015-12-15 19:52:49 UTC
Thank you for fixing this bug.
Comment 10 Michael Pyne 2015-12-16 02:41:58 UTC
*** Bug 351737 has been marked as a duplicate of this bug. ***
Comment 11 Mihail 2015-12-18 10:52:18 UTC
Bagh is also repeated. Explain how to fix it.
Comment 12 Frank Reininghaus 2015-12-23 14:06:47 UTC
(In reply to Mihail from comment #11)
> Bagh is also repeated. Explain how to fix it.

Upgrade the KIO framework to version 5.17, which was released on December 12: https://www.kde.org/announcements/kde-frameworks-5.17.0.php
Comment 13 Frank Reininghaus 2015-12-23 14:07:39 UTC
*** Bug 356932 has been marked as a duplicate of this bug. ***
Comment 14 tromzy 2016-01-06 08:40:09 UTC
I can confirm the bug is fixed with latest frameworks.
Comment 15 alexandr-makukhin 2016-02-17 07:08:02 UTC
Starting the LibreOffice result in an error.

KDEInit не может запустить «/usr/lib/x86_64-linux-gnu/libexec/kf5/kioexec»