Bug 330198 - Gwenview crushes on reload of svg image
Summary: Gwenview crushes on reload of svg image
Status: RESOLVED DUPLICATE of bug 359736
Alias: None
Product: gwenview
Classification: Applications
Component: general (show other bugs)
Version: 4.12.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Gwenview Bugs
URL:
Keywords: drkonqi
: 329638 332492 356889 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-01-20 12:16 UTC by Boris Kheyfets
Modified: 2017-01-04 20:22 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (12.44 KB, text/plain)
2014-04-06 10:18 UTC, Marco Vader
Details
strace gwenview while reproducing the error. (1.70 MB, text/plain)
2015-10-29 23:52 UTC, nazgul17@gmail.com
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Boris Kheyfets 2014-01-20 12:16:25 UTC
Application: gwenview (4.12.0)
KDE Platform Version: 4.11.5
Qt Version: 4.8.6
Operating System: Linux 3.13.0-4-generic x86_64
Distribution: Ubuntu Trusty Tahr (development branch)

-- Information about the crash:
- What I was doing when the application crashed:

I had Gwenview open an svg image, and when I regenerate the image -- gwenview would crush on reload.

The crash can be reproduced every time.

-- Backtrace:
Application: Gwenview (gwenview), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
To enable execution of this file add
	add-auto-load-safe-path /lib/x86_64-linux-gnu/libglib-2.0.so.0.3903.0-gdb.py
line to your configuration file "/home/boris/.gdbinit".
To completely disable this security protection add
	set auto-load safe-path /
line to your configuration file "/home/boris/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
	info "(gdb)Auto-loading safe path"
[Current thread is 1 (Thread 0x7fd147ba97c0 (LWP 16888))]

