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 ?? ()
Created attachment 142331 [details] New crash information added by DrKonqi gwenview (21.11.70) using Qt 5.15.3 - What I was doing when the application crashed: Undoing a 90 degrees rotation right. This was done almost immediately after startup. -- Backtrace (Reduced): #4 __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:391 #5 0x00007effd52d9be7 in memcpy (__len=<optimized out>, __src=0x7effb448ec58, __dest=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 #6 QImage::copy (this=0x56499fc9e3c0, r=...) at image/qimage.cpp:1239 #7 0x00007effd6930a25 in Gwenview::RasterImageItem::paint (this=0x5649a00914b0, painter=0x7ffdb76a3010) at ./lib/documentview/rasterimageitem.cpp:106 #8 0x00007effd5cc3e2c in QGraphicsScenePrivate::draw (this=this@entry=0x56499f3cea40, item=item@entry=0x5649a00914b0, painter=painter@entry=0x7ffdb76a3010, viewTransform=viewTransform@entry=0x0, transformPtr=<optimized out>, exposedRegion=exposedRegion@entry=0x56499f79d3f0, widget=<optimized out>, opacity=opacity@entry=1, effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at graphicsview/qgraphicsscene.cpp:4981
*** Bug 445505 has been marked as a duplicate of this bug. ***
*** Bug 450095 has been marked as a duplicate of this bug. ***
*** Bug 444208 has been marked as a duplicate of this bug. ***
*** Bug 451006 has been marked as a duplicate of this bug. ***
*** Bug 453460 has been marked as a duplicate of this bug. ***
Created attachment 148626 [details] A sample case to demostrate bug
Steps to reproduce bug : 1- Open the sample ( which i uploaded with this bug entry ) with gwenview 2- Pres ctrl 0 or rightclick and select Actual Size 3- Keep pressed and hold Ctrl Shift R about 2 minutes 4- it will crash My crash backtrace is : Application: Gwenview (gwenview), signal: Segmentation fault Content of s_kcrashErrorMessage: {_M_t = {<std::__uniq_ptr_impl<char, std::default_delete<char []> >> = {_M_t = std::tuple containing = {[1] = 0x0, [2] = {<No data fields>}}}, <No data fields>}} [KCrash Handler] #5 0x00007fc51c3f848d in __memmove_avx_unaligned_erms () from /usr/lib/libc.so.6 #6 0x00007fc51d172b93 in QImage::copy(QRect const&) const () from /usr/lib/libQt5Gui.so.5 #7 0x00007fc51f4c3c4a in Gwenview::RasterImageItem::paint (this=0x565102da4850, painter=0x7ffc33d5eba0) at /home/kde-dev/kde/src/gwenview/lib/documentview/rasterimageitem.cpp:106 #8 0x00007fc51db62338 in ?? () from /usr/lib/libQt5Widgets.so.5 #9 0x00007fc51db63330 in ?? () from /usr/lib/libQt5Widgets.so.5 #10 0x00007fc51db6249b in ?? () from /usr/lib/libQt5Widgets.so.5 #11 0x00007fc51db63330 in ?? () from /usr/lib/libQt5Widgets.so.5 #12 0x00007fc51db6249b in ?? () from /usr/lib/libQt5Widgets.so.5 #13 0x00007fc51db38b01 in ?? () from /usr/lib/libQt5Widgets.so.5 #14 0x00007fc51dbc976c in QGraphicsEffectSource::draw(QPainter*) () from /usr/lib/libQt5Widgets.so.5 #15 0x00007fc51db6312e in ?? () from /usr/lib/libQt5Widgets.so.5 #16 0x00007fc51db86ad4 in QGraphicsView::paintEvent(QPaintEvent*) () from /usr/lib/libQt5Widgets.so.5 #17 0x00007fc51d86c54c in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #18 0x00007fc51d91bc53 in QFrame::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #19 0x00007fc51ca3232a in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #20 0x00007fc51d8362b5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #21 0x00007fc51ca335aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #22 0x00007fc51d86026c in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /usr/lib/libQt5Widgets.so.5 #23 0x00007fc51d861602 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/libQt5Widgets.so.5 #24 0x00007fc51d841b87 in ?? () from /usr/lib/libQt5Widgets.so.5 #25 0x00007fc51d86c8c5 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #26 0x00007fc51ed0af97 in KXmlGuiWindow::event (this=0x565102b88ae0, ev=0x565103377a00) at /home/kde-dev/kde/src/kxmlgui/src/kxmlguiwindow.cpp:220 #27 0x00007fc51d8362c6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #28 0x00007fc51ca335aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #29 0x00007fc51ca340a9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5 #30 0x00007fc51db6dadf in ?? () from /usr/lib/libQt5Widgets.so.5 #31 0x00007fc51ca577d6 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5 #32 0x00007fc51d8362c6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #33 0x00007fc51ca335aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #34 0x00007fc51ca340a9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5 #35 0x00007fc51ca7b678 in ?? () from /usr/lib/libQt5Core.so.5 #36 0x00007fc51aa64163 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #37 0x00007fc51aaba9e9 in ?? () from /usr/lib/libglib-2.0.so.0 #38 0x00007fc51aa616c5 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #39 0x00007fc51ca7f57a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #40 0x00007fc51ca2b88b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #41 0x00007fc51ca36fd7 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5 #42 0x0000565100d304ed in main (argc=<optimized out>, argv=0x7ffc33d5fbe8) at /home/kde-dev/kde/src/gwenview/app/main.cpp:205 [Inferior 1 (process 559583) detached]
*** Bug 458114 has been marked as a duplicate of this bug. ***
*** Bug 438678 has been marked as a duplicate of this bug. ***
*** Bug 459836 has been marked as a duplicate of this bug. ***
*** Bug 456549 has been marked as a duplicate of this bug. ***
*** Bug 459990 has been marked as a duplicate of this bug. ***
I was also hit by this crash. Here's my stacktrace with debug symbols: #0 __memcpy_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:544 #1 0x00007ffff558e9b0 in memcpy (__len=<optimized out>, __src=<optimized out>, __dest=<optimized out>, __dest=<optimized out>, __src=<optimized out>, __len=<optimized out>) at /usr/include/bits/string_fortified.h:29 #2 QImage::copy (this=0x55555654d5a0, r=...) at image/qimage.cpp:1239 #3 0x00007ffff7d0c651 in Gwenview::RasterImageItem::paint (this=0x55555684bc30, painter=0x7fffffffccc0) at /home/elvis/dev/kde/gwenview/lib/documentview/rasterimageitem.cpp:105 #4 0x00007ffff60a4a32 in QGraphicsScenePrivate::draw (this=this@entry=0x555555a5d9d0, item=item@entry=0x55555684bc30, painter=painter@entry=0x7fffffffccc0, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x5555566f0910, exposedRegion=exposedRegion@entry=0x555555af2dc0, widget=<optimized out>, opacity=opacity@entry=1, effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at graphicsview/qgraphicsscene.cpp:4981 #5 0x00007ffff60a52b7 in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x555555a5d9d0, item=0x55555684bc30, painter=painter@entry=0x7fffffffccc0, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x555555af2dc0, widget=widget@entry=0x555555b73820, parentOpacity=parentOpacity@entry=1, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4873 #6 0x00007ffff60a478a in QGraphicsScenePrivate::draw (this=this@entry=0x555555a5d9d0, item=item@entry=0x55555683c740, painter=painter@entry=0x7fffffffccc0, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x55555684ad20, exposedRegion=exposedRegion@entry=0x555555af2dc0, widget=<optimized out>, opacity=opacity@entry=1, effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at graphicsview/qgraphicsscene.cpp:5013 #7 0x00007ffff60a52b7 in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x555555a5d9d0, item=0x55555683c740, painter=painter@entry=0x7fffffffccc0, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x555555af2dc0, widget=widget@entry=0x555555b73820, parentOpacity=parentOpacity@entry=1, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4873 #8 0x00007ffff60a478a in QGraphicsScenePrivate::draw (this=0x555555a5d9d0, item=0x5555560d5560, painter=0x7fffffffccc0, viewTransform=<optimized out>, transformPtr=<optimized out>, exposedRegion=<optimized out>, widget=<optimized out>, opacity=<optimized out>, effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at graphicsview/qgraphicsscene.cpp:5013 #9 0x00007ffff607be0c in QGraphicsItemEffectSourcePrivate::draw (this=0x55555605b690, painter=0x7fffffffccc0) at graphicsview/qgraphicsitem.cpp:11331 #10 0x00007ffff6109f1a in QGraphicsEffectSource::draw (this=0x5555566dcb60, painter=0x7fffffffccc0) at effects/qgraphicseffect_p.h:90 #11 0x00007ffff60a56b4 in QGraphicsScenePrivate::drawSubtreeRecursive (this=<optimized out>, item=<optimized out>, painter=0x7fffffffccc0, viewTransform=<optimized out>, exposedRegion=0x555555af2dc0, widget=0x555555b73820, parentOpacity=<optimized out>, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4867 #12 0x00007ffff60c84a4 in QGraphicsScenePrivate::drawItems (widget=0x555555b73820, exposedRegion=<optimized out>, viewTransform=0x0, painter=0x7fffffffccc0, this=<optimized out>) at graphicsview/qgraphicsscene.cpp:4735 #13 QGraphicsView::paintEvent (this=<optimized out>, event=<optimized out>) at graphicsview/qgraphicsview.cpp:3561 #14 0x00007ffff5daf514 in QWidget::event (this=0x555555a81d00, event=0x7fffffffd040) at kernel/qwidget.cpp:8826 #15 0x00007ffff5e5dac3 in QFrame::event (this=0x555555a81d00, e=0x7fffffffd040) at widgets/qframe.cpp:550 #16 0x00007ffff4e8cc02 in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x555555b73820, event=event@entry=0x7fffffffd040) at kernel/qcoreapplication.cpp:1190 #17 0x00007ffff5d78b4c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555555b73820, e=0x7fffffffd040) at kernel/qapplication.cpp:3634 #18 0x00007ffff4e8cf98 in QCoreApplication::notifyInternal2 (receiver=0x555555b73820, event=0x7fffffffd040) at kernel/qcoreapplication.cpp:1064 #19 0x00007ffff5da33db in QWidgetPrivate::sendPaintEvent (this=this@entry=0x555555b73980, toBePainted=...) at kernel/qwidget.cpp:5479 #20 0x00007ffff5da47b6 in QWidgetPrivate::drawWidget (this=0x555555b73980, pdev=0x5555566e4808, rgn=..., offset=..., flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5429 #21 0x00007ffff5d84890 in QWidgetRepaintManager::paintAndFlush (this=0x555555eba0b0) at kernel/qwidgetrepaintmanager.cpp:1016 #22 0x00007ffff5daf1e4 in QWidget::event (this=0x5555558cc8f0, event=0x555555ed3f00) at kernel/qwidget.cpp:8990 #23 0x00007ffff74c527e in KXmlGuiWindow::event (this=0x5555558cc8f0, ev=0x555555ed3f00) at /usr/src/debug/kxmlgui/kxmlgui-5.101.0/src/kxmlguiwindow.cpp:220 #24 0x00007ffff5d78b5c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5555558cc8f0, e=0x555555ed3f00) at kernel/qapplication.cpp:3640 #25 0x00007ffff4e8cf98 in QCoreApplication::notifyInternal2 (receiver=0x5555558cc8f0, event=0x555555ed3f00) at kernel/qcoreapplication.cpp:1064 #26 0x00007ffff4e8daa3 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x5555558cc8f0, event_type=77, data=0x555555693910) at kernel/qcoreapplication.cpp:1821 #27 0x00007ffff60af9df in QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=<optimized out>) at ../../include/QtWidgets/5.15.8/QtWidgets/private/../../../../../src/widgets/graphicsview/qgraphicsview_p.h:191 #28 QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=0x555555af2900) at ../../include/QtWidgets/5.15.8/QtWidgets/private/../../../../../src/widgets/graphicsview/qgraphicsview_p.h:186 #29 QGraphicsScenePrivate::_q_processDirtyItems (this=0x555555a5d9d0) at graphicsview/qgraphicsscene.cpp:516 #30 QGraphicsScene::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qgraphicsscene.cpp:197 #31 0x00007ffff4eb0bd0 in QObject::event (this=0x555555a81f00, e=0x7fffe4007b40) at kernel/qobject.cpp:1347 #32 0x00007ffff5d78b5c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555555a81f00, e=0x7fffe4007b40) at kernel/qapplication.cpp:3640 #33 0x00007ffff4e8cf98 in QCoreApplication::notifyInternal2 (receiver=0x555555a81f00, event=0x7fffe4007b40) at kernel/qcoreapplication.cpp:1064 #34 0x00007ffff4e8daa3 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x555555693910) at kernel/qcoreapplication.cpp:1821 #35 0x00007ffff4ed3ea8 in postEventSourceDispatch (s=0x5555556bd490) at kernel/qeventdispatcher_glib.cpp:277 #36 0x00007ffff3df187b in g_main_dispatch (context=0x7fffe8005010) at ../glib/glib/gmain.c:3454 #37 g_main_context_dispatch (context=0x7fffe8005010) at ../glib/glib/gmain.c:4172 #38 0x00007ffff3e48c89 in g_main_context_iterate.constprop.0 (context=0x7fffe8005010, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4248 #39 0x00007ffff3df0132 in g_main_context_iteration (context=0x7fffe8005010, may_block=1) at ../glib/glib/gmain.c:4313 #40 0x00007ffff4ed7c8c in QEventDispatcherGlib::processEvents (this=0x555555665350, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #41 0x00007ffff4e8574c in QEventLoop::exec (this=0x7fffffffdbc0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #42 0x00007ffff4e90269 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #43 0x00005555555e0a5b in main (argc=1, argv=0x7fffffffdf98) at /home/elvis/dev/kde/gwenview/app/main.cpp:213 I was trying to get a valgrind log, but it does not crash while running from valgrind.
*** Bug 466628 has been marked as a duplicate of this bug. ***
A possibly relevant merge request was started @ https://invent.kde.org/graphics/gwenview/-/merge_requests/189
Git commit 5ddac2cc9ff426302771fb6c7aceae02953b945e by Nate Graham, on behalf of Nikita Karpei. Committed on 29/03/2023 at 18:53. Pushed by ngraham into branch 'master'. Save a shallow copy of the original image when rotating FIXED-IN: 23.04 The app crashes when trying to get an image from a document using document->image(). Looks like it can be destroyed from another thread so we should make a shallow copy of it. It's fast and fixes the crash. M +11 -8 lib/documentview/rasterimageitem.cpp M +1 -0 lib/documentview/rasterimageitem.h https://invent.kde.org/graphics/gwenview/commit/5ddac2cc9ff426302771fb6c7aceae02953b945e
Git commit 8e8b025b79b44db957d164698b68681323b9a917 by Nate Graham, on behalf of Nikita Karpei. Committed on 29/03/2023 at 18:53. Pushed by ngraham into branch 'release/23.04'. Save a shallow copy of the original image when rotating FIXED-IN: 23.04 The app crashes when trying to get an image from a document using document->image(). Looks like it can be destroyed from another thread so we should make a shallow copy of it. It's fast and fixes the crash. (cherry picked from commit 5ddac2cc9ff426302771fb6c7aceae02953b945e) M +11 -8 lib/documentview/rasterimageitem.cpp M +1 -0 lib/documentview/rasterimageitem.h https://invent.kde.org/graphics/gwenview/commit/8e8b025b79b44db957d164698b68681323b9a917
I am able to replicate this bug on Plasma 5.27.3, Qt 5.15.6 and frameworks 5.104.0
The fix is in Gwenview itself (the next released version, specifically), not any of those products.
*** Bug 468273 has been marked as a duplicate of this bug. ***
*** Bug 468351 has been marked as a duplicate of this bug. ***
*** Bug 468763 has been marked as a duplicate of this bug. ***
*** Bug 469754 has been marked as a duplicate of this bug. ***
*** Bug 469605 has been marked as a duplicate of this bug. ***
*** Bug 470479 has been marked as a duplicate of this bug. ***
*** Bug 468426 has been marked as a duplicate of this bug. ***
*** Bug 471926 has been marked as a duplicate of this bug. ***
*** Bug 453207 has been marked as a duplicate of this bug. ***
Created attachment 163610 [details] New crash information added by DrKonqi gwenview (21.12.3) using Qt 5.15.2 - What I was doing when the application crashed: I have Gwenview 21.12.3, with the following: Operating System: openSUSE Leap 15.4 KDE Plasma Version: 5.24.4 KDE Frameworks Version: 5.90.0 Qt Version: 5.15.2 Kernel Version: 5.14.21-150400.24.97-default (64-bit) Graphics Platform: X11 Processors: 4 × Intel® Xeon® CPU 5150 @ 2.66GHz Memory: 15.6 GiB of RAM Graphics Processor: llvmpipe All software installed from the official repos. I have been experiencing this bug intermittently with Gwenview for at leaast 2 years. It seems to be very random and difficult to reproduce. Sometimes it will happen several times in a row. At others it won't happen for days or weeks. I use Gwenview nearly every day to look at photo's or graphic files. -- Backtrace (Reduced): #5 0x00007efc255de34e in memcpy (__len=13824, __src=0x7efbc70c9f10, __dest=<optimized out>) at /usr/include/bits/string_fortified.h:34 #6 QImage::copy (this=0x55b8981c0b10, r=...) at image/qimage.cpp:1239 #7 0x00007efc2a2d6412 in Gwenview::RasterImageItem::paint (this=0x55b89859b100, painter=0x7fffc4076920) at /usr/src/debug/gwenview5-21.12.3-bp154.1.31.x86_64/lib/documentview/rasterimageitem.cpp:106 #8 0x00007efc25fffb66 in QGraphicsScenePrivate::draw (this=this@entry=0x55b897db64f0, item=item@entry=0x55b89859b100, painter=painter@entry=0x7fffc4076920, viewTransform=<optimized out>, transformPtr=transformPtr@entry=0x55b898867eb0, exposedRegion=<optimized out>, widget=<optimized out>, opacity=opacity@entry=1, effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at graphicsview/qgraphicsscene.cpp:4981 #9 0x00007efc2600034e in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x55b897db64f0, item=0x55b89859b100, painter=painter@entry=0x7fffc4076920, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x55b8981ad240, widget=<optimized out>, widget@entry=0x55b897f14e50, parentOpacity=parentOpacity@entry=1, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4873
*** Bug 481837 has been marked as a duplicate of this bug. ***