Bug 328302 - Crash when switching large image to 100% size
Summary: Crash when switching large image to 100% size
Status: RESOLVED DUPLICATE of bug 357548
Alias: None
Product: gwenview
Classification: Applications
Component: general (show other bugs)
Version: 4.11.2
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Gwenview Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-12-01 20:26 UTC by Thomas Bleher
Modified: 2016-05-11 00:08 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (8.92 KB, text/plain)
2014-03-14 11:07 UTC, Darko
Details
This PNG image also crashes gwenview. (7.77 KB, image/png)
2015-09-16 12:28 UTC, Shlomi Fish
Details
optipng processed PNG - no crash (428 bytes, image/png)
2015-09-16 12:30 UTC, Shlomi Fish
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Bleher 2013-12-01 20:26:57 UTC
Application: gwenview (4.11.2)
KDE Platform Version: 4.11.2
Qt Version: 4.8.4
Operating System: Linux 3.11.0-13-generic x86_64
Distribution: Ubuntu 13.10

-- Information about the crash:
Gwenview crashes reproducibly when switching the image http://imgs.xkcd.com/comics/the_pace_of_modern_life.png from "Fit" mode (the default) to "100%" mode (via the buttons at the bottom of the window).

- What I was doing when the application crashed:
$ wget http://imgs.xkcd.com/comics/the_pace_of_modern_life.png
$ identify the_pace_of_modern_life.png
the_pace_of_modern_life.png PNG 483x4160 483x4160+0+0 8-bit PseudoClass 256c 550KB 0.000u 0:00.010
$ gwenview the_pace_of_modern_life.png
-> Click on "100%" in Gwenview
-> Crash

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".
[Current thread is 1 (Thread 0x7f02adbcf7c0 (LWP 11101))]

