Summary: | Gwenview crashes when I activate 100% zoom by either middle click or toolbar button | ||
---|---|---|---|
Product: | [Applications] gwenview | Reporter: | Matěj Laitl <matej> |
Component: | general | Assignee: | Gwenview Bugs <gwenview-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andy, aredc0987, atli.jonsson+kde, benjamin.savs, bjourne, cfeck, ciaran.gillespie, eseifert, fadnix, greg, hipsterical, i1421241, isc.hernandez, iyesin+kde, jonay.santana, kde, kdebugs, ken20001, manuel.manu.delfin, michael, myriam, orangesandsyringes, pedron.alexandre, philipp.l.klaus, rini17, robin, rootkit85, sir7empest, ThomasBleher |
Priority: | NOR | Keywords: | drkonqi |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/gwenview/8f6d726fce8fae49991d8f4c9062cbedba70e58a | Version Fixed In: | 16.12 |
Attachments: | gwenview-crash-scan-012.jpg |
Description
Matěj Laitl
2016-01-04 22:36:14 UTC
Created attachment 96461 [details]
gwenview-crash-scan-012.jpg
I can reproduce the crash on Debian Unstable. Just happens with some larger pictures. Seems, I have the same crash: 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 0x7f0bbd80b9c0 (LWP 5258))] Thread 3 (Thread 0x7f0bbb5b1700 (LWP 5259)): #0 0x00007f0bcc166e8d in poll () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f0bc505bc62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007f0bc505d8d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007f0bbd2dc629 in QXcbEventReader::run (this=0x16223c0) at qxcbconnection.cpp:1253 #4 0x00007f0bcc85c84e in QThreadPrivate::start (arg=0x16223c0) at thread/qthread_unix.cpp:331 #5 0x00007f0bc766e6fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #6 0x00007f0bcc172b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6 Thread 2 (Thread 0x7f0bae116700 (LWP 5260)): #0 0x00007f0bc76743a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0 #1 0x00007f0bb204e213 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so #2 0x00007f0bb204d937 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so #3 0x00007f0bc766e6fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #4 0x00007f0bcc172b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6 Thread 1 (Thread 0x7f0bbd80b9c0 (LWP 5258)): [KCrash Handler] #6 Unroll3BytesSkip1SwapSwapFirst (info=0x1bc7380, wIn=0x7ffdefee29b0, accum=0x2358000 <error: Cannot access memory at address 0x2358000>, Stride=1236970) at cmspack.c:296 #7 0x00007f0bcb522bab in PrecalculatedXFORM (p=0x1bc7380, in=<optimized out>, out=<optimized out>, Size=1236970, Stride=1236970) at cmsxform.c:319 #8 0x00007f0bd0860c99 in Gwenview::RasterImageView::updateFromScaler (this=0x1badc50, zoomedImageLeft=1845, zoomedImageTop=3100, image=...) at /build/gwenview-iJ9mAT/gwenview-15.12.3/lib/documentview/rasterimageview.cpp:322 #9 0x00007f0bcca6be4f in QtPrivate::QSlotObjectBase::call (a=0x7ffdefee2c20, r=0x1badc50, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124 #10 QMetaObject::activate (sender=sender@entry=0x1ee4080, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdefee2c20) at kernel/qobject.cpp:3698 #11 0x00007f0bcca6c7d7 in QMetaObject::activate (sender=sender@entry=0x1ee4080, m=m@entry=0x7f0bd0b08800 <Gwenview::ImageScaler::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdefee2c20) at kernel/qobject.cpp:3578 #12 0x00007f0bd08c4581 in Gwenview::ImageScaler::scaledRect (this=this@entry=0x1ee4080, _t1=1845, _t2=3100, _t3=...) at /build/gwenview-iJ9mAT/gwenview-15.12.3/obj-x86_64-linux-gnu/lib/moc_imagescaler.cpp:135 #13 0x00007f0bd0881947 in Gwenview::ImageScaler::scaleRect (this=this@entry=0x1ee4080, rect=...) at /build/gwenview-iJ9mAT/gwenview-15.12.3/lib/imagescaler.cpp:132 #14 0x00007f0bd08820e7 in Gwenview::ImageScaler::doScale (this=0x1ee4080) at /build/gwenview-iJ9mAT/gwenview-15.12.3/lib/imagescaler.cpp:122 #15 0x00007f0bd08821a5 in Gwenview::ImageScaler::setDestinationRegion (this=<optimized out>, region=...) at /build/gwenview-iJ9mAT/gwenview-15.12.3/lib/imagescaler.cpp:102 #16 0x00007f0bd085ef07 in Gwenview::RasterImageViewPrivate::setScalerRegionToVisibleRect (this=0x1bea320) at /build/gwenview-iJ9mAT/gwenview-15.12.3/lib/documentview/rasterimageview.cpp:151 #17 Gwenview::RasterImageView::updateImageRect (this=0x1badc50, imageRect=...) at /build/gwenview-iJ9mAT/gwenview-15.12.3/lib/documentview/rasterimageview.cpp:305 #18 0x00007f0bd08c6f39 in Gwenview::RasterImageView::qt_static_metacall (_o=_o@entry=0x1badc50, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=5, _a=_a@entry=0x7ffdefee2ff0) at /build/gwenview-iJ9mAT/gwenview-15.12.3/obj-x86_64-linux-gnu/lib/moc_rasterimageview.cpp:107 #19 0x00007f0bcca6bfca in QMetaObject::activate (sender=0x1b59b80, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffdefee2ff0) at kernel/qobject.cpp:3713 #20 0x00007f0bcca6c7d7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f0bd0b09040 <Gwenview::Document::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffdefee2ff0) at kernel/qobject.cpp:3578 #21 0x00007f0bd08c3515 in Gwenview::Document::imageRectUpdated (this=<optimized out>, _t1=...) at /build/gwenview-iJ9mAT/gwenview-15.12.3/obj-x86_64-linux-gnu/lib/moc_document.cpp:281 #22 0x00007f0bcca6bfca in QMetaObject::activate (sender=sender@entry=0x1e95800, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdefee3120) at kernel/qobject.cpp:3713 #23 0x00007f0bcca6c7d7 in QMetaObject::activate (sender=sender@entry=0x1e95800, m=m@entry=0x7f0bd0b09080 <Gwenview::AbstractDocumentImpl::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdefee3120) at kernel/qobject.cpp:3578 #24 0x00007f0bd08c31f2 in Gwenview::AbstractDocumentImpl::imageRectUpdated (this=this@entry=0x1e95800, _t1=...) at /build/gwenview-iJ9mAT/gwenview-15.12.3/obj-x86_64-linux-gnu/lib/moc_abstractdocumentimpl.cpp:177 #25 0x00007f0bd084a9bb in Gwenview::DocumentLoadedImpl::init (this=0x1e95800) at /build/gwenview-iJ9mAT/gwenview-15.12.3/lib/document/documentloadedimpl.cpp:66 #26 0x00007f0bd0845825 in Gwenview::Document::switchToImpl (this=0x1b59b80, impl=impl@entry=0x1e95800) at /build/gwenview-iJ9mAT/gwenview-15.12.3/lib/document/document.cpp:254 #27 0x00007f0bd0844afc in Gwenview::AbstractDocumentImpl::switchToImpl (this=this@entry=0x1b5a8c0, impl=impl@entry=0x1e95800) at /build/gwenview-iJ9mAT/gwenview-15.12.3/lib/document/abstractdocumentimpl.cpp:57 #28 0x00007f0bd084ba18 in Gwenview::LoadingDocumentImpl::slotImageLoaded (this=0x1b5a8c0) at /build/gwenview-iJ9mAT/gwenview-15.12.3/lib/document/loadingdocumentimpl.cpp:551 #29 0x00007f0bcca6bfca in QMetaObject::activate (sender=0x1b5af98, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3713 #30 0x00007f0bcc85415e in QFutureWatcherBase::event (this=<optimized out>, event=0x7f0ba0003780) at thread/qfuturewatcher.cpp:338 #31 0x00007f0bcdd0005c in QApplicationPrivate::notify_helper (this=this@entry=0x1603250, receiver=receiver@entry=0x1b5af98, e=e@entry=0x7f0ba0003780) at kernel/qapplication.cpp:3716 #32 0x00007f0bcdd05516 in QApplication::notify (this=0x7ffdefee38f0, receiver=0x1b5af98, e=0x7f0ba0003780) at kernel/qapplication.cpp:3499 #33 0x00007f0bcca3d62b in QCoreApplication::notifyInternal (this=0x7ffdefee38f0, receiver=0x1b5af98, event=event@entry=0x7f0ba0003780) at kernel/qcoreapplication.cpp:965 #34 0x00007f0bcca3fa26 in QCoreApplication::sendEvent (event=0x7f0ba0003780, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224 #35 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x15f6f20) at kernel/qcoreapplication.cpp:1593 #36 0x00007f0bcca3ff08 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1451 #37 0x00007f0bcca93673 in postEventSourceDispatch (s=0x1652cd0) at kernel/qeventdispatcher_glib.cpp:271 #38 0x00007f0bc714d127 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #39 0x00007f0bc714d380 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #40 0x00007f0bc714d42c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #41 0x00007f0bcca93a7f in QEventDispatcherGlib::processEvents (this=0x1652cb0, flags=...) at kernel/qeventdispatcher_glib.cpp:418 #42 0x00007f0bcca3adea in QEventLoop::exec (this=this@entry=0x7ffdefee37e0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #43 0x00007f0bcca42e8c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229 #44 0x00007f0bccd76c3c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1542 #45 0x00007f0bcdcfc495 in QApplication::exec () at kernel/qapplication.cpp:2976 #46 0x000000000044ba70 in main (argc=2, argv=<optimized out>) at /build/gwenview-iJ9mAT/gwenview-15.12.3/app/main.cpp:166 *** Bug 328302 has been marked as a duplicate of this bug. *** *** Bug 352230 has been marked as a duplicate of this bug. *** *** Bug 356857 has been marked as a duplicate of this bug. *** *** Bug 358862 has been marked as a duplicate of this bug. *** *** Bug 362248 has been marked as a duplicate of this bug. *** *** Bug 362796 has been marked as a duplicate of this bug. *** Having the same crash and it seems I'm not the only one with the amount of duplicates being marked. Here's the system info: root@localhost:~> uname -a Linux Polaris 4.5.3-1-default #1 SMP PREEMPT Thu May 5 05:03:39 UTC 2016 (d29747f) x86_64 x86_64 x86_64 GNU/Linux root@localhost:~> lsb_release -a LSB Version: core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64:desktop-4.0-amd64:desktop-4.0-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.2-amd64:graphics-3.2-noarch:graphics-4.0-amd64:graphics-4.0-noarch Distributor ID: openSUSE Description: openSUSE Tumbleweed (20160422) (x86_64) Release: 20160422 Codename: Tumbleweed Qt version: 5.5.1 Gwenview version: 15.12.3 Backtrace: Application: Gwenview (gwenview), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f6a0c689980 (LWP 4597))] Thread 2 (Thread 0x7f69f52b8700 (LWP 4598)): #0 0x00007f6a070f707d in poll () from /lib64/libc.so.6 #1 0x00007f69ff1813f2 in ?? () from /usr/lib64/libxcb.so.1 #2 0x00007f69ff182fc7 in xcb_wait_for_event () from /usr/lib64/libxcb.so.1 #3 0x00007f69f6fe1dd9 in ?? () from /usr/lib64/libQt5XcbQpa.so.5 #4 0x00007f6a077ea91f in QThreadPrivate::start (arg=0x251bdb0) at thread/qthread_unix.cpp:331 #5 0x00007f6a015e1424 in start_thread () from /lib64/libpthread.so.0 #6 0x00007f6a070ffadd in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7f6a0c689980 (LWP 4597)): [KCrash Handler] #6 Unroll3BytesSkip1SwapSwapFirst (info=0x2af0f50, wIn=0x7ffdab24ff40, accum=0x30e7000 <error: Cannot access memory at address 0x30e7000>, Stride=1529275) at cmspack.c:296 #7 0x00007f6a05f7311b in PrecalculatedXFORM (p=0x2af0f50, in=<optimized out>, out=<optimized out>, Size=1529275, Stride=1529275) at cmsxform.c:319 #8 0x00007f6a0bda7658 in Gwenview::RasterImageView::updateFromScaler (this=0x2b4c910, zoomedImageLeft=-237, zoomedImageTop=-39, image=...) at /usr/src/debug/gwenview-15.12.3/lib/documentview/rasterimageview.cpp:322 #9 0x00007f6a079e8cc7 in QtPrivate::QSlotObjectBase::call (a=0x7ffdab250180, r=0x2b4c910, this=<optimized out>) at ../../src/corelib/kernel/qobject_impl.h:124 #10 QMetaObject::activate (sender=sender@entry=0x2728620, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdab250180) at kernel/qobject.cpp:3698 #11 0x00007f6a079e9637 in QMetaObject::activate (sender=sender@entry=0x2728620, m=m@entry=0x7f6a0c04b7e0 <Gwenview::ImageScaler::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdab250180) at kernel/qobject.cpp:3578 #12 0x00007f6a0be07231 in Gwenview::ImageScaler::scaledRect (this=this@entry=0x2728620, _t1=-237, _t2=-39, _t3=...) at /usr/src/debug/gwenview-15.12.3/build/lib/moc_imagescaler.cpp:135 #13 0x00007f6a0bdc7304 in Gwenview::ImageScaler::scaleRect (this=this@entry=0x2728620, rect=...) at /usr/src/debug/gwenview-15.12.3/lib/imagescaler.cpp:132 #14 0x00007f6a0bdc7a4f in Gwenview::ImageScaler::doScale (this=0x2728620) at /usr/src/debug/gwenview-15.12.3/lib/imagescaler.cpp:122 #15 0x00007f6a0bdc7b05 in Gwenview::ImageScaler::setDestinationRegion (this=<optimized out>, region=...) at /usr/src/debug/gwenview-15.12.3/lib/imagescaler.cpp:102 #16 0x00007f6a0bda6274 in Gwenview::RasterImageViewPrivate::setScalerRegionToVisibleRect (this=0x2b5b140) at /usr/src/debug/gwenview-15.12.3/lib/documentview/rasterimageview.cpp:151 #17 Gwenview::RasterImageView::updateBuffer (this=this@entry=0x2b4c910, region=...) at /usr/src/debug/gwenview-15.12.3/lib/documentview/rasterimageview.cpp:443 #18 0x00007f6a0be0963b in Gwenview::RasterImageView::qt_static_metacall (_o=_o@entry=0x2b4c910, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=7, _a=_a@entry=0x7ffdab250450) at /usr/src/debug/gwenview-15.12.3/build/lib/moc_rasterimageview.cpp:109 #19 0x00007f6a079e8e3a in QMetaObject::activate (sender=sender@entry=0x2f40870, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3713 #20 0x00007f6a079e9637 in QMetaObject::activate (sender=sender@entry=0x2f40870, m=m@entry=0x7f6a07dff8c0 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3578 #21 0x00007f6a07a64420 in QTimer::timeout (this=this@entry=0x2f40870) at .moc/moc_qtimer.cpp:197 #22 0x00007f6a079f4f98 in QTimer::timerEvent (this=0x2f40870, e=<optimized out>) at kernel/qtimer.cpp:247 #23 0x00007f6a079e9bdb in QObject::event (this=0x2f40870, e=<optimized out>) at kernel/qobject.cpp:1261 #24 0x00007f6a0906887c in QApplicationPrivate::notify_helper (this=this@entry=0x2501b70, receiver=receiver@entry=0x2f40870, e=e@entry=0x7ffdab2507c0) at kernel/qapplication.cpp:3716 #25 0x00007f6a0906d986 in QApplication::notify (this=0x7ffdab250ae0, receiver=0x2f40870, e=0x7ffdab2507c0) at kernel/qapplication.cpp:3499 #26 0x00007f6a079bbbf3 in QCoreApplication::notifyInternal (this=0x7ffdab250ae0, receiver=0x2f40870, event=event@entry=0x7ffdab2507c0) at kernel/qcoreapplication.cpp:965 #27 0x00007f6a07a0e29d in QCoreApplication::sendEvent (event=0x7ffdab2507c0, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:224 #28 QTimerInfoList::activateTimers (this=0x2551590) at kernel/qtimerinfo_unix.cpp:637 #29 0x00007f6a07a0e7b1 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:177 #30 0x00007f6a010c2197 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #31 0x00007f6a010c23c8 in ?? () from /usr/lib64/libglib-2.0.so.0 #32 0x00007f6a010c246c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #33 0x00007f6a07a0f3ef in QEventDispatcherGlib::processEvents (this=0x2556900, flags=...) at kernel/qeventdispatcher_glib.cpp:418 #34 0x00007f6a079b953a in QEventLoop::exec (this=this@entry=0x7ffdab2509e0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #35 0x00007f6a079c11fd in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229 #36 0x0000000000450630 in main (argc=2, argv=<optimized out>) at /usr/src/debug/gwenview-15.12.3/app/main.cpp:166 *** Bug 367679 has been marked as a duplicate of this bug. *** *** Bug 367661 has been marked as a duplicate of this bug. *** *** Bug 366262 has been marked as a duplicate of this bug. *** *** Bug 366341 has been marked as a duplicate of this bug. *** *** Bug 370250 has been marked as a duplicate of this bug. *** *** Bug 369688 has been marked as a duplicate of this bug. *** *** Bug 370536 has been marked as a duplicate of this bug. *** It seems to happen on grayscale images. Probably the code that passes the image data to the LCMS library does not correctly handle QImage::Format_Grayscale8. Did anybody see this bug also with color images? This could fix it. Feedback appreciated. diff --git a/lib/documentview/rasterimageview.cpp b/lib/documentview/rasterimageview.cpp index 2131c07..02e18a6 100644 --- a/lib/documentview/rasterimageview.cpp +++ b/lib/documentview/rasterimageview.cpp @@ -314,9 +314,7 @@ void RasterImageView::slotDocumentIsAnimatedUpdated() void RasterImageView::updateFromScaler(int zoomedImageLeft, int zoomedImageTop, const QImage& image) { if (d->mApplyDisplayTransform) { - if (!d->mDisplayTransform) { - d->updateDisplayTransform(image.format()); - } + d->updateDisplayTransform(image.format()); if (d->mDisplayTransform) { quint8 *bytes = const_cast<quint8*>(image.bits()); cmsDoTransform(d->mDisplayTransform, bytes, bytes, image.width() * image.height()); I get the crash on full color images, I've never tried grayscale images. I get the crash on almost 100% percent of images. Version 16.04.3 Frameworks 5.26.0 Qt 5.6.1 *** Bug 372387 has been marked as a duplicate of this bug. *** The only other idea I have is that it happens when switching between images without alpha channel (RGB, mostly JPEG) and images with alpha channel (RGBA, usually PNG). *** Bug 372647 has been marked as a duplicate of this bug. *** Can someone please test patch from comment #19? I do not get a crash because I have no color management installed. *** Bug 372746 has been marked as a duplicate of this bug. *** *** Bug 373295 has been marked as a duplicate of this bug. *** The patch from comment #19 solves the issue for me. Git commit 8f6d726fce8fae49991d8f4c9062cbedba70e58a by Christoph Feck. Committed on 06/12/2016 at 15:22. Pushed by cfeck into branch 'Applications/16.12'. Fix crash when updating the scaler The color correction transform needs to be updated even if it was already created, because a change in image depth or format may require an updated transform. FIXED-IN: 16.12 M +1 -3 lib/documentview/rasterimageview.cpp https://commits.kde.org/gwenview/8f6d726fce8fae49991d8f4c9062cbedba70e58a *** Bug 373375 has been marked as a duplicate of this bug. *** *** Bug 373581 has been marked as a duplicate of this bug. *** *** Bug 373599 has been marked as a duplicate of this bug. *** *** Bug 375433 has been marked as a duplicate of this bug. *** *** Bug 381364 has been marked as a duplicate of this bug. *** *** Bug 382420 has been marked as a duplicate of this bug. *** *** Bug 383172 has been marked as a duplicate of this bug. *** *** Bug 404049 has been marked as a duplicate of this bug. *** |