https://bugs.kde.org/show_bug.cgi?id=439697
Bug ID: 439697 Summary: Gwenview crashes when rotating image during startup Product: gwenview Version: unspecified Platform: Other OS: Linux Status: REPORTED Severity: crash Priority: NOR Component: general Assignee: gwenview-bugs-n...@kde.org Reporter: k...@privat.broulik.de Target Milestone: --- SUMMARY When rotating an image while Gwenview is busy during startup, it crashes. I suspect it's the thumbnail generation code as it does not seem to happen when I hid the preview pane. STEPS TO REPRODUCE 1. Open a JPEG file in Gwenview 2. Quickly hit "rotate left" OBSERVED RESULT Often it crashes EXPECTED RESULT It does not crash SOFTWARE/OS VERSIONS Linux/KDE Plasma: git master as of 2021-07-02 Qt Version: 5.15.3 ADDITIONAL INFORMATION #3 __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383 #4 0x00007fbcb0876bf7 in memcpy (__len=<optimized out>, __src=0x7fbc5c584570, __dest=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 #5 QImage::copy (this=0x55930b3e5720, r=...) at image/qimage.cpp:1239 #6 0x00007fbcb1eb7ac5 in ?? () from /usr/lib/x86_64-linux-gnu/libgwenviewlib.so.5 #7 0x00007fbcb1260e2c in QGraphicsScenePrivate::draw (this=this@entry=0x55930b4a7370, item=item@entry=0x55930c4c4af0, painter=painter@entry=0x7ffdce4e78b0, viewTransform=viewTransform@entry=0x0, transformPtr=<optimized out>, exposedRegion=exposedRegion@entry=0x55930b7743f0, widget=<optimized out>, opacity=opacity@entry=1, effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at graphicsview/qgraphicsscene.cpp:4981 #8 0x00007fbcb1261cf0 in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x55930b4a7370, item=0x55930c4c4af0, painter=painter@entry=0x7ffdce4e78b0, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x55930b7743f0, widget=<optimized out>, widget@entry=0x55930b737940, parentOpacity=parentOpacity@entry=1, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4873 #9 0x00007fbcb1260c7b in QGraphicsScenePrivate::draw (this=this@entry=0x55930b4a7370, item=item@entry=0x55930c58d8b0, painter=painter@entry=0x7ffdce4e78b0, viewTransform=viewTransform@entry=0x0, transformPtr=<optimized out>, exposedRegion=exposedRegion@entry=0x55930b7743f0, widget=<optimized out>, opacity=opacity@entry=1, effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at graphicsview/qgraphicsscene.cpp:5013 #10 0x00007fbcb1261cf0 in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x55930b4a7370, item=0x55930c58d8b0, painter=painter@entry=0x7ffdce4e78b0, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x55930b7743f0, widget=<optimized out>, widget@entry=0x55930b737940, parentOpacity=parentOpacity@entry=1, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4873 #11 0x00007fbcb1260c7b in QGraphicsScenePrivate::draw (this=<optimized out>, item=<optimized out>, painter=<optimized out>, viewTransform=<optimized out>, transformPtr=<optimized out>, exposedRegion=0x55930b7743f0, widget=<optimized out>, opacity=<optimized out>, effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at graphicsview/qgraphicsscene.cpp:5013 #12 0x00007fbcb1224041 in QGraphicsItemEffectSourcePrivate::draw(QPainter*) () at graphicsview/qgraphicsitem.cpp:11328 #13 0x00007fbcb12cce6a in QGraphicsEffectSource::draw (this=0x55930c0f53c0, painter=0x7ffdce4e78b0) at effects/qgraphicseffect_p.h:90 #14 0x00007fbcb12ccf56 in QGraphicsEffect::drawSource (this=<optimized out>, painter=<optimized out>) at effects/qgraphicseffect.cpp:255 #15 0x00007fbcb12cd8fd in QGraphicsOpacityEffect::draw (this=0x55930c0f8270, painter=0x7ffdce4e78b0) at effects/qgraphicseffect.cpp:1199 #16 0x00007fbcb1261bcc in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x55930b4a7370, item=0x55930c4f8c60, painter=painter@entry=0x7ffdce4e78b0, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x55930b7743f0, widget=<optimized out>, widget@entry=0x55930b737940, parentOpacity=parentOpacity@entry=1, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4867 #17 0x00007fbcb1262242 in QGraphicsScenePrivate::drawItems (this=this@entry=0x55930b4a7370, painter=painter@entry=0x7ffdce4e78b0, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x55930b7743f0, widget=0x55930b737940) at ../../include/QtCore/../../src/corelib/tools/qlist.h:570 #18 0x00007fbcb1286a29 in QGraphicsView::paintEvent (this=0x55930b77c720, event=<optimized out>) at ../../include/QtWidgets/../../src/widgets/graphicsview/qgraphicsscene.h:307 #19 0x00007fbcb0f61cf6 in QWidget::event (this=this@entry=0x55930b77c720, event=event@entry=0x7ffdce4e7e80) at kernel/qwidget.cpp:8664 #20 0x00007fbcb1012092 in QFrame::event (this=0x55930b77c720, e=0x7ffdce4e7e80) at widgets/qframe.cpp:550 #21 0x00007fbcb1285411 in QGraphicsView::viewportEvent (this=0x55930b77c720, event=0x7ffdce4e7e80) at graphicsview/qgraphicsview.cpp:3014 #22 0x00007fbcb01684c3 in QCoreApplicationPrivate::sendThroughObjectEventFilters (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.cpp:1190 #23 QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x55930b737940, event=event@entry=0x7ffdce4e7e80) at kernel/qcoreapplication.cpp:1179 #24 0x00007fbcb0f1edb2 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55930b737940, e=0x7ffdce4e7e80) at kernel/qapplication.cpp:3626 #25 0x00007fbcb0f27bb8 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3156 #26 0x00007fbcb016875a in QCoreApplication::notifyInternal2 (receiver=0x55930b737940, event=0x7ffdce4e7e80) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325 #27 0x00007fbcb0f5a0aa in QWidgetPrivate::sendPaintEvent (this=0x55930b737980, toBePainted=...) at kernel/qwidget.cpp:5467 #28 0x00007fbcb0f5a8d2 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () at kernel/qwidget.cpp:5417 #29 0x00007fbcb0f5bcd3 in QWidgetPrivate::paintSiblingsRecursive (this=0x55930b773f30, pdev=0x7fbca4008340, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55930b7310d0) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:124 #30 0x00007fbcb0f5a5ec in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () at ../../include/QtCore/../../src/corelib/tools/qlist.h:176 #31 0x00007fbcb0f5bcd3 in QWidgetPrivate::paintSiblingsRecursive (this=0x55930b77c3b0, pdev=0x7fbca4008340, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55930b7310d0) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:124 #32 0x00007fbcb0f5a5ec in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () at ../../include/QtCore/../../src/corelib/tools/qlist.h:176 #33 0x00007fbcb0f5bcd3 in QWidgetPrivate::paintSiblingsRecursive (this=0x55930b51cde0, pdev=0x7fbca4008340, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55930b7310d0) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:124 #34 0x00007fbcb0f5bbb6 in QWidgetPrivate::paintSiblingsRecursive (this=0x55930b51cde0, pdev=0x7fbca4008340, siblings=..., index=2, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55930b7310d0) at kernel/qwidget.cpp:5584 #35 0x00007fbcb0f5a5ec in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () at ../../include/QtCore/../../src/corelib/tools/qlist.h:176 #36 0x00007fbcb0f5bcd3 in QWidgetPrivate::paintSiblingsRecursive (this=0x55930b5376c0, pdev=0x7fbca4008340, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55930b7310d0) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:124 #37 0x00007fbcb0f5bbb6 in QWidgetPrivate::paintSiblingsRecursive (this=0x55930b5376c0, pdev=0x7fbca4008340, siblings=..., index=2, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55930b7310d0) at kernel/qwidget.cpp:5584 #38 0x00007fbcb0f5a5ec in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () at ../../include/QtCore/../../src/corelib/tools/qlist.h:176 #39 0x00007fbcb0f5bcd3 in QWidgetPrivate::paintSiblingsRecursive (this=0x55930b291f90, pdev=0x7fbca4008340, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55930b7310d0) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:124 #40 0x00007fbcb0f5a5ec in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () at ../../include/QtCore/../../src/corelib/tools/qlist.h:176 #41 0x00007fbcb0f5bcd3 in QWidgetPrivate::paintSiblingsRecursive (this=0x55930b34fe00, pdev=0x7fbca4008340, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55930b7310d0) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:124 #42 0x00007fbcb0f5a5ec in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () at ../../include/QtCore/../../src/corelib/tools/qlist.h:176 #43 0x00007fbcb0f5bcd3 in QWidgetPrivate::paintSiblingsRecursive (this=0x55930b3f39f0, pdev=0x7fbca4008340, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55930b7310d0) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:124 #44 0x00007fbcb0f5bbb6 in QWidgetPrivate::paintSiblingsRecursive (this=0x55930b3f39f0, pdev=0x7fbca4008340, siblings=..., index=2, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55930b7310d0) at kernel/qwidget.cpp:5584 #45 0x00007fbcb0f5a5ec in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () at ../../include/QtCore/../../src/corelib/tools/qlist.h:176 #46 0x00007fbcb0f5bcd3 in QWidgetPrivate::paintSiblingsRecursive (this=0x55930b39a810, pdev=0x7fbca4008340, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55930b7310d0) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:124 #47 0x00007fbcb0f5a5ec in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () at ../../include/QtCore/../../src/corelib/tools/qlist.h:176 #48 0x00007fbcb0f31499 in QWidgetRepaintManager::paintAndFlush (this=this@entry=0x55930b7310d0) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:122 #49 0x00007fbcb0f31f44 in QWidgetRepaintManager::sync (this=0x55930b7310d0) at kernel/qwidgetrepaintmanager.cpp:770 #50 0x00007fbcb0f5b775 in QWidgetPrivate::syncBackingStore (this=0x55930b39a810) at kernel/qwidget.cpp:1756 #51 0x00007fbcb0f626ec in QWidget::event (this=this@entry=0x55930b3b6b80, event=event@entry=0x55930c12eb60) at kernel/qwidget.cpp:8965 #52 0x00007fbcb107aa58 in QMainWindow::event (this=0x55930b3b6b80, event=0x55930c12eb60) at widgets/qmainwindow.cpp:1341 #53 0x00007fbcb1742e13 in KMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5 #54 0x00007fbcb17929fb in KXmlGuiWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5 #55 0x00007fbcb0f1edc3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55930b3b6b80, e=0x55930c12eb60) at kernel/qapplication.cpp:3632 #56 0x00007fbcb0f27bb8 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3156 #57 0x00007fbcb016875a in QCoreApplication::notifyInternal2 (receiver=0x55930b3b6b80, event=0x55930c12eb60) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325 #58 0x00007fbcb016b061 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x55930b3b6b80, event_type=77, data=0x55930b25fce0) at kernel/qcoreapplication.cpp:1821 #59 0x00007fbcb1252aeb in QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=<optimized out>) at ../../include/QtWidgets/5.15.3/QtWidgets/private/../../../../../src/widgets/graphicsview/qgraphicsview_p.h:191 #60 QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=0x55930b773f30) at ../../include/QtWidgets/5.15.3/QtWidgets/private/../../../../../src/widgets/graphicsview/qgraphicsview_p.h:186 #61 QGraphicsScenePrivate::_q_processDirtyItems (this=0x55930b4a7370) at graphicsview/qgraphicsscene.cpp:516 #62 0x00007fbcb125883d in QGraphicsScene::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at graphicsview/qgraphicsscene.h:307 #63 0x00007fbcb01962f9 in QObject::event (this=this@entry=0x55930b6a80e0, e=e@entry=0x55930c613e20) at kernel/qobject.cpp:1314 #64 0x00007fbcb1266c93 in QGraphicsScene::event (this=0x55930b6a80e0, event=0x55930c613e20) at graphicsview/qgraphicsscene.cpp:3548 #65 0x00007fbcb0f1edc3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55930b6a80e0, e=0x55930c613e20) at kernel/qapplication.cpp:3632 #66 0x00007fbcb0f27bb8 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3156 #67 0x00007fbcb016875a in QCoreApplication::notifyInternal2 (receiver=0x55930b6a80e0, event=0x55930c613e20) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325 #68 0x00007fbcb016b061 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55930b25fce0) at kernel/qcoreapplication.cpp:1821 #69 0x00007fbcb01c3957 in postEventSourceDispatch (s=0x55930b33f2d0) at kernel/qeventdispatcher_glib.cpp:277 #70 0x00007fbcad6d617d in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #71 0x00007fbcad6d6400 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #72 0x00007fbcad6d64a3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #73 0x00007fbcb01c2fb2 in QEventDispatcherGlib::processEvents (this=0x55930b34f270, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #74 0x00007fbcb016725b in QEventLoop::exec (this=this@entry=0x7ffdce4ea820, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #75 0x00007fbcb016f414 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #76 0x000055930921351a in ?? () #77 0x00007fbcafb070b3 in __libc_start_main (main=0x559309213030, argc=2, argv=0x7ffdce4eaa98, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdce4eaa88) at ../csu/libc-start.c:308 #78 0x0000559309213bae in ?? () -- You are receiving this mail because: You are watching all bug changes.