SUMMARY When trying to add a inline or popup note, closing the yellow note editor window crash Okular. STEPS TO REPRODUCE 1. Open okular 2. Open a PDF file 3. In the top left, click "Annotations" to make the annotation bar appear 4. Click the "inline note" or "popup note" button 5. Click anywhere on the PDF file to open the yellow note editor window. 6. Close the yellow note editor window OBSERVED RESULT Okular crash EXPECTED RESULT Okular doesn't crash SOFTWARE/OS VERSIONS Linux/KDE Plasma: KDE Neon Version: 6.0 KDE Plasma Version: 6.0.2 KDE Frameworks Version: 6.0.0 Qt Version: 6.6.2 ADDITIONAL INFORMATION Graphics Platform: Wayland Log: ``` Unable to open QuickAnnotatingTools XML definition ASSERT failure in AnnotWindow: "Called object is not of the correct type (class destructor may have already run)", file /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h, line 129 KCrash: Application 'okular' crashing... crashRecursionCounter = 2 QSocketNotifier: Invalid socket 6 and type 'Read', disabling... QSocketNotifier: Invalid socket 15 and type 'Read', disabling... KCrash: Application Name = okular path = /usr/bin pid = 16287 KCrash: Arguments: /usr/bin/okular KCrash: Attempting to start /usr/lib/x86_64-linux-gnu/libexec/drkonqi void ReportInterface::maybePickUpPostbox() kf5idletime_wayland: This plugin does not support polling idle time 29 ../sysdeps/unix/sysv/linux/poll.c: No such file or directory. void ReportInterface::maybePickUpPostbox() fish: Job 1, 'okular' has stopped ```
Please provide a more complete backtrace of the crash https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
Here is the backtrace, thank you for letting me know I need to provide it. Application: Okular (okular), signal: Aborted [KCrash Handler] #4 __pthread_kill_implementation (no_tid=0, signo=6, threadid=132423880485568) at ./nptl/pthread_kill.c:44 #5 __pthread_kill_internal (signo=6, threadid=132423880485568) at ./nptl/pthread_kill.c:78 #6 __GI___pthread_kill (threadid=132423880485568, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #7 0x0000787059e42476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #8 0x0000787059e287f3 in __GI_abort () at ./stdlib/abort.c:79 #9 0x000078705aadb597 in qAbort () at ./src/corelib/global/qglobal.cpp:161 #10 0x000078705aad67f5 in qt_message_fatal<QString&> (message=..., context=...) at ./src/corelib/global/qlogging.cpp:2003 #11 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=<optimized out>, ap=ap@entry=0x7ffd7668db60) at ./src/corelib/global/qlogging.cpp:378 #12 0x000078705aadbfc3 in QMessageLogger::fatal (this=<optimized out>, msg=<optimized out>) at ./src/corelib/global/qlogging.cpp:901 #13 0x000078705aaa0387 in qt_assert_x (where=<optimized out>, what=what@entry=0x7870445dae98 "Called object is not of the correct type (class destructor may have already run)", file=file@entry=0x7870445dae58 "/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h", line=line@entry=129) at ./src/corelib/global/qassert.cpp:77 #14 0x000078704450698d in QtPrivate::assertObjectType<AnnotWindow> (o=<optimized out>) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:129 #15 0x0000787044506c46 in QtPrivate::assertObjectType<AnnotWindow> (o=0x5e149821f160) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:526 #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (AnnotWindow::*)()>::call(void (AnnotWindow::*)(), AnnotWindow*, void**) (arg=<optimized out>, o=0x5e149821f160, f=(void (AnnotWindow::*)(AnnotWindow * const)) 0x787044508c10 <AnnotWindow::slotsaveWindowText()>) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:144 #17 QtPrivate::FunctionPointer<void (AnnotWindow::*)()>::call<QtPrivate::List<>, void>(void (AnnotWindow::*)(), AnnotWindow*, void**) (arg=<optimized out>, o=0x5e149821f160, f=(void (AnnotWindow::*)(AnnotWindow * const)) 0x787044508c10 <AnnotWindow::slotsaveWindowText()>) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:182 #18 QtPrivate::QCallableObject<void (AnnotWindow::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=<optimized out>, r=0x5e149821f160, a=<optimized out>, ret=<optimized out>) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:520 #19 0x000078705aa3c3ce in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:433 #20 doActivate<false> (sender=0x5e1497de9d90, signal_index=7, argv=0x7ffd7668dd28) at ./src/corelib/kernel/qobject.cpp:4039 #21 0x000078705aa3c6ab in doActivate<false> (sender=0x5e1498508e00, signal_index=3, argv=0x7ffd7668ddf8) at ./src/corelib/kernel/qobject.cpp:4051 #22 0x000078705ba13c28 in QWidgetTextControl::qt_metacall (this=0x5e1498508e00, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7ffd7668def8) at ./obj-x86_64-linux-gnu/src/widgets/Widgets_autogen/include/moc_qwidgettextcontrol_p.cpp:741 #23 0x000078705aa3c4b8 in doActivate<false> (sender=0x5e1498508e50, signal_index=4, argv=0x7ffd7668def8) at ./src/corelib/kernel/qobject.cpp:4065 #24 0x000078705b14ab3c in QTextDocumentPrivate::finishEdit (this=0x5e1498261020) at ./src/gui/text/qtextdocument_p.cpp:1218 #25 0x000078705b129961 in QSyntaxHighlighter::setDocument (this=this@entry=0x5e14984d6f10, doc=doc@entry=0x0) at ./src/gui/text/qsyntaxhighlighter.cpp:302 #26 0x000078705b129dbd in QSyntaxHighlighter::~QSyntaxHighlighter (this=<optimized out>, this=<optimized out>) at ./src/gui/text/qsyntaxhighlighter.cpp:284 #27 0x000078704c02dd5d in Sonnet::Highlighter::~Highlighter (this=<optimized out>, this=<optimized out>) at ./src/ui/highlighter.cpp:168 #28 0x000078705a9cb2ca in QObjectPrivate::deleteChildren (this=this@entry=0x5e14984d4040) at ./src/corelib/kernel/qobject.cpp:2207 #29 0x000078705a9d2198 in QObject::~QObject (this=<optimized out>, this=<optimized out>) at ./src/corelib/kernel/qobject.cpp:1159 #30 0x000078704c02e253 in Sonnet::SpellCheckDecorator::~SpellCheckDecorator (this=<optimized out>, this=<optimized out>) at ./src/ui/spellcheckdecorator.cpp:234 #31 0x000078704c410627 in KTextDecorator::~KTextDecorator (this=<optimized out>, this=<optimized out>) at ./src/widgets/ktextedit.cpp:32 #32 KTextDecorator::~KTextDecorator (this=<optimized out>, this=<optimized out>) at ./src/widgets/ktextedit.cpp:32 #33 0x000078704c4077f6 in KTextEditPrivate::~KTextEditPrivate (this=<optimized out>, this=<optimized out>) at ./src/widgets/ktextedit_p.h:47 #34 0x000078704c40792d in KTextEditPrivate::~KTextEditPrivate (this=<optimized out>, this=<optimized out>) at ./src/widgets/ktextedit_p.h:56 #35 0x000078704c40f5ff in std::default_delete<KTextEditPrivate>::operator() (__ptr=<optimized out>, this=<optimized out>) at /usr/include/c++/11/bits/unique_ptr.h:85 #36 std::unique_ptr<KTextEditPrivate, std::default_delete<KTextEditPrivate> >::~unique_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/11/bits/unique_ptr.h:361 #37 KTextEdit::~KTextEdit (this=<optimized out>, this=<optimized out>) at ./src/widgets/ktextedit.cpp:258 #38 0x000078704c40f61d in KTextEdit::~KTextEdit (this=<optimized out>, this=<optimized out>) at ./src/widgets/ktextedit.cpp:258 #39 0x000078705a9cb2ca in QObjectPrivate::deleteChildren (this=this@entry=0x5e1497dbaac0) at ./src/corelib/kernel/qobject.cpp:2207 #40 0x000078705bc18458 in QWidget::~QWidget (this=<optimized out>, this=<optimized out>) at ./src/widgets/kernel/qwidget.cpp:1532 #41 0x0000787044508bdd in AnnotWindow::~AnnotWindow (this=<optimized out>, this=<optimized out>) at ./part/annotwindow.cpp:272 #42 0x000078705a9cc793 in QObject::event (this=0x5e149821f160, e=0x5e149811d0d0) at ./src/corelib/kernel/qobject.cpp:1424 #43 0x000078705bb6d626 in QFrame::event (this=0x5e149821f160, e=0x5e149811d0d0) at ./src/widgets/widgets/qframe.cpp:515 #44 0x000078705bbf181b in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5e149821f160, e=0x5e149811d0d0) at ./src/widgets/kernel/qapplication.cpp:3296 #45 0x000078705aa75e08 in QCoreApplication::notifyInternal2 (receiver=0x5e149821f160, event=event@entry=0x5e149811d0d0) at ./src/corelib/kernel/qcoreapplication.cpp:1121 #46 0x000078705aa75e4d in QCoreApplication::sendEvent (receiver=<optimized out>, event=event@entry=0x5e149811d0d0) at ./src/corelib/kernel/qcoreapplication.cpp:1539 #47 0x000078705aa76000 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5e1497359db0) at ./src/corelib/kernel/qcoreapplication.cpp:1901 #48 0x000078705a8584f7 in postEventSourceDispatch (s=0x5e1497431eb0) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:243 #49 0x0000787059990d3b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #50 0x00007870599e6258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #51 0x000078705998e3e3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #52 0x000078705a855c30 in QEventDispatcherGlib::processEvents (this=0x5e1497373a60, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393 #53 0x000078705aa7fceb in QEventLoop::exec (this=0x7ffd7668e6d0, flags=...) at ./src/corelib/global/qflags.h:34 #54 0x000078705aa7a36c in QCoreApplication::exec () at ./src/corelib/global/qflags.h:74 #55 0x000078705aee9a20 in QGuiApplication::exec () at ./src/gui/kernel/qguiapplication.cpp:1925 #56 0x000078705bbee469 in QApplication::exec () at ./src/widgets/kernel/qapplication.cpp:2574 #57 0x00005e14954643bf in main (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:103 [Inferior 1 (process 13575) detached]
ah, you need to enable spell checking to get it to crash
A possibly relevant merge request was started @ https://invent.kde.org/graphics/okular/-/merge_requests/958
Git commit 2c83ccf4fa6258492d6e09948649bf1cd88f9d81 by Albert Astals Cid. Committed on 22/03/2024 at 23:02. Pushed by aacid into branch 'master'. Fix crash on closing Annot Window if spell checking is enabled M +1 -0 part/annotwindow.cpp https://invent.kde.org/graphics/okular/-/commit/2c83ccf4fa6258492d6e09948649bf1cd88f9d81
Git commit b91bd57f6b79a92a8981fc7b17426a1391ab1e52 by Albert Astals Cid. Committed on 22/03/2024 at 23:34. Pushed by aacid into branch 'release/24.02'. Fix crash on closing Annot Window if spell checking is enabled (cherry picked from commit 2c83ccf4fa6258492d6e09948649bf1cd88f9d81) M +1 -0 part/annotwindow.cpp https://invent.kde.org/graphics/okular/-/commit/b91bd57f6b79a92a8981fc7b17426a1391ab1e52
*** Bug 484524 has been marked as a duplicate of this bug. ***
*** Bug 484929 has been marked as a duplicate of this bug. ***