Bug 282235

Summary: Gwenview crashes after rotating picture [ QRasterPaintEngine::drawImage ]
Product: [Applications] gwenview Reporter: A.Bakker <a.bk>
Component: generalAssignee: Gwenview Bugs <gwenview-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: benni, f.presel, iscurrah, jim, mothlight, ozgursarier1011601115, rose
Priority: NOR    
Version: 2.7   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 4.10.0
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi

Description A.Bakker 2011-09-17 19:27:37 UTC
Application: gwenview (2.6.4)
KDE Platform Version: 4.6.5 (4.6.5)
Qt Version: 4.7.3
Operating System: Linux 2.6.35.13-92.fc14.i686 i686
Distribution: "Fedora release 14 (Laughlin)"

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

after rotating two or tree picures , even when you save between

The crash can be reproduced every time.

-- Backtrace:
Application: Gwenview (gwenview), signal: Segmentation fault
[Current thread is 1 (Thread 0xb77b6780 (LWP 6229))]

Thread 2 (Thread 0xb4affb70 (LWP 6247)):
#0  0x004ab416 in __kernel_vsyscall ()
#1  0x00a3339b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:169
#2  0x07017db7 in wait (this=0x85f8a58, mutex=0x85f8a54, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#3  QWaitCondition::wait (this=0x85f8a58, mutex=0x85f8a54, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#4  0x04c3c98c in Gwenview::SemanticInfoThread::run (this=0x85f8a48) at /usr/src/debug/kdegraphics-4.6.5/gwenview/lib/semanticinfo/nepomuksemanticinfobackend.cpp:135
#5  0x070176c3 in QThreadPrivate::start (arg=0x85f8a48) at thread/qthread_unix.cpp:320
#6  0x00a2ee99 in start_thread (arg=0xb4affb70) at pthread_create.c:301
#7  0x0096dd2e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 1 (Thread 0xb77b6780 (LWP 6229)):
[KCrash Handler]
#7  write (destPixels=0xb079a008 "\353\334\331\377\354\335\332\377\352\336\332\377\347\333\325\377\352\340\331\377\350\334\326\377\351\335\331\377\353\334\331\377\353\334\331\377\354\335\332\377\352\336\332\377\353\337\333\377\355\340\336\377\353\336\334\377\354\337\335\377\354\337\335\377\356\342\336\377\355\341\335\377\355\341\335\377\355\340\336\377\356\341\337\377\357\342\340\377\356\342\340\377\355\341\337\377\356\342\340\377\357\343\341\377\360\344\342\377\360\344\342\377\360\344\342\377\361\345\343\377\361\345\345\377\361\345\345\377\362\346\344\377\361\345\343\377\362\347\343\377\360\345\341\377\361\346\342\377\357\343\341\377\360\344\342\377\360\344\344\377\363\347\343\377\361\345\341\377\362\346\342\377\361\345\343\377\361\345\343\377\362\346\344\377\356\342\340\377\361\345\345\377\361\345\343\377\361\345\343\377"..., dbpl=6528, srcPixels=0xacb77008 <Address 0xacb77008 out of bounds>, sbpl=13056, targetRect=..., srcRect=..., clip=..., blender=...) at painting/qblendfunctions.cpp:567
#8  qt_scale_image_32bit<Blend_RGB32_on_RGB32_NoAlpha> (destPixels=0xb079a008 "\353\334\331\377\354\335\332\377\352\336\332\377\347\333\325\377\352\340\331\377\350\334\326\377\351\335\331\377\353\334\331\377\353\334\331\377\354\335\332\377\352\336\332\377\353\337\333\377\355\340\336\377\353\336\334\377\354\337\335\377\354\337\335\377\356\342\336\377\355\341\335\377\355\341\335\377\355\340\336\377\356\341\337\377\357\342\340\377\356\342\340\377\355\341\337\377\356\342\340\377\357\343\341\377\360\344\342\377\360\344\342\377\360\344\342\377\361\345\343\377\361\345\345\377\361\345\345\377\362\346\344\377\361\345\343\377\362\347\343\377\360\345\341\377\361\346\342\377\357\343\341\377\360\344\342\377\360\344\344\377\363\347\343\377\361\345\341\377\362\346\342\377\361\345\343\377\361\345\343\377\362\346\344\377\356\342\340\377\361\345\345\377\361\345\343\377\361\345\343\377"..., dbpl=6528, srcPixels=0xacb77008 <Address 0xacb77008 out of bounds>, sbpl=13056, targetRect=..., srcRect=..., clip=..., blender=...) at painting/qblendfunctions_p.h:244
#9  0x063d61b0 in qt_scale_image_rgb32_on_rgb32 (destPixels=0xb079a008 "\353\334\331\377\354\335\332\377\352\336\332\377\347\333\325\377\352\340\331\377\350\334\326\377\351\335\331\377\353\334\331\377\353\334\331\377\354\335\332\377\352\336\332\377\353\337\333\377\355\340\336\377\353\336\334\377\354\337\335\377\354\337\335\377\356\342\336\377\355\341\335\377\355\341\335\377\355\340\336\377\356\341\337\377\357\342\340\377\356\342\340\377\355\341\337\377\356\342\340\377\357\343\341\377\360\344\342\377\360\344\342\377\360\344\342\377\361\345\343\377\361\345\345\377\361\345\345\377\362\346\344\377\361\345\343\377\362\347\343\377\360\345\341\377\361\346\342\377\357\343\341\377\360\344\342\377\360\344\344\377\363\347\343\377\361\345\341\377\362\346\342\377\361\345\343\377\361\345\343\377\362\346\344\377\356\342\340\377\361\345\345\377\361\345\343\377\361\345\343\377"..., dbpl=6528, srcPixels=0xacb77008 <Address 0xacb77008 out of bounds>, sbpl=13056, targetRect=..., sourceRect=..., clip=..., const_alpha=256) at painting/qblendfunctions.cpp:630
#10 0x064a3f24 in QRasterPaintEngine::drawImage (this=0x894b8c0, r=..., img=..., sr=...) at painting/qpaintengine_raster.cpp:2709
#11 0x064a0b53 in QRasterPaintEngine::drawImage (this=0x894b8c0, p=..., img=...) at painting/qpaintengine_raster.cpp:2503
#12 0x064268b5 in QPainter::drawImage (this=0xbff90210, p=..., image=...) at painting/qpainter.cpp:5555
#13 0x063944dd in drawImage (this=0x8bdf4bc, matrix=..., mode=Qt::FastTransformation) at ../../src/gui/painting/qpainter.h:918
#14 QImage::transformed (this=0x8bdf4bc, matrix=..., mode=Qt::FastTransformation) at image/qimage.cpp:6570
#15 0x0639575f in QImage::scaled (this=0x8bdf4bc, s=..., aspectMode=Qt::KeepAspectRatio, mode=Qt::FastTransformation) at image/qimage.cpp:4380
#16 0x04bd95f2 in Gwenview::Document::prepareDownSampledImageForZoom (this=0x8c09600, zoom=0.34007352941176472) at /usr/src/debug/kdegraphics-4.6.5/gwenview/lib/document/document.cpp:375
#17 0x0808d6e9 in Gwenview::Preloader::doPreload (this=0x862d890) at /usr/src/debug/kdegraphics-4.6.5/gwenview/app/preloader.cpp:91
#18 0x0808d844 in Gwenview::Preloader::preload (this=0x862d890, url=..., size=...) at /usr/src/debug/kdegraphics-4.6.5/gwenview/app/preloader.cpp:73
#19 0x08088042 in Gwenview::MainWindow::preloadNextUrl (this=0x860f710) at /usr/src/debug/kdegraphics-4.6.5/gwenview/app/mainwindow.cpp:1474
#20 0x08088ef3 in Gwenview::MainWindow::qt_metacall (this=0x860f710, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbff9062c) at /usr/src/debug/kdegraphics-4.6.5/i686-redhat-linux-gnu/gwenview/app/mainwindow.moc:166
#21 0x0711579b in QMetaObject::metacall (object=0x860f710, cl=QMetaObject::InvokeMetaMethod, idx=81, argv=0xbff9062c) at kernel/qmetaobject.cpp:237
#22 0x07124cc7 in QMetaObject::activate (sender=0x89db838, m=0x724a6e4, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3278
#23 0x0712ba08 in QSingleShotTimer::timeout (this=0x89db838) at .moc/release-shared/qtimer.moc:82
#24 0x0712babd in QSingleShotTimer::timerEvent (this=0x89db838) at kernel/qtimer.cpp:308
#25 0x07124624 in QObject::event (this=0x89db838, e=0xbff90b5c) at kernel/qobject.cpp:1181
#26 0x062c358c in QApplicationPrivate::notify_helper (this=0x85848a0, receiver=0x89db838, e=0xbff90b5c) at kernel/qapplication.cpp:4462
#27 0x062c8292 in QApplication::notify (this=0xbff90eb8, receiver=0x89db838, e=0xbff90b5c) at kernel/qapplication.cpp:3862
#28 0x076a517b in KApplication::notify (this=0xbff90eb8, receiver=0x89db838, event=0xbff90b5c) at /usr/src/debug/kdelibs-4.6.5/kdeui/kernel/kapplication.cpp:311
#29 0x0710ef63 in QCoreApplication::notifyInternal (this=0xbff90eb8, receiver=0x89db838, event=0xbff90b5c) at kernel/qcoreapplication.cpp:731
#30 0x0713f951 in sendEvent (this=0x858a334) at kernel/qcoreapplication.h:215
#31 QTimerInfoList::activateTimers (this=0x858a334) at kernel/qeventdispatcher_unix.cpp:604
#32 0x0713c588 in timerSourceDispatch (source=0x858a368) at kernel/qeventdispatcher_glib.cpp:184
#33 idleTimerSourceDispatch (source=0x858a368) at kernel/qeventdispatcher_glib.cpp:231
#34 0x00af3192 in g_main_dispatch (context=0x8589690) at gmain.c:2149
#35 g_main_context_dispatch (context=0x8589690) at gmain.c:2702
#36 0x00af3978 in g_main_context_iterate (context=0x8589690, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2780
#37 0x00af3c35 in g_main_context_iteration (context=0x8589690, may_block=1) at gmain.c:2843
#38 0x0713ccad in QEventDispatcherGlib::processEvents (this=0x8569438, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#39 0x06377206 in QGuiEventDispatcherGlib::processEvents (this=0x8569438, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#40 0x0710e0fa in QEventLoop::processEvents (this=0xbff90e04, flags=...) at kernel/qeventloop.cpp:149
#41 0x0710e3aa in QEventLoop::exec (this=0xbff90e04, flags=...) at kernel/qeventloop.cpp:201
#42 0x07112f57 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#43 0x062c1398 in QApplication::exec () at kernel/qapplication.cpp:3736
#44 0x0807fa1a in main (argc=) at /usr/src/debug/kdegraphics-4.6.5/gwenview/app/main.cpp:139

