Bug 390336 - Crash when scaling a very specific document.
Summary: Crash when scaling a very specific document.
Status: RESOLVED WORKSFORME
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: drkonqi, triaged
Depends on:
Blocks:
 
Reported: 2018-02-12 18:24 UTC by wolthera
Modified: 2018-10-29 02:20 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Document that crashes Krita when scaled to 72 dpi. (1.03 MB, application/x-krita)
2018-02-12 18:26 UTC, wolthera
Details

Note You need to log in before you can comment on or make changes to this bug.
Description wolthera 2018-02-12 18:24:25 UTC
Application: krita (4.0.0-beta1 (git 0c60008))

Qt Version: 5.9.3
Frameworks Version: 5.42.0
Operating System: Linux 4.13.0-32-generic x86_64
Distribution: KDE neon User Edition 5.12

-- Information about the crash:
I only managed to get this document because there seems to be a certain bug with the way how Krita reports the DPI to python and back.

None the less, scaling the document in question to 72 DPI consistently crashes Krita and gives the following backtrace.

The crash can be reproduced every time.

-- Backtrace:
Application: Krita (krita), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f80b4840900 (LWP 4634))]

Thread 5 (Thread 0x7f80633b1700 (LWP 4641)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f80b1be865b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f80b2d2f84a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3  0x00007f80b1be7709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f80aad656ba in start_thread (arg=0x7f80633b1700) at pthread_create.c:333
#5  0x00007f80b12e041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f8075eba700 (LWP 4640)):
#0  0x00007f80b12d027d in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f80a97af6f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f80a976be74 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f80a976c330 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f80a976c49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f80b1e116cb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f80b1db9e2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f80b1be28f4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f8092a0cd25 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f80b1be7709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f80aad656ba in start_thread (arg=0x7f8075eba700) at pthread_create.c:333
#11 0x00007f80b12e041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f80756b9700 (LWP 4638)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f80b1be865b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f80b1be15ff in QSemaphore::tryAcquire(int, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f80aee79f53 in KisTileDataSwapper::waitForWork (this=<optimized out>) at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007f80aee7a14a in KisTileDataSwapper::run (this=0x7f80af375f40 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>) at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007f80b1be7709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f80aad656ba in start_thread (arg=0x7f80756b9700) at pthread_create.c:333
#7  0x00007f80b12e041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f808d4d6700 (LWP 4636)):
#0  0x00007f80a97b0a79 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f80a976b464 in g_main_context_release () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f80a976c346 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f80a976c49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f80b1e116cb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f80b1db9e2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f80b1be28f4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f80aaf91315 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#8  0x00007f80b1be7709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f80aad656ba in start_thread (arg=0x7f808d4d6700) at pthread_create.c:333
#10 0x00007f80b12e041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f80b4840900 (LWP 4634)):
[KCrash Handler]
#6  KisUpdateScheduler::addSpontaneousJob (this=0x6000000ef, spontaneousJob=spontaneousJob@entry=0xa94bbc0) at /home/wolthera/krita/src/libs/image/kis_update_scheduler.cpp:209
#7  0x00007f80aef7af90 in KisImage::addSpontaneousJob (this=<optimized out>, spontaneousJob=spontaneousJob@entry=0xa94bbc0) at /home/wolthera/krita/src/libs/image/kis_image.cc:1440
#8  0x00007f80b3efd207 in KisShapeLayerCanvas::slotStartAsyncRepaint (this=0x11a10dc0) at /home/wolthera/krita/src/libs/ui/flake/kis_shape_layer_canvas.cpp:207
#9  0x00007f80b1de8279 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f80b1de8279 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007f80b1de8279 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007f80b3492f23 in KisRelaxedTimer::timerEvent (this=0x11a128d0, event=<optimized out>) at /home/wolthera/krita/src/libs/global/kis_relaxed_timer.cpp:100
#13 0x00007f80b1de9273 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f80b2b19b9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007f80b2b215a7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007f80b418d277 in KisApplication::notify (this=<optimized out>, receiver=0x11a128d0, event=0x7ffffa6f3470) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:600
#17 0x00007f80b1dbbdf8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f80b1e10a7e in QTimerInfoList::activateTimers() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007f80b1e11301 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007f80a976c197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007f80a976c3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007f80a976c49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f80b1e116af in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007f80b1db9e2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007f80b1dc2d64 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00000000004058a4 in main (argc=1, argv=<optimized out>) at /home/wolthera/krita/src/krita/main.cc:312

Reported using DrKonqi
Comment 1 wolthera 2018-02-12 18:26:27 UTC
Created attachment 110571 [details]
Document that crashes Krita when scaled to 72 dpi.

Mind you, it's proly some division by 0 kind of error.
Comment 2 Halla Rempt 2018-02-15 11:24:50 UTC
I don't get a crash... What are the exact settings for the scale image dialog?
Comment 3 Halla Rempt 2018-02-26 15:14:42 UTC
It must be yet another timing issue. The crash occurs after the image has been scaled, when the vector layer starts repainting:

#6  KisUpdateScheduler::addSpontaneousJob (this=0x6000000ef, spontaneousJob=spontaneousJob@entry=0xa94bbc0) at /home/wolthera/krita/src/libs/image/kis_update_scheduler.cpp:209
#7  0x00007f80aef7af90 in KisImage::addSpontaneousJob (this=<optimized out>, spontaneousJob=spontaneousJob@entry=0xa94bbc0) at /home/wolthera/krita/src/libs/image/kis_image.cc:1440
#8  0x00007f80b3efd207 in KisShapeLayerCanvas::slotStartAsyncRepaint (this=0x11a10dc0) at /home/wolthe

Can you still reproduce this crash with that document?
Comment 4 Andrew Crouthamel 2018-09-28 03:29:52 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 Andrew Crouthamel 2018-10-29 02:20:15 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!