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.

Reply via email to