Reported using DrKonqi
Comment 1 Myriam Schweingruber 2011-12-01 22:00:33 UTC
*** Bug 287628 has been marked as a duplicate of this bug. ***
Comment 2 Myriam Schweingruber 2011-12-01 22:01:08 UTC
Confirmed by duplicate.
Comment 3 Jekyll Wu 2012-05-29 09:38:58 UTC
*** Bug 278669 has been marked as a duplicate of this bug. ***
Comment 4 Jekyll Wu 2012-07-04 12:34:23 UTC
*** Bug 301498 has been marked as a duplicate of this bug. ***
Comment 5 Francesco Presel 2012-08-23 12:01:58 UTC
Created attachment 73417 [details]
New crash information added by DrKonqi

gwenview (2.8.5) on KDE Platform 4.8.5 (4.8.5) using Qt 4.8.1

- What I was doing when the application crashed:

After rotating approx. 10-20 pictures, the crash occurred

-- Backtrace (Reduced):
#6  0x00007fa36448191b in qt_scale_image_32bit<Blend_RGB32_on_RGB32_NoAlpha> (destPixels=<optimized out>, dbpl=7936, srcPixels=0x7fa2f9df8010 <Address 0x7fa2f9df8010 out of bounds>, sbpl=15872, targetRect=..., srcRect=..., clip=..., blender=...) at painting/qblendfunctions_p.h:244
#7  0x00007fa36447d22e in qt_scale_image_rgb32_on_rgb32 (destPixels=<optimized out>, dbpl=<optimized out>, srcPixels=<optimized out>, sbpl=<optimized out>, targetRect=..., sourceRect=..., clip=..., const_alpha=256) at painting/qblendfunctions.cpp:630
#8  0x00007fa3645482d9 in QRasterPaintEngine::drawImage (this=0x1a44880, r=..., img=..., sr=...) at painting/qpaintengine_raster.cpp:2380
#9  0x00007fa364546087 in QRasterPaintEngine::drawImage (this=<optimized out>, p=..., img=...) at painting/qpaintengine_raster.cpp:2174
#10 0x00007fa3644d25ff in QPainter::drawImage (this=<optimized out>, p=..., image=...) at painting/qpainter.cpp:5636
Comment 6 Jim Arnott 2012-11-29 20:15:38 UTC
Created attachment 75536 [details]
New crash information added by DrKonqi