Thread 5 (Thread 0x7f0296954700 (LWP 11106)):
#0  0x00007f02aa3a3f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f02a65de6a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f02a65de7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f02aca23a76 in QEventDispatcherGlib::processEvents (this=0x7f02880008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f02ac9f55ef in QEventLoop::processEvents (this=this@entry=0x7f0296953d70, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f02ac9f58e5 in QEventLoop::exec (this=this@entry=0x7f0296953d70, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f02ac8f488f in QThread::exec (this=this@entry=0x1c61b20) at thread/qthread.cpp:542
#7  0x00007f02ac9d6d13 in QInotifyFileSystemWatcherEngine::run (this=0x1c61b20) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007f02ac8f6f2f in QThreadPrivate::start (arg=0x1c61b20) at thread/qthread_unix.cpp:338
#9  0x00007f02a6aa2f6e in start_thread (arg=0x7f0296954700) at pthread_create.c:311
#10 0x00007f02aa3b09cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f0295954700 (LWP 11108)):
#0  0x00007f02a661e0ea in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f02a661e399 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f02a65ddd59 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f02a65de5c3 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f02a65de7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f02aca23a76 in QEventDispatcherGlib::processEvents (this=0x7f028c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f02ac9f55ef in QEventLoop::processEvents (this=this@entry=0x7f0295953d70, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f02ac9f58e5 in QEventLoop::exec (this=this@entry=0x7f0295953d70, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f02ac8f488f in QThread::exec (this=this@entry=0x1cdd1d0) at thread/qthread.cpp:542
#9  0x00007f02ac9d6d13 in QInotifyFileSystemWatcherEngine::run (this=0x1cdd1d0) at io/qfilesystemwatcher_inotify.cpp:265
#10 0x00007f02ac8f6f2f in QThreadPrivate::start (arg=0x1cdd1d0) at thread/qthread_unix.cpp:338
#11 0x00007f02a6aa2f6e in start_thread (arg=0x7f0295954700) at pthread_create.c:311
#12 0x00007f02aa3b09cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f0294ce7700 (LWP 11110)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007f02ac8f73e4 in wait (time=30000, this=0x21f0730) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x21f0898, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f02ac8ea8a5 in QThreadPoolThread::run (this=0x21f23e0) at concurrent/qthreadpool.cpp:141
#4  0x00007f02ac8f6f2f in QThreadPrivate::start (arg=0x21f23e0) at thread/qthread_unix.cpp:338
#5  0x00007f02a6aa2f6e in start_thread (arg=0x7f0294ce7700) at pthread_create.c:311
#6  0x00007f02aa3b09cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f0287a4b700 (LWP 11112)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f02ac8f7406 in wait (time=18446744073709551615, this=0x1ad2f00) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1af7970, mutex=mutex@entry=0x1af7968, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f02ad524446 in Gwenview::SemanticInfoThread::run (this=0x1af7950) at ../../lib/semanticinfo/nepomuksemanticinfobackend.cpp:145
#4  0x00007f02ac8f6f2f in QThreadPrivate::start (arg=0x1af7950) at thread/qthread_unix.cpp:338
#5  0x00007f02a6aa2f6e in start_thread (arg=0x7f0287a4b700) at pthread_create.c:311
#6  0x00007f02aa3b09cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f02adbcf7c0 (LWP 11101)):
[KCrash Handler]
#6  0x00007f02a87c9ad0 in ?? () from /usr/lib/x86_64-linux-gnu/liblcms2.so.2
#7  0x00007f02a87d023b in ?? () from /usr/lib/x86_64-linux-gnu/liblcms2.so.2
#8  0x00007f02ad4ced91 in Gwenview::RasterImageView::updateFromScaler (this=0x21e2370, zoomedImageLeft=-209, zoomedImageTop=1885, image=...) at ../../lib/documentview/rasterimageview.cpp:317
#9  0x00007f02ad4cf285 in Gwenview::RasterImageView::qt_static_metacall (_o=0x21e2370, _id=779583696, _a=0x2670000, _c=<optimized out>) at ./rasterimageview.moc:70
#10 0x00007f02aca0aa58 in QMetaObject::activate (sender=sender@entry=0x21e1e50, m=m@entry=0x7f02ad75a5c0 <Gwenview::ImageScaler::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff2e778330) at kernel/qobject.cpp:3539
#11 0x00007f02ad4eb9e1 in Gwenview::ImageScaler::scaledRect (this=this@entry=0x21e1e50, _t1=-209, _t2=1885, _t3=...) at ./imagescaler.moc:103
#12 0x00007f02ad4ebc2e in Gwenview::ImageScaler::scaleRect (this=this@entry=0x21e1e50, rect=...) at ../../lib/imagescaler.cpp:133
#13 0x00007f02ad4ec21f in Gwenview::ImageScaler::doScale (this=0x21e1e50) at ../../lib/imagescaler.cpp:122
#14 0x00007f02ad4ec3b5 in Gwenview::ImageScaler::setDestinationRegion (this=<optimized out>, region=...) at ../../lib/imagescaler.cpp:102
#15 0x00007f02ad4cd714 in setScalerRegionToVisibleRect (this=0x21f3170) at ../../lib/documentview/rasterimageview.cpp:145
#16 Gwenview::RasterImageView::updateBuffer (this=<optimized out>, region=...) at ../../lib/documentview/rasterimageview.cpp:438
#17 0x00007f02ad4cd851 in Gwenview::RasterImageView::onZoomChanged (this=0x21e2370) at ../../lib/documentview/rasterimageview.cpp:355
#18 0x00007f02ad4bf500 in Gwenview::AbstractImageView::setZoom (this=0x21e2370, zoom=<optimized out>, _center=..., updateType=<optimized out>) at ../../lib/documentview/abstractimageview.cpp:239
#19 0x00007f02ad4c68ff in Gwenview::DocumentView::zoomActualSize (this=0x2083880) at ../../lib/documentview/documentview.cpp:493
#20 0x00007f02ad4c9be5 in Gwenview::DocumentView::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at ./documentview.moc:145
#21 0x00007f02aca0aa58 in QMetaObject::activate (sender=sender@entry=0x1f92bc0, m=m@entry=0x7f02abab5de0 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff2e778830) at kernel/qobject.cpp:3539
#22 0x00007f02ab006a32 in QAction::triggered (this=this@entry=0x1f92bc0, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#23 0x00007f02ab008403 in QAction::activate (this=0x1f92bc0, event=<optimized out>) at kernel/qaction.cpp:1257
#24 0x00007f02ab3bf0a2 in QAbstractButtonPrivate::click (this=this@entry=0x1cfbc30) at widgets/qabstractbutton.cpp:530
#25 0x00007f02ab3bf1cc in QAbstractButton::mouseReleaseEvent (this=0x1d09cd0, e=0x7fff2e778d30) at widgets/qabstractbutton.cpp:1123
#26 0x00007f02ab475d9a in QToolButton::mouseReleaseEvent (this=<optimized out>, e=<optimized out>) at widgets/qtoolbutton.cpp:718
#27 0x00007f02ab05c31e in QWidget::event (this=0x1d09cd0, event=0x7fff2e778d30) at kernel/qwidget.cpp:8375
#28 0x00007f02ab00cdfc in QApplicationPrivate::notify_helper (this=this@entry=0x191b7d0, receiver=receiver@entry=0x1d09cd0, e=e@entry=0x7fff2e778d30) at kernel/qapplication.cpp:4567
#29 0x00007f02ab0135ad in QApplication::notify (this=this@entry=0x7fff2e7794f0, receiver=receiver@entry=0x1d09cd0, e=e@entry=0x7fff2e778d30) at kernel/qapplication.cpp:4110
#30 0x00007f02abd16a6a in KApplication::notify (this=0x7fff2e7794f0, receiver=0x1d09cd0, event=0x7fff2e778d30) at ../../kdeui/kernel/kapplication.cpp:311
#31 0x00007f02ac9f68bd in QCoreApplication::notifyInternal (this=0x7fff2e7794f0, receiver=receiver@entry=0x1d09cd0, event=event@entry=0x7fff2e778d30) at kernel/qcoreapplication.cpp:946
#32 0x00007f02ab012d63 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#33 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x1d09cd0, event=event@entry=0x7fff2e778d30, alienWidget=alienWidget@entry=0x1d09cd0, nativeWidget=nativeWidget@entry=0x19c3aa0, buttonDown=buttonDown@entry=0x7f02abaf12f8 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178
#34 0x00007f02ab0877db in QETWidget::translateMouseEvent (this=this@entry=0x19c3aa0, event=event@entry=0x7fff2e7790b0) at kernel/qapplication_x11.cpp:4631
#35 0x00007f02ab087079 in QApplication::x11ProcessEvent (this=0x7fff2e7794f0, event=event@entry=0x7fff2e7790b0) at kernel/qapplication_x11.cpp:3624
#36 0x00007f02ab0ae922 in x11EventSourceDispatch (s=0x191ff50, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#37 0x00007f02a65de3b6 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f02a65de708 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007f02a65de7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007f02aca23a55 in QEventDispatcherGlib::processEvents (this=0x18e0ad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#41 0x00007f02ab0ae9d6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#42 0x00007f02ac9f55ef in QEventLoop::processEvents (this=this@entry=0x7fff2e779490, flags=...) at kernel/qeventloop.cpp:149
#43 0x00007f02ac9f58e5 in QEventLoop::exec (this=this@entry=0x7fff2e779490, flags=...) at kernel/qeventloop.cpp:204
#44 0x00007f02ac9fae5b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#45 0x00007f02ab00b34c in QApplication::exec () at kernel/qapplication.cpp:3828
#46 0x0000000000427cad in main (argc=<optimized out>, argv=0x7fff2e779638) at ../../app/main.cpp:139