Thread 4 (Thread 0x7fd12bfff700 (LWP 16892)):
#0  0x00007fd140a73569 in __GI___pthread_mutex_lock (mutex=0x7fd124000a60) at ../nptl/pthread_mutex_lock.c:125
#1  0x00007fd1405ec6a1 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd1405abe28 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd146a07836 in QEventDispatcherGlib::processEvents (this=0x7fd1240008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#4  0x00007fd1469d909f in QEventLoop::processEvents (this=this@entry=0x7fd12bffede0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fd1469d9395 in QEventLoop::exec (this=this@entry=0x7fd12bffede0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fd1468d5c4f in QThread::exec (this=this@entry=0x26147b0) at thread/qthread.cpp:537
#7  0x00007fd1469ba813 in QInotifyFileSystemWatcherEngine::run (this=0x26147b0) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007fd1468d831f in QThreadPrivate::start (arg=0x26147b0) at thread/qthread_unix.cpp:349
#9  0x00007fd140a71182 in start_thread (arg=0x7fd12bfff700) at pthread_create.c:312
#10 0x00007fd14438eb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fd12b0ef700 (LWP 16894)):
#0  0x00007fd14437fe4d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fd1405eb950 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd1405ab864 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd1405abccb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fd1405abe3c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fd146a07836 in QEventDispatcherGlib::processEvents (this=0x7fd11c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#6  0x00007fd1469d909f in QEventLoop::processEvents (this=this@entry=0x7fd12b0eede0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fd1469d9395 in QEventLoop::exec (this=this@entry=0x7fd12b0eede0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fd1468d5c4f in QThread::exec (this=this@entry=0x28ab7f0) at thread/qthread.cpp:537
#9  0x00007fd1469ba813 in QInotifyFileSystemWatcherEngine::run (this=0x28ab7f0) at io/qfilesystemwatcher_inotify.cpp:265
#10 0x00007fd1468d831f in QThreadPrivate::start (arg=0x28ab7f0) at thread/qthread_unix.cpp:349
#11 0x00007fd140a71182 in start_thread (arg=0x7fd12b0ef700) at pthread_create.c:312
#12 0x00007fd14438eb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fd129d2a700 (LWP 16901)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007fd1468d87e4 in wait (time=30000, this=0x2a09430) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=this@entry=0x2d60a50, mutex=mutex@entry=0x2a08db8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fd1468cc0ea in QThreadPoolThread::run (this=0x2d60a40) at concurrent/qthreadpool.cpp:142
#4  0x00007fd1468d831f in QThreadPrivate::start (arg=0x2d60a40) at thread/qthread_unix.cpp:349
#5  0x00007fd140a71182 in start_thread (arg=0x7fd129d2a700) at pthread_create.c:312
#6  0x00007fd14438eb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fd147ba97c0 (LWP 16888)):
[KCrash Handler]
#5  0x00007fd142562b34 in QSvgRenderer::isValid (this=0x2798450) at qsvgrenderer.cpp:179
#6  0x00007fd142564473 in QGraphicsSvgItem::paint (this=0x2bc65d0, painter=0x7fff158bb790, option=0x27f6af8, widget=<optimized out>) at qgraphicssvgitem.cpp:250
#7  0x00007fd1455b52aa in _q_paintItem (item=item@entry=0x2bc65e0, painter=painter@entry=0x7fff158bb790, option=option@entry=0x27f6af8, widget=widget@entry=0x284dfc0, useWindowOpacity=<optimized out>, painterStateProtection=painterStateProtection@entry=true) at graphicsview/qgraphicsscene.cpp:4305
#8  0x00007fd1455c7221 in QGraphicsScenePrivate::drawItemHelper (this=this@entry=0x27f68d0, item=item@entry=0x2bc65e0, painter=painter@entry=0x7fff158bb790, option=option@entry=0x27f6af8, widget=widget@entry=0x284dfc0, painterStateProtection=<optimized out>) at graphicsview/qgraphicsscene.cpp:4567
#9  0x00007fd1455c94b0 in QGraphicsScenePrivate::draw (this=this@entry=0x27f68d0, item=item@entry=0x2bc65e0, painter=painter@entry=0x7fff158bb790, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x2b2dd30, exposedRegion=exposedRegion@entry=0x2861ce8, widget=0x284dfc0, opacity=opacity@entry=1, effectTransform=effectTransform@entry=0x0, wasDirtyParentSceneTransform=wasDirtyParentSceneTransform@entry=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4966
#10 0x00007fd1455c9be5 in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x27f68d0, item=0x2bc65e0, painter=painter@entry=0x7fff158bb790, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x2861ce8, widget=widget@entry=0x284dfc0, parentOpacity=parentOpacity@entry=1, effectTransform=effectTransform@entry=0x0) at graphicsview/qgraphicsscene.cpp:4857
#11 0x00007fd1455c9065 in QGraphicsScenePrivate::draw (this=this@entry=0x27f68d0, item=item@entry=0x2b83610, painter=painter@entry=0x7fff158bb790, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x2b82d70, exposedRegion=exposedRegion@entry=0x2861ce8, widget=0x284dfc0, opacity=opacity@entry=1, effectTransform=effectTransform@entry=0x0, wasDirtyParentSceneTransform=wasDirtyParentSceneTransform@entry=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4996
#12 0x00007fd1455c9be5 in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x27f68d0, item=0x2b83610, painter=painter@entry=0x7fff158bb790, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x2861ce8, widget=widget@entry=0x284dfc0, parentOpacity=parentOpacity@entry=1, effectTransform=effectTransform@entry=0x0) at graphicsview/qgraphicsscene.cpp:4857
#13 0x00007fd1455c9065 in QGraphicsScenePrivate::draw (this=this@entry=0x27f68d0, item=item@entry=0x2b2a160, painter=painter@entry=0x7fff158bb790, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x290f960, exposedRegion=exposedRegion@entry=0x2861ce8, widget=0x284dfc0, opacity=opacity@entry=1, effectTransform=effectTransform@entry=0x0, wasDirtyParentSceneTransform=wasDirtyParentSceneTransform@entry=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4996
#14 0x00007fd1455c9be5 in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x27f68d0, item=0x2b2a160, painter=painter@entry=0x7fff158bb790, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x2861ce8, widget=widget@entry=0x284dfc0, parentOpacity=parentOpacity@entry=1, effectTransform=effectTransform@entry=0x0) at graphicsview/qgraphicsscene.cpp:4857
#15 0x00007fd1455ca296 in QGraphicsScenePrivate::drawItems (this=0x27f68d0, painter=painter@entry=0x7fff158bb790, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x2861ce8, widget=0x284dfc0) at graphicsview/qgraphicsscene.cpp:4739
#16 0x00007fd1455e79ee in QGraphicsView::paintEvent (this=<optimized out>, event=<optimized out>) at graphicsview/qgraphicsview.cpp:3471
#17 0x00007fd1450392f0 in QWidget::event (this=this@entry=0x27ecd40, event=event@entry=0x7fff158bbe20) at kernel/qwidget.cpp:8533
#18 0x00007fd1453dafee in QFrame::event (this=0x27ecd40, e=0x7fff158bbe20) at widgets/qframe.cpp:557
#19 0x00007fd1455e67f9 in QGraphicsView::viewportEvent (this=0x27ecd40, event=0x7fff158bbe20) at graphicsview/qgraphicsview.cpp:2866
#20 0x00007fd1469da636 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=this@entry=0x22d7d00, receiver=receiver@entry=0x284dfc0, event=event@entry=0x7fff158bbe20) at kernel/qcoreapplication.cpp:1063
#21 0x00007fd144fe9e0c in QApplicationPrivate::notify_helper (this=this@entry=0x22d7d00, receiver=receiver@entry=0x284dfc0, e=e@entry=0x7fff158bbe20) at kernel/qapplication.cpp:4563
#22 0x00007fd144ff04a0 in QApplication::notify (this=0x7fff158bcd80, receiver=0x284dfc0, e=0x7fff158bbe20) at kernel/qapplication.cpp:4353
#23 0x00007fd145cf68da in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#24 0x00007fd1469da4cd in QCoreApplication::notifyInternal (this=0x7fff158bcd80, receiver=receiver@entry=0x284dfc0, event=event@entry=0x7fff158bbe20) at kernel/qcoreapplication.cpp:953
#25 0x00007fd145033a11 in sendSpontaneousEvent (event=0x7fff158bbe20, receiver=0x284dfc0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#26 QWidgetPrivate::drawWidget (this=this@entry=0x263f9a0, pdev=0x2b9ce70, rgn=..., offset=..., flags=68, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x2705320) at kernel/qwidget.cpp:5599
#27 0x00007fd1451f687a in QWidgetBackingStore::sync (this=0x2705320) at painting/qbackingstore.cpp:1365
#28 0x00007fd145028ea0 in QWidgetPrivate::syncBackingStore (this=this@entry=0x24b3b20) at kernel/qwidget.cpp:1894
#29 0x00007fd145038e6a in QWidget::event (this=this@entry=0x22cb2e0, event=event@entry=0x2d20850) at kernel/qwidget.cpp:8680
#30 0x00007fd1453f39d3 in QMainWindow::event (this=0x22cb2e0, event=0x2d20850) at widgets/qmainwindow.cpp:1478
#31 0x00007fd145de2899 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#32 0x00007fd144fe9e2c in QApplicationPrivate::notify_helper (this=this@entry=0x22d7d00, receiver=receiver@entry=0x22cb2e0, e=e@entry=0x2d20850) at kernel/qapplication.cpp:4567
#33 0x00007fd144ff04a0 in QApplication::notify (this=0x7fff158bcd80, receiver=0x22cb2e0, e=0x2d20850) at kernel/qapplication.cpp:4353
#34 0x00007fd145cf68da in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#35 0x00007fd1469da4cd in QCoreApplication::notifyInternal (this=0x7fff158bcd80, receiver=receiver@entry=0x22cb2e0, event=event@entry=0x2d20850) at kernel/qcoreapplication.cpp:953
#36 0x00007fd1469ddb2d in sendEvent (event=0x2d20850, receiver=0x22cb2e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#37 QCoreApplicationPrivate::sendPostedEvents (receiver=0x22cb2e0, event_type=event_type@entry=77, data=0x229d1f0) at kernel/qcoreapplication.cpp:1577
#38 0x00007fd1469ddfd3 in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=event_type@entry=77) at kernel/qcoreapplication.cpp:1470
#39 0x00007fd1455be8c2 in dispatchPendingUpdateRequests (this=0x2861860) at ../../include/QtGui/private/../../../src/gui/graphicsview/qgraphicsview_p.h:200
#40 QGraphicsScenePrivate::_q_processDirtyItems (this=0x27f68d0) at graphicsview/qgraphicsscene.cpp:515
#41 0x00007fd1455c1f99 in QGraphicsScene::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at .moc/release-shared/moc_qgraphicsscene.cpp:106
#42 0x00007fd1469f2c0e in QObject::event (this=this@entry=0x26ba700, e=e@entry=0x2a18680) at kernel/qobject.cpp:1194
#43 0x00007fd1455cf3eb in QGraphicsScene::event (this=0x26ba700, event=0x2a18680) at graphicsview/qgraphicsscene.cpp:3565
#44 0x00007fd144fe9e2c in QApplicationPrivate::notify_helper (this=this@entry=0x22d7d00, receiver=receiver@entry=0x26ba700, e=e@entry=0x2a18680) at kernel/qapplication.cpp:4567
#45 0x00007fd144ff04a0 in QApplication::notify (this=0x7fff158bcd80, receiver=0x26ba700, e=0x2a18680) at kernel/qapplication.cpp:4353
#46 0x00007fd145cf68da in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#47 0x00007fd1469da4cd in QCoreApplication::notifyInternal (this=0x7fff158bcd80, receiver=receiver@entry=0x26ba700, event=event@entry=0x2a18680) at kernel/qcoreapplication.cpp:953
#48 0x00007fd1469ddb2d in sendEvent (event=0x2a18680, receiver=0x26ba700) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#49 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x229d1f0) at kernel/qcoreapplication.cpp:1577
#50 0x00007fd1469ddfd3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#51 0x00007fd146a07f53 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#52 postEventSourceDispatch (s=0x22cf0b0) at kernel/qeventdispatcher_glib.cpp:280
#53 0x00007fd1405abb54 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#54 0x00007fd1405abd98 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#55 0x00007fd1405abe3c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#56 0x00007fd146a07815 in QEventDispatcherGlib::processEvents (this=0x229eaf0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#57 0x00007fd14508bbb6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#58 0x00007fd1469d909f in QEventLoop::processEvents (this=this@entry=0x7fff158bcd20, flags=...) at kernel/qeventloop.cpp:149
#59 0x00007fd1469d9395 in QEventLoop::exec (this=this@entry=0x7fff158bcd20, flags=...) at kernel/qeventloop.cpp:204
#60 0x00007fd1469deb69 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#61 0x000000000042752d in ?? ()
#62 0x00007fd1442b5ed5 in __libc_start_main (main=0x427240, argc=6, argv=0x7fff158bcec8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff158bceb8) at libc-start.c:287
#63 0x00000000004277c2 in _start ()

