Summary: | kate crash when quitting because of a DBus request when a file dialog is open | ||
---|---|---|---|
Product: | [Applications] kate | Reporter: | RJVB <rjvbertin> |
Component: | general | Assignee: | KWrite Developers <kwrite-bugs-null> |
Status: | RESOLVED INTENTIONAL | ||
Severity: | crash | CC: | christoph |
Priority: | NOR | Keywords: | drkonqi |
Version First Reported In: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
RJVB
2016-02-05 15:57:11 UTC
Actually, that blog is nice, but I don't really see how this is easily fixable. If we get at some point such a dbus call, we would need to ensure we check for all things on the stack to be still ok, e.g. is the view manager still there and so on. See no real value in trying to fix that, actually. Have you checked if this still works with the current code? Yes, it will still random crash thought we only use: const QList<QUrl> urls = QFileDialog::getOpenFileUrls(m_mainWindow, i18n("Open File"), cv->document()->url()); We would need really to guard all things on the stack for the current function, here we are in a view manager member and Co. That makes no sense for me and I rather have such crashs than uglifying all our code base for no real reason. (if users script stuff via dbus + do GUI interactions during that scripts are running, they are doomed) Answering my own question: Application: kate (16.08.0) (Compiled from sources) Qt Version: 5.6.1 Frameworks Version: 5.24.0 Operating System: Linux 4.5.7-ck1-mainline-core2-rjvb x86_64 Distribution: Ubuntu 14.04.5 LTS -- Backtrace: Application: Kate (kate), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7f9e4e6ef780 (LWP 22409))] Thread 3 (Thread 0x7f9e3ad78700 (LWP 22410)): #0 0x00007f9e49203fdd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f9e45e61b72 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007f9e45e6364f in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007f9e3e1fcb09 in QXcbEventReader::run (this=0xad1780) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1325 #4 0x00007f9e49bb8c99 in QThreadPrivate::start (arg=0xad1780) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/thread/qthread_unix.cpp:341 #5 0x00007f9e45a3f184 in start_thread (arg=0x7f9e3ad78700) at pthread_create.c:312 #6 0x00007f9e4921137d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 2 (Thread 0x7f9e2d363700 (LWP 22411)): #0 0x00007f9e49203fdd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f9e45526fe4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f9e280013c0, timeout=-1, context=0x7f9e28000990) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:4028 #2 g_main_context_iterate (context=context@entry=0x7f9e28000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3729 #3 0x00007f9e455270ec in g_main_context_iteration (context=0x7f9e28000990, may_block=may_block@entry=1) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3795 #4 0x00007f9e49dd462b in QEventDispatcherGlib::processEvents (this=0x7f9e280008c0, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:419 #5 0x00007f9e49d7e56a in QEventLoop::exec (this=this@entry=0x7f9e2d362e20, flags=..., flags@entry=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/kernel/qeventloop.cpp:204 #6 0x00007f9e49bb3f8b in QThread::exec (this=this@entry=0x7f9e4a45c400 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/thread/qthread.cpp:500 #7 0x00007f9e4a1eb605 in QDBusConnectionManager::run (this=0x7f9e4a45c400 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/dbus/qdbusconnection.cpp:189 #8 0x00007f9e49bb8c99 in QThreadPrivate::start (arg=0x7f9e4a45c400 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/thread/qthread_unix.cpp:341 #9 0x00007f9e45a3f184 in start_thread (arg=0x7f9e2d363700) at pthread_create.c:312 #10 0x00007f9e4921137d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 1 (Thread 0x7f9e4e6ef780 (LWP 22409)): [KCrash Handler] #6 0x0000000000000a41 in ?? () #7 0x00007f9e49db4717 in cleanup (pointer=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/include/QtCore/../../src/corelib/tools/qscopedpointer.h:54 #8 ~QScopedPointer (this=0x1a27588, __in_chrg=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/include/QtCore/../../src/corelib/tools/qscopedpointer.h:101 #9 QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/kernel/qobject.cpp:893 #10 0x00007f9e49db4849 in QObject::~QObject (this=0x1a27580, __in_chrg=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/kernel/qobject.cpp:1042 #11 0x00000000004476e9 in KateMainWindow::showPluginConfigPage(KTextEditor::Plugin*, unsigned int) () #12 0x0000000000468a32 in KateMainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () #13 0x00007f9e49dad199 in QMetaObject::activate (sender=sender@entry=0x11db090, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc7a1df190) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/kernel/qobject.cpp:3730 #14 0x00007f9e49dad757 in QMetaObject::activate (sender=sender@entry=0x11db090, m=m@entry=0x7f9e4b924c40 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc7a1df190) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/kernel/qobject.cpp:3595 #15 0x00007f9e4b247b92 in QAction::triggered (this=this@entry=0x11db090, _t1=false) at .moc/moc_qaction.cpp:369 #16 0x00007f9e4b24a470 in QAction::activate (this=0x11db090, event=<optimized out>) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/kernel/qaction.cpp:1163 #17 0x00007f9e4b3c5c42 in QMenuPrivate::activateCausedStack (this=this@entry=0x109d3f0, causedStack=..., action=action@entry=0x11db090, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/widgets/qmenu.cpp:1130 #18 0x00007f9e4b3cba16 in QMenuPrivate::activateAction (this=this@entry=0x109d3f0, action=action@entry=0x11db090, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/widgets/qmenu.cpp:1207 #19 0x00007f9e4b3cfb09 in QMenu::mouseReleaseEvent (this=<optimized out>, e=0x7ffc7a1df750) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/widgets/qmenu.cpp:2634 #20 0x00007f9e4b292ee8 in QWidget::event (this=this@entry=0x12000f0, event=event@entry=0x7ffc7a1df750) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/kernel/qwidget.cpp:9114 #21 0x00007f9e4b3d058b in QMenu::event (this=0x12000f0, e=0x7ffc7a1df750) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/widgets/qmenu.cpp:2748 #22 0x00007f9e4b25091c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x12000f0, e=0x7ffc7a1df750) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/kernel/qapplication.cpp:3804 #23 0x00007f9e4b25632e in QApplication::notify (this=<optimized out>, receiver=0x12000f0, e=0x7ffc7a1df750) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/kernel/qapplication.cpp:3277 #24 0x00007f9e49d806a8 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x12000f0, event=event@entry=0x7ffc7a1df750) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/kernel/qcoreapplication.cpp:1020 #25 0x00007f9e4b255095 in sendEvent (event=<optimized out>, receiver=<optimized out>) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/include/QtCore/../../src/corelib/kernel/qcoreapplication.h:225 #26 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x12000f0, event=event@entry=0x7ffc7a1df750, alienWidget=0x0, alienWidget@entry=0x12000f0, nativeWidget=0x12000f0, buttonDown=buttonDown@entry=0x7f9e4b95b770 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/kernel/qapplication.cpp:2775 #27 0x00007f9e4b2ad1d7 in QWidgetWindow::handleMouseEvent (this=this@entry=0x1539a30, event=event@entry=0x7ffc7a1dfb40) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/kernel/qwidgetwindow.cpp:501 #28 0x00007f9e4b2af3fb in QWidgetWindow::event (this=0x1539a30, event=0x7ffc7a1dfb40) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/kernel/qwidgetwindow.cpp:233 #29 0x00007f9e4b25091c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1539a30, e=0x7ffc7a1dfb40) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/kernel/qapplication.cpp:3804 #30 0x00007f9e4b255ab6 in QApplication::notify (this=0x7ffc7a1e0028, receiver=0x1539a30, e=0x7ffc7a1dfb40) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/widgets/kernel/qapplication.cpp:3561 #31 0x00007f9e49d806a8 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x1539a30, event=event@entry=0x7ffc7a1dfb40) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/kernel/qcoreapplication.cpp:1020 #32 0x00007f9e4aa07690 in sendSpontaneousEvent (event=0x7ffc7a1dfb40, receiver=0x1539a30) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228 #33 QGuiApplicationPrivate::processMouseEvent (e=0x1b55cd0) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/gui/kernel/qguiapplication.cpp:1881 #34 0x00007f9e4aa090d5 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x1b55cd0) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/gui/kernel/qguiapplication.cpp:1665 #35 0x00007f9e4a9e851b in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:648 #36 0x00007f9e3e2313e0 in userEventSourceDispatch (source=<optimized out>) at /opt/local/var/macports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:70 #37 0x00007f9e45526e04 in g_main_dispatch (context=0x7f9e34003000) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3064 #38 g_main_context_dispatch (context=context@entry=0x7f9e34003000) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3663 #39 0x00007f9e45527048 in g_main_context_iterate (context=context@entry=0x7f9e34003000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3734 #40 0x00007f9e455270ec in g_main_context_iteration (context=0x7f9e34003000, may_block=may_block@entry=1) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3795 #41 0x00007f9e49dd460f in QEventDispatcherGlib::processEvents (this=0xb0f7c0, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:417 #42 0x00007f9e49d7e56a in QEventLoop::exec (this=this@entry=0x7ffc7a1dfeb0, flags=..., flags@entry=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/kernel/qeventloop.cpp:204 #43 0x00007f9e49d8696d in QCoreApplication::exec () at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.6.1/qtbase/src/corelib/kernel/qcoreapplication.cpp:1290 #44 0x0000000000440540 in main () Possible duplicates by query: bug 350668, bug 347134, bug 345908, bug 344044, bug 337256. Reported using DrKonqi (In reply to Christoph Cullmann from comment #3) > That makes no sense for me and I rather have such crashs than uglifying all > our code base for no real reason. (if users script stuff via dbus + do GUI > interactions during that scripts are running, they are doomed) I don't disagree. Until there grows some widespread habit of using DBus calls programmatically, maybe? > I don't disagree. Until there grows some widespread habit of using DBus calls programmatically, maybe?
=> Yeah, if that ever happens, perhaps, but for editing automation one more should write the javascripts we support.
|