gwenview (2.8.5) on KDE Platform 4.8.5 (4.8.5) using Qt 4.8.1

- What I was doing when the application crashed: rotating several images in gwenview crashed during rotate even if saved inbetween

-- Backtrace (Reduced):
#7  0x05412f1d in qt_scale_image_32bit<Blend_RGB32_on_RGB32_NoAlpha> (destPixels=0xa43ff008 "I\\d\377Wjr\377BW_\377@[e\377;_g\377Bgo\377Nox\377Ibl\377\032\062>\377'=I\377r\210\223\377=S^\377;PX\377\061DL\377l}\206\377\063CJ\377+7A\377*6@\377\032+4\377\071LT\377AV^\377Pfq\377]s~\377 6A\377/RV\377Ouw\377[\177\177\377|\233\234\377a\177\200\377]yz\377r\213\217\377x\221\225\377p\214\215\377v\222\222\377a|y\377f~|\377r\207\210\377Ujl\377L_d\377CT]\377h~\203\377\215\241\246\377[lo\377K^a\377C[[\377Yuu\377g\206\205\377s\222\217\377m\202\203\377p\202\203\377"..., dbpl=8000, srcPixels=0xa7d38008 <Address 0xa7d38008 out of bounds>, sbpl=16000, targetRect=..., srcRect=..., clip=..., blender=...) at painting/qblendfunctions_p.h:244
#8  0x0540e491 in qt_scale_image_rgb32_on_rgb32 (destPixels=0xa43ff008 "I\\d\377Wjr\377BW_\377@[e\377;_g\377Bgo\377Nox\377Ibl\377\032\062>\377'=I\377r\210\223\377=S^\377;PX\377\061DL\377l}\206\377\063CJ\377+7A\377*6@\377\032+4\377\071LT\377AV^\377Pfq\377]s~\377 6A\377/RV\377Ouw\377[\177\177\377|\233\234\377a\177\200\377]yz\377r\213\217\377x\221\225\377p\214\215\377v\222\222\377a|y\377f~|\377r\207\210\377Ujl\377L_d\377CT]\377h~\203\377\215\241\246\377[lo\377K^a\377C[[\377Yuu\377g\206\205\377s\222\217\377m\202\203\377p\202\203\377"..., dbpl=8000, srcPixels=0xa7d38008 <Address 0xa7d38008 out of bounds>, sbpl=16000, targetRect=..., sourceRect=..., clip=..., const_alpha=256) at painting/qblendfunctions.cpp:630
#9  0x054eccd3 in QRasterPaintEngine::drawImage (this=0x9957678, r=..., img=..., sr=...) at painting/qpaintengine_raster.cpp:2380
#10 0x054ea0bc in QRasterPaintEngine::drawImage (this=0x9957678, p=..., img=...) at painting/qpaintengine_raster.cpp:2174
#11 0x0546def4 in QPainter::drawImage (this=0xbf9b5440, p=..., image=...) at painting/qpainter.cpp:5636
Comment 7 Benni Hill 2012-12-10 22:00:38 UTC
*** Bug 311440 has been marked as a duplicate of this bug. ***
Comment 8 Benni Hill 2012-12-12 20:09:34 UTC
https://git.reviewboard.kde.org/r/107680/
Comment 9 Benni Hill 2012-12-13 13:19:46 UTC
Git commit fe4b195b2023aeae92a58188a4578c1c6b08db86 by Benjamin Löwe.
Committed on 12/12/2012 at 20:44.
Pushed by bennihill into branch 'master'.

Fix for Bug 282235 - Gwenview crashes after rotating picture
REVIEW: 107680
FIXED-IN: 4.10.0

M  +3    -0    lib/document/document.cpp

http://commits.kde.org/gwenview/fe4b195b2023aeae92a58188a4578c1c6b08db86