Possible duplicates by query: bug 308376, bug 301821, bug 301685.

Reported using DrKonqi
Comment 1 Darko 2014-03-14 11:07:49 UTC
Created attachment 85572 [details]
New crash information added by DrKonqi

gwenview (4.11.4) on KDE Platform 4.11.5 using Qt 4.8.4

- What I was doing when the application crashed:

Trying to toggle fullscreen, with double click, or by menu button, with image opened.

-- Backtrace (Reduced):
#8  0x00007fe7af2e0e41 in Gwenview::RasterImageView::updateFromScaler (this=0x11cfc30, zoomedImageLeft=-209, zoomedImageTop=-43, image=...) at ../../lib/documentview/rasterimageview.cpp:317
#9  0x00007fe7af2e1335 in Gwenview::RasterImageView::qt_static_metacall (_o=0x11cfc30, _id=1971373728, _a=0x1aff000, _c=<optimized out>) at ./rasterimageview.moc:70
[...]
#11 0x00007fe7af2fdef1 in Gwenview::ImageScaler::scaledRect (this=this@entry=0xa3beb0, _t1=-209, _t2=-43, _t3=...) at ./imagescaler.moc:103
#12 0x00007fe7af2fe13e in Gwenview::ImageScaler::scaleRect (this=this@entry=0xa3beb0, rect=...) at ../../lib/imagescaler.cpp:133
#13 0x00007fe7af2fe72f in Gwenview::ImageScaler::doScale (this=0xa3beb0) at ../../lib/imagescaler.cpp:122
Comment 2 Shlomi Fish 2015-09-16 12:28:03 UTC
Created attachment 94596 [details]
This PNG image also crashes gwenview.

This PNG image (200px-wide ; 10K-px-high - all white) also crashes gwenview if I open it from the command line and immediately press the "Actual Size" button next to the magnifying glass with the "-". It seems to be a general problem with narrow and high images. That put aside, the "optipng -o7"-processed version of that file (will be attached soon) does not exhibit the problem in gwenview.
Comment 3 Shlomi Fish 2015-09-16 12:30:23 UTC
Created attachment 94597 [details]
optipng processed PNG - no crash

This PNG image does not crash gwenview after pressing the Actual Size button. Note that I'm using Xfce on Mageia Linux x86-64 v6 and have built gwenview from the git master sources.
Comment 4 Christoph Feck 2016-05-11 00:08:17 UTC
Bug 357548 has a better backtrace. If this is still reproducible with above test files, please add a comment there. It looks related to LCMS2 library.

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