Digikam 8.0.0 in Ubuntu Lunar (in Docker container) segfaults in QObject::removeEventFilter when closing modal dialogs

Gilles Caulier caulier.gilles at gmail.com
Sun Aug 6 22:14:33 BST 2023


Hi,

This problem is known and already fixed in 8.1.0. Switch immediately
to the last stable to solve the problem

Best regards

Gilles Caulier

Le dim. 6 août 2023 à 23:06, Tobias Langner <tlangner at bitvalve.org> a écrit :
>
> I run Digikam 8.0.0 in a Docker container for Ubuntu Lunar on my server,
> and I expose it to various users in my network through VNC. This setup
> generally works well and serves my purposes.
>
> As of recently, I've noticed Digikam crashing on various seemingly
> innocuous actions such as closing the settings dialog or creating a new
> album. I have the hunch that it always crashes when a modal dialog is
> closed, but I'm not 100% certain whether this is all that is needed.
> Closing a non-modal dialog does not make it crash.
>
> I ran Digikam (following the docs) with export
> QT_LOGGING_RULES="digikam*=true" but there is absolutely no log output
> before the crash happens (might be due to logs not being flushed). So I
> used gdb to debug the crash and low and behold I get
>
> Thread 1 "digikam" received signal SIGSEGV, Segmentation fault.
> 0x00007ffff53e493e in QObject::removeEventFilter(QObject*) ()
>     from /lib/x86_64-linux-gnu/libQt5Core.so.
>
> with stacktrace [1]. Now I am at a loss how to continue debugging. Could
> someone help me out here?
>
> My Docker container is fairly minimal, so it is quite possible that
> digikam is missing some dependency which might be responsible for the
> crash. Then again, I installed digikam using apt satisfying all
> dependencies, so I'm not sure.
>
> Thanks for your help, best,
>
>    Tobias
>
> [1]
> #0  0x00007ffff53e493e in QObject::removeEventFilter(QObject*) ()
>     from /lib/x86_64-linux-gnu/libQt5Core.so.5
> #1  0x00007ffff065729a in
> Sonnet::SpellCheckDecorator::~SpellCheckDecorator()
>      () from /lib/x86_64-linux-gnu/libKF5SonnetUi.so.5
> #2  0x00007ffff06572cd in
> Sonnet::SpellCheckDecorator::~SpellCheckDecorator()
>      () from /lib/x86_64-linux-gnu/libKF5SonnetUi.so.5
> #3  0x00007ffff53d98ae in QObjectPrivate::deleteChildren() ()
>     from /lib/x86_64-linux-gnu/libQt5Core.so.5
> #4  0x00007ffff5edc586 in QWidget::~QWidget() ()
>     from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #5  0x00007ffff6e732cd in Digikam::DTextEdit::~DTextEdit() ()
>     from /usr/lib/digikam/libdigikamcore.so.8.0.0
> #6  0x00007ffff53d98ae in QObjectPrivate::deleteChildren() ()
>     from /lib/x86_64-linux-gnu/libQt5Core.so.5
> #7  0x00007ffff5edc586 in QWidget::~QWidget() ()
>     from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #8  0x00007ffff5edc8cd in QWidget::~QWidget() ()
>     from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #9  0x00007ffff53d98ae in QObjectPrivate::deleteChildren() ()
>     from /lib/x86_64-linux-gnu/libQt5Core.so.5
> #10 0x00007ffff5edc586 in QWidget::~QWidget() ()
>     from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #11 0x00007ffff5edc8cd in QWidget::~QWidget() (
> #12 0x00007ffff53d98ae in QObjectPrivate::deleteChildren() () from
> /lib/x86_64-linux-gnu/libQt5Core.so.5
> #13 0x00007ffff5edc586 in QWidget::~QWidget() () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #14 0x00007ffff7bac4fb in ?? () from /usr/lib/digikam/libdigikamgui.so.8.0.0
> #15 0x00007ffff53d98ae in QObjectPrivate::deleteChildren() () from
> /lib/x86_64-linux-gnu/libQt5Core.so.5
> #16 0x00007ffff5edc586 in QWidget::~QWidget() () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #17 0x00007ffff60586bd in QStackedWidget::~QStackedWidget() () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #18 0x00007ffff53d98ae in QObjectPrivate::deleteChildren() () from
> /lib/x86_64-linux-gnu/libQt5Core.so.5
> #19 0x00007ffff5edc586 in QWidget::~QWidget() () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #20 0x00007ffff607bf7d in QTabWidget::~QTabWidget() () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #21 0x00007ffff53d98ae in QObjectPrivate::deleteChildren() () from
> /lib/x86_64-linux-gnu/libQt5Core.so.5
> #22 0x00007ffff5edc586 in QWidget::~QWidget() () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #23 0x00007ffff5edc8cd in QWidget::~QWidget() () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #24 0x00007ffff53d98ae in QObjectPrivate::deleteChildren() () from
> /lib/x86_64-linux-gnu/libQt5Core.so.5
> #25 0x00007ffff5edc586 in QWidget::~QWidget() () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #26 0x00007ffff7ba6f2b in ?? () from /usr/lib/digikam/libdigikamgui.so.8.0.0
> #27 0x00007ffff53d98ae in QObjectPrivate::deleteChildren() () from
> /lib/x86_64-linux-gnu/libQt5Core.so.5
> #28 0x00007ffff5edc586 in QWidget::~QWidget() () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #29 0x00007ffff6e9c631 in ?? () from
> /usr/lib/digikam/libdigikamcore.so.8.0.0
> #30 0x00007ffff53d98ae in QObjectPrivate::deleteChildren() () from
> /lib/x86_64-linux-gnu/libQt5Core.so.5
> #31 0x00007ffff5edc586 in QWidget::~QWidget() () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #32 0x00007ffff6ebd12d in Digikam::DConfigDlgWdg::~DConfigDlgWdg() ()
> from /usr/lib/digikam/libdigikamcore.so.8.0.0
> #33 0x00007ffff53d98ae in QObjectPrivate::deleteChildren() () from
> /lib/x86_64-linux-gnu/libQt5Core.so.5
> #34 0x00007ffff5edc586 in QWidget::~QWidget() () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #35 0x00007ffff7b92338 in ?? () from /usr/lib/digikam/libdigikamgui.so.8.0.0
> #36 0x00007ffff53e79dc in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
> #37 0x00007ffff5e97546 in QAction::triggered(bool) () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #38 0x00007ffff5e9a203 in QAction::activate(QAction::ActionEvent) ()
> from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #39 0x00007ffff6023342 in ?? () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #40 0x00007ffff602b24c in ?? () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #41 0x00007ffff5ee0c28 in QWidget::event(QEvent*) () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #42 0x00007ffff5e9df92 in QApplicationPrivate::notify_helper(QObject*,
> QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #43 0x00007ffff5ea6612 in QApplication::notify(QObject*, QEvent*) ()
> from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #44 0x00007ffff53aee38 in QCoreApplication::notifyInternal2(QObject*,
> QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
> #45 0x00007ffff5ea4712 in QApplicationPrivate::sendMouseEvent(QWidget*,
> QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool,
> bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #46 0x00007ffff5efa625 in ?? () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #47 0x00007ffff5efd590 in ?? () from
> /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #48 0x00007ffff5e9df92 in QApplicationPrivate::notify_helper(QObject*,
> QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #49 0x00007ffff53aee38 in QCoreApplication::notifyInternal2(QObject*,
> QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
> #50 0x00007ffff579740d in
> QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
> () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
> #51 0x00007ffff576b4bc in
> QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
> () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
> #52 0x00007fffd2c1954e in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
> #53 0x00007fffe5ecd49d in g_main_context_dispatch () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #54 0x00007fffe5f28178 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #55 0x00007fffe5ecc1b0 in g_main_context_iteration () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #56 0x00007ffff5408e7a in
> QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
> () from /lib/x86_64-linux-gnu/libQt5Core.so.5
> #57 0x00007ffff53ad7cb in
> QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
> /lib/x86_64-linux-gnu/libQt5Core.so.5
> #58 0x00007ffff53b5c1a in QCoreApplication::exec() () from
> /lib/x86_64-linux-gnu/libQt5Core.so.5
> #59 0x000055555555a9a1 in ?? ()
> #60 0x00007ffff4c80a90 in __libc_start_call_main
> (main=main at entry=0x555555559800, argc=argc at entry=1,
> argv=argv at entry=0x7fffffffec68) at ../sysdeps/nptl/libc_start_call_main.h:58
> #61 0x00007ffff4c80b49 in __libc_start_main_impl (main=0x555555559800,
> argc=1, argv=0x7fffffffec68, init=<optimized out>, fini=<optimized out>,
> rtld_fini=<optimized out>, stack_end=0x7fffffffec58)
>      at ../csu/libc-start.c:360
> #62 0x000055555555b4d5 in ?? ()
>


More information about the Digikam-users mailing list