Bug 458114 - Crash upon rotating image
Summary: Crash upon rotating image
Status: RESOLVED DUPLICATE of bug 439697
Alias: None
Product: gwenview
Classification: Applications
Component: general (show other bugs)
Version: 22.04.1
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Gwenview Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-08-20 19:57 UTC by fw.smit01
Modified: 2022-12-05 17:17 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (5.14 KB, text/plain)
2022-10-04 09:28 UTC, Jakub Jurčaga
Details
New crash information added by DrKonqi (4.89 KB, text/plain)
2022-10-30 21:32 UTC, Richard Davis
Details
New crash information added by DrKonqi (11.85 KB, text/plain)
2022-12-05 17:17 UTC, Milian Wolff
Details

Note You need to log in before you can comment on or make changes to this bug.
Description fw.smit01 2022-08-20 19:57:43 UTC
Application: gwenview (22.04.1)

Qt Version: 5.15.5
Frameworks Version: 5.97.0
Operating System: Linux 5.18.17-200.fc36.x86_64 x86_64
Windowing System: Wayland
Distribution: Fedora Linux 36 (KDE Plasma)
DrKonqi: 5.25.4 [KCrashBackend]

-- Information about the crash:
After rotating about 10 images, gwenview crashed. This happened multiple times

The crash can be reproduced sometimes.

-- Backtrace:
Application: Gwenview (gwenview), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f71cc2e51ab in __memmove_avx_unaligned_erms () from /lib64/libc.so.6
#5  0x00007f71cceedbe2 in QImage::copy(QRect const&) const () from /lib64/libQt5Gui.so.5
#6  0x00007f71ce3abd3a in Gwenview::RasterImageItem::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) () from /lib64/libgwenviewlib.so.5
#7  0x00007f71cd872511 in QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) () from /lib64/libQt5Widgets.so.5
#8  0x00007f71cd872d6a in QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) () from /lib64/libQt5Widgets.so.5
#9  0x00007f71cd872263 in QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) () from /lib64/libQt5Widgets.so.5
#10 0x00007f71cd872d6a in QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) () from /lib64/libQt5Widgets.so.5
#11 0x00007f71cd872263 in QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) () from /lib64/libQt5Widgets.so.5
#12 0x00007f71cd8362d4 in QGraphicsItemEffectSourcePrivate::draw(QPainter*) () from /lib64/libQt5Widgets.so.5
#13 0x00007f71cd8de168 in QGraphicsEffectSource::draw(QPainter*) () from /lib64/libQt5Widgets.so.5
#14 0x00007f71cd873163 in QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) () from /lib64/libQt5Widgets.so.5
#15 0x00007f71cd873792 in QGraphicsScenePrivate::drawItems(QPainter*, QTransform const*, QRegion*, QWidget*) () from /lib64/libQt5Widgets.so.5
#16 0x00007f71cd897f57 in QGraphicsView::paintEvent(QPaintEvent*) () from /lib64/libQt5Widgets.so.5
#17 0x00007f71cd569828 in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#18 0x00007f71cd616512 in QFrame::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#19 0x00007f71cc86cff1 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#20 0x00007f71cd526d12 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#21 0x00007f71cc86d228 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#22 0x00007f71cd561ac9 in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /lib64/libQt5Widgets.so.5
#23 0x00007f71cd562811 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib64/libQt5Widgets.so.5
#24 0x00007f71cd537f29 in QWidgetRepaintManager::paintAndFlush() () from /lib64/libQt5Widgets.so.5
#25 0x00007f71cd569ae8 in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#26 0x00007f71cdd84c2d in KXmlGuiWindow::event(QEvent*) () from /lib64/libKF5XmlGui.so.5
#27 0x00007f71cd526d22 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#28 0x00007f71cc86d228 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#29 0x00007f71cc870594 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt5Core.so.5
#30 0x00007f71cd864db3 in QGraphicsScenePrivate::_q_processDirtyItems() () from /lib64/libQt5Widgets.so.5
#31 0x00007f71cc8972c4 in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
#32 0x00007f71cd526d22 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#33 0x00007f71cc86d228 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#34 0x00007f71cc870594 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt5Core.so.5
#35 0x00007f71cc8be467 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#36 0x00007f71ca91cfaf in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#37 0x00007f71ca9722c8 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#38 0x00007f71ca91a940 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#39 0x00007f71cc8bdf5a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#40 0x00007f71cc86bc7a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#41 0x00007f71cc873d42 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#42 0x0000563c220a491b in main ()
[Inferior 1 (process 26520) detached]

The reporter indicates this bug may be a duplicate of or related to bug 439697, bug 456549.

Reported using DrKonqi
Comment 1 Nicolas Fella 2022-08-25 00:29:41 UTC

*** This bug has been marked as a duplicate of bug 439697 ***
Comment 2 Jakub Jurčaga 2022-10-04 09:28:47 UTC
Created attachment 152581 [details]
New crash information added by DrKonqi

gwenview (21.12.2) using Qt 5.15.2

Gwenview crashes when rotating multiple images in a row.

-- Backtrace (Reduced):
#5  0x00007ff6843b272f in QImage::copy(QRect const&) const () from /lib64/libQt5Gui.so.5
#6  0x00007ff685ab9f2a in Gwenview::RasterImageItem::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) () from /lib64/libgwenviewlib.so.5
#7  0x00007ff684ef9f13 in QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) () from /lib64/libQt5Widgets.so.5
#8  0x00007ff684efaed3 in QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) () from /lib64/libQt5Widgets.so.5
#9  0x00007ff684efa06b in QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) () from /lib64/libQt5Widgets.so.5
Comment 3 Richard Davis 2022-10-30 21:32:31 UTC
Created attachment 153342 [details]
New crash information added by DrKonqi

gwenview (22.08.2) using Qt 5.15.6

image resized to 65% and rotated left caused crash

-- Backtrace (Reduced):
#4  __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:575
#5  0x00007ff4ac1e2fe2 in QImage::copy(QRect const&) const () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
[...]
#13 0x00007ff4accca9ba in QGraphicsEffectSource::draw(QPainter*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
[...]
#16 0x00007ff4acc8371f in QGraphicsView::paintEvent(QPaintEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ff4ac95187e in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
Comment 4 Milian Wolff 2022-12-05 17:17:52 UTC
Created attachment 154337 [details]
New crash information added by DrKonqi

gwenview (22.08.3) using Qt 5.15.7

got the same crash just now after rotating an image twice shortly after another. couldn't reproduce it easily

-- Backtrace (Reduced):
#6  __memcpy_evex_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:664
#7  0x00007f240e58eb10 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
#8  QImage::copy (this=0x5619390e05a0, r=...) at image/qimage.cpp:1239
#9  0x00007f241025fde4 in Gwenview::RasterImageItem::paint (this=0x561939195bb0, painter=0x7fff6556aa80) at /usr/src/debug/gwenview/gwenview-22.08.3/lib/documentview/rasterimageitem.cpp:106
#10 0x00007f240f0a4622 in QGraphicsScenePrivate::draw (this=this@entry=0x561938fd2da0, item=item@entry=0x561939195bb0, painter=painter@entry=0x7fff6556aa80, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x56193917cb00, exposedRegion=exposedRegion@entry=0x5619392dd340, widget=<optimized out>, opacity=opacity@entry=1, effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at graphicsview/qgraphicsscene.cpp:4981