| Summary: | crash in qxdgdesktopportalfiledialog with krita 4.4 beta | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] flatpak-platform-plugin | Reporter: | Peter Eszlari <peter.eszlari> |
| Component: | general | Assignee: | Jan Grulich <jgrulich> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | jgrulich, m.weghorn |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Flatpak | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
Looks like a recent change in Qt is causing this crash: https://codereview.qt-project.org/c/qt/qtbase/+/308145 I notified the author of the change and if he doesn't respond, I will try to investigate or temporarily revert it. (In reply to Jan Grulich from comment #1) > Looks like a recent change in Qt is causing this crash: > https://codereview.qt-project.org/c/qt/qtbase/+/308145 > > I notified the author of the change and if he doesn't respond, I will try to > investigate or temporarily revert it. Probably the same issue as reported in https://bugreports.qt.io/browse/QTBUG-87143, which includes a small sample program . I hope I'll be able to take a look today or tomorrow. Thankfully, Giuseppe D'Angelo has already submitted a patch to Qt's Gerrit: https://codereview.qt-project.org/c/qt/qtbase/+/316248 It no longer crashes with the updated runtime, however there is still this issue that the saving dialog freezes whole application upon confirmation. (In reply to Jan Grulich from comment #5) > It no longer crashes with the updated runtime, however there is still this > issue that the saving dialog freezes whole application upon confirmation. Is this also related to https://codereview.qt-project.org/c/qt/qtbase/+/308145 or a different issue? (In reply to Michael Weghorn from comment #6) > (In reply to Jan Grulich from comment #5) > > It no longer crashes with the updated runtime, however there is still this > > issue that the saving dialog freezes whole application upon confirmation. > > Is this also related to > https://codereview.qt-project.org/c/qt/qtbase/+/308145 or a different issue? Completely different issue: https://bugs.kde.org/show_bug.cgi?id=408341 It should be fixed with the updated runtime or with updated Krita if they backport the fix to their bundled Qt. |
1. install krita 4.4 beta from the flathub-beta repro 2. create new file 3. try to save file Thread 1 "krita" received signal SIGSEGV, Segmentation fault. QString::QString (other=..., this=0x555560334a00) at ../../../../include/QtCore/../../src/corelib/text/qstring.h:1089 1089 ../../../../include/QtCore/../../src/corelib/text/qstring.h: No such file or directory. (gdb) bt #0 QString::QString (other=..., this=0x555560334a00) at ../../../../include/QtCore/../../src/corelib/text/qstring.h:1089 #1 QXdgDesktopPortalFileDialog::Filter::Filter (this=0x555560334a00) at qxdgdesktopportalfiledialog_p.h:66 #2 QtMetaTypePrivate::QMetaTypeFunctionHelper<QXdgDesktopPortalFileDialog::Filter, true>::Construct (where=0x555560334a00, t=0x5555621cba48) at ../../../../include/QtCore/../../src/corelib/kernel/qmetatype.h:825 #3 0x00007ffff4a620ce in QMetaType::construct (copy=0x5555621cba48, where=0x555560334a00, this=0x7fffffffc620) at ../../include/QtCore/../../src/corelib/kernel/qmetatype.h:2366 #4 (anonymous namespace)::customConstruct (d=0x7fffffffc7b0, copy=0x5555621cba48) at kernel/qvariant.cpp:1478 #5 0x00007ffff4a623dd in QVariant::QVariant (this=0x7fffffffc7b0, typeId=<optimized out>, copy=<optimized out>, flags=<optimized out>) at kernel/qvariant.cpp:2144 #6 0x00007fffef80e95c in QVariant::fromValue<QXdgDesktopPortalFileDialog::Filter> (value=...) at qxdgdesktopportalfiledialog_p.h:104 #7 QXdgDesktopPortalFileDialog::openPortal (this=this@entry=0x5555622d4b60) at qxdgdesktopportalfiledialog.cpp:277 #8 0x00007fffef80f3cd in QXdgDesktopPortalFileDialog::show (this=0x5555622d4b60, windowFlags=..., windowModality=Qt::WindowModal, parent=0x55555f8efef0) at qxdgdesktopportalfiledialog.cpp:434 #9 0x00007ffff57e69e7 in QDialogPrivate::setNativeDialogVisible (this=this@entry=0x555560946840, visible=visible@entry=true) at ../../include/QtWidgets/../../src/widgets/kernel/qwidget.h:771 #10 0x00007ffff57f925e in QFileDialog::setVisible (this=0x555564c6bf10, visible=<optimized out>) at dialogs/qfiledialog.cpp:882 #11 0x00007ffff57e7be0 in QDialog::exec (this=0x555564c6bf10) at dialogs/qdialog.cpp:593 #12 0x00007ffff5c41e19 in KoFileDialog::filename (this=this@entry=0x7fffffffcaf0) at /usr/include/QtCore/qscopedpointer.h:116 #13 0x00007ffff710ed9f in KisMainWindow::saveDocument (this=0x555557207430, document=0x5555621af2c0, saveas=<optimized out>, isExporting=false) at ../libs/ui/KisMainWindow.cpp:1281 #14 0x00007ffff7110544 in KisMainWindow::slotFileSave (this=0x555557207430) at /usr/include/c++/10.2.0/bits/atomic_base.h:420 #15 0x00007ffff4a595f0 in doActivate<false> (sender=0x555561bc97c0, signal_index=4, argv=argv@entry=0x7fffffffccc0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 #16 0x00007ffff4a52910 in QMetaObject::activate (sender=sender@entry=0x555561bc97c0, m=m@entry=0x7ffff5ae6d20 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fffffffccc0) at kernel/qobject.cpp:3946 #17 0x00007ffff55e8b52 in QAction::triggered (this=this@entry=0x555561bc97c0, _t1=<optimized out>) at .moc/moc_qaction.cpp:376 #18 0x00007ffff55eb391 in QAction::activate (this=0x555561bc97c0, event=<optimized out>) at kernel/qaction.cpp:1161 #19 0x00007ffff56dde42 in QAbstractButtonPrivate::click (this=this@entry=0x555561d7fbc0) at widgets/qabstractbutton.cpp:941 #20 0x00007ffff56ddf61 in QAbstractButton::mouseReleaseEvent (this=0x555561d7f7a0, e=0x7fffffffd320) at widgets/qabstractbutton.cpp:1044 #21 0x00007ffff57cd76a in QToolButton::mouseReleaseEvent (this=<optimized out>, e=<optimized out>) at widgets/qtoolbutton.cpp:622 #22 0x00007ffff562ef8e in QWidget::event (this=0x555561d7f7a0, event=0x7fffffffd320) at kernel/qwidget.cpp:9019 #23 0x00007ffff55ef14f in QApplicationPrivate::notify_helper (this=this@entry=0x55555706a2a0, receiver=receiver@entry=0x555561d7f7a0, e=e@entry=0x7fffffffd320) at kernel/qapplication.cpp:3630 #24 0x00007ffff55f603b in QApplication::notify (this=0x7fffffffcfa0, receiver=receiver@entry=0x555561d7f7a0, e=e@entry=0x7fffffffd320) at kernel/qapplication.cpp:3074 #25 0x00007ffff70d90ed in KisApplication::notify (this=<optimized out>, receiver=0x555561d7f7a0, event=0x7fffffffd320) at ../libs/ui/KisApplication.cpp:688 #26 0x00007ffff4a22fda in QCoreApplication::notifyInternal2 (receiver=0x555561d7f7a0, event=0x7fffffffd320) at ../../include/QtCore/5.15.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325 #27 0x00007ffff55f5066 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x555561d7f7a0, event=event@entry=0x7fffffffd320, alienWidget=alienWidget@entry=0x555561d7f7a0, nativeWidget=0x555557207430, buttonDown=buttonDown@entry=0x7ffff5b159f0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614 #28 0x00007ffff5646fd1 in QWidgetWindow::handleMouseEvent (this=0x55555f8efef0, event=0x7fffffffd660) at /usr/include/c++/10.2.0/bits/atomic_base.h:420 #29 0x00007ffff564a2fe in QWidgetWindow::event (this=0x55555f8efef0, event=0x7fffffffd660) at kernel/qwidgetwindow.cpp:300 #30 0x00007ffff55ef14f in QApplicationPrivate::notify_helper (this=this@entry=0x55555706a2a0, receiver=receiver@entry=0x55555f8efef0, e=e@entry=0x7fffffffd660) at kernel/qapplication.cpp:3630 #31 0x00007ffff55f5d58 in QApplication::notify (this=<optimized out>, receiver=receiver@entry=0x55555f8efef0, e=e@entry=0x7fffffffd660) at kernel/qapplication.cpp:3376 #32 0x00007ffff70d90ed in KisApplication::notify (this=<optimized out>, receiver=0x55555f8efef0, event=0x7fffffffd660) at ../libs/ui/KisApplication.cpp:688 #33 0x00007ffff4a22fda in QCoreApplication::notifyInternal2 (receiver=0x55555f8efef0, event=0x7fffffffd660) at ../../include/QtCore/5.15.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325 #34 0x00007ffff4ede39b in QGuiApplicationPrivate::processMouseEvent (e=0x5555621bfda0) at kernel/qguiapplication.cpp:2270 #35 0x00007ffff4eb455b in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1175 #36 0x00007fffef7292ea in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105 #37 0x00007ffff054b87b in g_main_dispatch (context=0x7fffe8005000) at ../glib/gmain.c:3309 #38 g_main_context_dispatch (context=0x7fffe8005000) at ../glib/gmain.c:3974 #39 0x00007ffff054bb28 in g_main_context_iterate (context=context@entry=0x7fffe8005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4047 #40 0x00007ffff054bbf3 in g_main_context_iteration (context=0x7fffe8005000, may_block=may_block@entry=1) at ../glib/gmain.c:4108 #41 0x00007ffff4a7a52f in QEventDispatcherGlib::processEvents (this=0x5555573f35e0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #42 0x00007ffff4a2199b in QEventLoop::exec (this=this@entry=0x7fffffffd990, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #43 0x00007ffff4a29c10 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #44 0x0000555555e28f5f in main (argc=<optimized out>, argv=0x7fffffffdcc8) at ../krita/main.cc:620