Bug 458138

Summary: Crash when adding new items to the Batch Queue Manager
Product: [Applications] digikam Reporter: András Manţia <amantia>
Component: BatchQueueManager-CoreAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, metzpinguin
Priority: NOR Keywords: drkonqi
Version: 7.7.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 7.9.0
Sentry Crash Report:

Description András Manţia 2022-08-21 09:55:53 UTC
Application: digikam (7.7.0)

Qt Version: 5.15.5
Frameworks Version: 5.97.0
Operating System: Linux 5.14.21-150400.24.18-default x86_64
Windowing System: X11
Distribution: openSUSE Leap 15.4
DrKonqi: 5.25.4 [KCrashBackend]

-- Information about the crash:
After drag & dropping the second file into the Batcj Queue Manager, digikam crashes. It is always reproducible.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault

[KCrash Handler]
#4  0x00007fcb19048c83 in QModelIndex::parent() const (this=0x559b3535f1d0) at ../../include/QtCore/../../src/corelib/itemmodels/qabstractitemmodel.h:443
#5  QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const (this=0x559b366be1b0, painter=0x7ffcc6f3b6d8, option=..., index=...) at itemviews/qtreeview.cpp:1610
#6  0x00007fcb1b965b9f in  () at /usr/lib64/libdigikamgui.so.7.7.0
#7  0x00007fcb1904ede1 in QTreeView::drawTree(QPainter*, QRegion const&) const (this=this@entry=0x559b366be1b0, painter=painter@entry=0x7ffcc6f3b6d8, region=...) at itemviews/qtreeview.cpp:1504
#8  0x00007fcb19052ef5 in QTreeView::paintEvent(QPaintEvent*) (this=0x559b366be1b0, event=0x7ffcc6f3bcd0) at itemviews/qtreeview.cpp:1332
#9  0x00007fcb18dc1c38 in QWidget::event(QEvent*) (this=this@entry=0x559b366be1b0, event=event@entry=0x7ffcc6f3bcd0) at kernel/qwidget.cpp:9033
#10 0x00007fcb18e690ce in QFrame::event(QEvent*) (this=0x559b366be1b0, e=0x7ffcc6f3bcd0) at widgets/qframe.cpp:550
#11 0x00007fcb18fe98a3 in QAbstractItemView::viewportEvent(QEvent*) (this=this@entry=0x559b366be1b0, event=event@entry=0x7ffcc6f3bcd0) at itemviews/qabstractitemview.cpp:1746
#12 0x00007fcb19053e1c in QTreeView::viewportEvent(QEvent*) (this=0x559b366be1b0, event=0x7ffcc6f3bcd0) at itemviews/qtreeview.cpp:1314
#13 0x00007fcb17dcef40 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (receiver=receiver@entry=0x559b366be4f0, event=event@entry=0x7ffcc6f3bcd0) at kernel/qcoreapplication.cpp:1190
#14 0x00007fcb18d81452 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x559b32d19890, receiver=receiver@entry=0x559b366be4f0, e=e@entry=0x7ffcc6f3bcd0) at kernel/qapplication.cpp:3631
#15 0x00007fcb18d8823f in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x559b366be4f0, e=0x7ffcc6f3bcd0) at kernel/qapplication.cpp:3161
#16 0x00007fcb17dcf1b3 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x559b366be4f0, event=0x7ffcc6f3bcd0) at kernel/qcoreapplication.cpp:1064
#17 0x00007fcb17dcf39e in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=receiver@entry=0x559b366be4f0, event=event@entry=0x7ffcc6f3bcd0) at kernel/qcoreapplication.cpp:1474
#18 0x00007fcb18dba135 in QWidgetPrivate::sendPaintEvent(QRegion const&) (this=this@entry=0x559b366c00c0, toBePainted=...) at kernel/qwidget.cpp:5467
#19 0x00007fcb18dbad1e in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b366c00c0, pdev=pdev@entry=0x559b3667e860, rgn=..., offset=..., flags=flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at kernel/qwidget.cpp:5417
#20 0x00007fcb18dbbbe0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b366bfc10, pdev=pdev@entry=0x559b3667e860, siblings=<optimized out>, index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x559b37d8bf10) at kernel/qwidget.cpp:5598
#21 0x00007fcb18dbbd69 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b366bfc10, pdev=pdev@entry=0x559b3667e860, siblings=<optimized out>, index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x559b37d8bf10) at kernel/qwidget.cpp:5584
#22 0x00007fcb18dbbd69 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b366bfc10, pdev=pdev@entry=0x559b3667e860, siblings=<optimized out>, index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x559b37d8bf10) at kernel/qwidget.cpp:5584
#23 0x00007fcb18dbbd69 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b366bfc10, pdev=pdev@entry=0x559b3667e860, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x559b37d8bf10) at kernel/qwidget.cpp:5584
#24 0x00007fcb18dba302 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b366bfc10, pdev=pdev@entry=0x559b3667e860, rgn=..., offset=..., flags=..., flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#25 0x00007fcb18dbbbe0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b35d792d0, pdev=pdev@entry=0x559b3667e860, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x559b37d8bf10) at kernel/qwidget.cpp:5598
#26 0x00007fcb18dba302 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b35d792d0, pdev=pdev@entry=0x559b3667e860, rgn=..., offset=..., flags=..., flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#27 0x00007fcb18dbbbe0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b37973a30, pdev=pdev@entry=0x559b3667e860, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x559b37d8bf10) at kernel/qwidget.cpp:5598
#28 0x00007fcb18dba302 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b37973a30, pdev=pdev@entry=0x559b3667e860, rgn=..., offset=..., flags=..., flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#29 0x00007fcb18dbbbe0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b37516a40, pdev=pdev@entry=0x559b3667e860, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x559b37d8bf10) at kernel/qwidget.cpp:5598
#30 0x00007fcb18dba302 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b37516a40, pdev=pdev@entry=0x559b3667e860, rgn=..., offset=..., flags=..., flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#31 0x00007fcb18dbbbe0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b37c3ebc0, pdev=pdev@entry=0x559b3667e860, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x559b37d8bf10) at kernel/qwidget.cpp:5598
#32 0x00007fcb18dba302 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b37c3ebc0, pdev=pdev@entry=0x559b3667e860, rgn=..., offset=..., flags=..., flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#33 0x00007fcb18dbbbe0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b37c69fd0, pdev=pdev@entry=0x559b3667e860, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x559b37d8bf10) at kernel/qwidget.cpp:5598
#34 0x00007fcb18dba302 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b37c69fd0, pdev=pdev@entry=0x559b3667e860, rgn=..., offset=..., flags=..., flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#35 0x00007fcb18dbbbe0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b37a68450, pdev=pdev@entry=0x559b3667e860, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x559b37d8bf10) at kernel/qwidget.cpp:5598
#36 0x00007fcb18dba302 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b37a68450, pdev=pdev@entry=0x559b3667e860, rgn=..., offset=..., flags=..., flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#37 0x00007fcb18dbbbe0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b379628a0, pdev=pdev@entry=0x559b3667e860, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x559b37d8bf10) at kernel/qwidget.cpp:5598
#38 0x00007fcb18dba302 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x559b379628a0, pdev=0x559b3667e860, rgn=..., offset=..., flags=..., flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#39 0x00007fcb18d919ed in QWidgetRepaintManager::paintAndFlush() (this=this@entry=0x559b37d8bf10) at kernel/qwidgetrepaintmanager.cpp:1009
#40 0x00007fcb18d92048 in QWidgetRepaintManager::sync() (this=0x559b37d8bf10) at kernel/qwidgetrepaintmanager.cpp:770
#41 0x00007fcb18dbb79f in QWidgetPrivate::syncBackingStore() (this=0x559b379628a0) at kernel/qwidget.cpp:1756
#42 0x00007fcb18dc1db8 in QWidget::event(QEvent*) (this=this@entry=0x559b3796c300, event=event@entry=0x7fca78011a30) at kernel/qwidget.cpp:8978
#43 0x00007fcb18ed33e0 in QMainWindow::event(QEvent*) (this=0x559b3796c300, event=0x7fca78011a30) at widgets/qmainwindow.cpp:1341
#44 0x00007fcb1677ca94 in KMainWindow::event(QEvent*) () at /usr/lib64/libKF5XmlGui.so.5
#45 0x00007fcb167c4b77 in KXmlGuiWindow::event(QEvent*) () at /usr/lib64/libKF5XmlGui.so.5
#46 0x00007fcb18d8147c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x559b32d19890, receiver=receiver@entry=0x559b3796c300, e=e@entry=0x7fca78011a30) at kernel/qapplication.cpp:3637
#47 0x00007fcb18d8823f in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x559b3796c300, e=0x7fca78011a30) at kernel/qapplication.cpp:3161
#48 0x00007fcb17dcf1b3 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x559b3796c300, event=0x7fca78011a30) at kernel/qcoreapplication.cpp:1064
#49 0x00007fcb17dcf38e in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=receiver@entry=0x559b3796c300, event=event@entry=0x7fca78011a30) at kernel/qcoreapplication.cpp:1462
#50 0x00007fcb17dd1bd1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x559b32c81810) at kernel/qcoreapplication.cpp:1821
#51 0x00007fcb17dd2158 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1680
#52 0x00007fcb17e31fa3 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x559b32e524d0) at kernel/qeventdispatcher_glib.cpp:277
#53 0x00007fcb0222a7fb in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#54 0x00007fcb0222aba0 in  () at /usr/lib64/libglib-2.0.so.0
#55 0x00007fcb0222ac2c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#56 0x00007fcb17e3164c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x559b32e573f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#57 0x00007fcb17dcda1a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffcc6f3e260, flags=..., flags@entry=...) at kernel/qeventloop.cpp:232
#58 0x00007fcb17dd7257 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1375
#59 0x0000559b31005c26 in  ()
#60 0x00007fcb1710c2bd in __libc_start_main () at /lib64/libc.so.6
#61 0x0000559b3100663a in  ()
[Inferior 1 (process 7221) detached]

The reporter indicates this bug may be a duplicate of or related to bug 457972.

Reported using DrKonqi
Comment 1 Maik Qualmann 2022-08-21 10:10:55 UTC

*** This bug has been marked as a duplicate of bug 457972 ***
Comment 2 Maik Qualmann 2022-08-21 10:12:24 UTC
This is a bug in Qt, we did a workaround. Please report this problem to openSUSE.

Maik
Comment 3 caulier.gilles 2022-11-24 07:18:49 UTC
Fixed with #457972