Reported using DrKonqi
Comment 1 Christoph Feck 2014-01-27 00:03:22 UTC
*** Bug 329638 has been marked as a duplicate of this bug. ***
Comment 2 Louis Moureaux 2014-01-27 11:06:35 UTC
In my experience, this does only occur when zooming. SVGs at 1:1 scale are simply not updated, and Gwenview crashes on zoom after update.
Comment 3 Marco Vader 2014-04-06 10:18:48 UTC
Created attachment 85976 [details]
New crash information added by DrKonqi

gwenview (4.12.2) on KDE Platform 4.12.3 using Qt 4.8.5

- What I was doing when the application crashed:

It crashes when I reload a large SVG file. 
As a workaround I select the previous image in the directory and then go back to the SVG which than shows the latest version. Doing so doesn't crash the application.

-- Backtrace (Reduced):
#6  0x0000003506e3ab84 in QSvgRenderer::isValid (this=0x1f1af30) at qsvgrenderer.cpp:179
#7  0x0000003506e3c5e3 in QGraphicsSvgItem::paint (this=0x1e36e20, painter=0x7fff368a6be0, option=0x18bfd28, widget=<optimized out>) at qgraphicssvgitem.cpp:250
#8  0x000000350b3c4292 in _q_paintItem (item=item@entry=0x1e36e30, painter=painter@entry=0x7fff368a6be0, option=option@entry=0x18bfd28, widget=widget@entry=0x18e73a0, useWindowOpacity=<optimized out>, painterStateProtection=painterStateProtection@entry=true) at graphicsview/qgraphicsscene.cpp:4305
#9  0x000000350b3d7061 in QGraphicsScenePrivate::drawItemHelper (this=this@entry=0x18bfb00, item=item@entry=0x1e36e30, painter=painter@entry=0x7fff368a6be0, option=option@entry=0x18bfd28, widget=widget@entry=0x18e73a0, painterStateProtection=<optimized out>) at graphicsview/qgraphicsscene.cpp:4567
#10 0x000000350b3d931d in QGraphicsScenePrivate::draw (this=this@entry=0x18bfb00, item=item@entry=0x1e36e30, painter=painter@entry=0x7fff368a6be0, viewTransform=viewTransform@entry=0x0, transformPtr=transformPtr@entry=0x1841cc0, exposedRegion=exposedRegion@entry=0x18b8a68, widget=0x18e73a0, opacity=opacity@entry=1, effectTransform=effectTransform@entry=0x0, wasDirtyParentSceneTransform=wasDirtyParentSceneTransform@entry=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4966
Comment 4 Christoph Feck 2014-04-19 17:02:52 UTC
*** Bug 332492 has been marked as a duplicate of this bug. ***
Comment 5 nazgul17@gmail.com 2015-10-29 23:47:29 UTC
I am affected by this bug. I am running a fresh installation of Kubuntu 15.10, Gwenview Version 15.08.2, Using: KDE Frameworks 5.15.0, Qt 5.4.2 (built against 5.4.2), The xcb windowing system.

I run `strace gwenview 2> gwenview.log`, navigate to the image, open it, then press F5 and the program crashes with a segmentation fault. I am attaching gwenview.log
Comment 6 nazgul17@gmail.com 2015-10-29 23:52:09 UTC
Created attachment 95215 [details]
strace gwenview while reproducing the error.

I stripped the file of most of the content except initial and final lines, because of the attachment size limit.
Comment 7 Christoph Feck 2016-06-27 23:14:54 UTC
*** Bug 356889 has been marked as a duplicate of this bug. ***
Comment 8 Christoph Feck 2017-01-04 20:22:10 UTC

*** This bug has been marked as a duplicate of bug 359736 ***