Bug 357020 - Crash in transform mask
Summary: Crash in transform mask
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (other bugs)
Version First Reported In: 2.9.10
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-12-21 22:40 UTC by Kieran McCusker
Modified: 2016-04-11 18:34 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kieran McCusker 2015-12-21 22:40:30 UTC
Application: krita (2.9.10)
KDE Platform Version: 4.14.14
Qt Version: 4.8.7
Operating System: Linux 4.4.0-0.rc5.git1.2.fc24.x86_64 x86_64
Distribution: "Fedora release 23 (Twenty Three)"

-- Information about the crash:
Fedora 23, kernel 4.4 (rawhide nodebug) Created a transform mask hid and showed it again canvas went blank. Chose selection tool and clicked where image was ad image appeared. distorted image. Crashed

The crash can be reproduced every time.

-- Backtrace:
Application: Krita (krita), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
84	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f9ccaa4b940 (LWP 30357))]

Thread 6 (Thread 0x7f9ca06f4700 (LWP 30365)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f9cc3e398e6 in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x56239d537190) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x56239d537140, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f9cc3e355f3 in QSemaphore::acquire (this=this@entry=0x56239d536e60, n=n@entry=1) at thread/qsemaphore.cpp:144
#4  0x00007f9cc973d38e in KisTileDataPooler::waitForWork (this=0x56239d536e50) at ../../../krita/image/tiles3/kis_tile_data_pooler.cc:165
#5  0x00007f9cc973d7b0 in KisTileDataPooler::run (this=0x56239d536e50) at ../../../krita/image/tiles3/kis_tile_data_pooler.cc:187
#6  0x00007f9cc3e3937c in QThreadPrivate::start (arg=0x56239d536e50) at thread/qthread_unix.cpp:352
#7  0x00007f9cc3b9460a in start_thread (arg=0x7f9ca06f4700) at pthread_create.c:334
#8  0x00007f9cc2b37a9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f9c94d1a700 (LWP 30366)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f9cc3e398e6 in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x56239d537540) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x56239d5374f0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f9cc3e35a13 in QSemaphore::tryAcquire (this=0x56239d537200, n=n@entry=1, timeout=timeout@entry=-1) at thread/qsemaphore.cpp:221
#4  0x00007f9cc9759523 in KisTileDataSwapper::waitForWork (this=this@entry=0x56239d536e90) at ../../../krita/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#5  0x00007f9cc97597da in KisTileDataSwapper::run (this=0x56239d536e90) at ../../../krita/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#6  0x00007f9cc3e3937c in QThreadPrivate::start (arg=0x56239d536e90) at thread/qthread_unix.cpp:352
#7  0x00007f9cc3b9460a in start_thread (arg=0x7f9c94d1a700) at pthread_create.c:334
#8  0x00007f9cc2b37a9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f9c87fff700 (LWP 30369)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f9cc3e398e6 in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x56239dcafa50) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x56239dcaf5b8, mutex=mutex@entry=0x56239dcaf5b0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f9cc4eca54c in QFileInfoGatherer::run (this=0x56239dcaf5a0) at dialogs/qfileinfogatherer.cpp:214
#4  0x00007f9cc3e3937c in QThreadPrivate::start (arg=0x56239dcaf5a0) at thread/qthread_unix.cpp:352
#5  0x00007f9cc3b9460a in start_thread (arg=0x7f9c87fff700) at pthread_create.c:334
#6  0x00007f9cc2b37a9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f9c95d1c700 (LWP 30370)):
#0  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f9c90000910, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:182
#1  0x00007f9cc3f7bdb8 in QEventDispatcherUNIX::processEvents (this=0x7f9c900008f0, flags=...) at kernel/qeventdispatcher_unix.cpp:944
#2  0x00007f9cc3f47151 in QEventLoop::processEvents (this=this@entry=0x7f9c95d1bc40, flags=...) at kernel/qeventloop.cpp:149
#3  0x00007f9cc3f474c5 in QEventLoop::exec (this=this@entry=0x7f9c95d1bc40, flags=...) at kernel/qeventloop.cpp:204
#4  0x00007f9cc3e36a89 in QThread::exec (this=this@entry=0x56239dcafb50) at thread/qthread.cpp:538
#5  0x00007f9cc3f27223 in QInotifyFileSystemWatcherEngine::run (this=0x56239dcafb50) at io/qfilesystemwatcher_inotify.cpp:265
#6  0x00007f9cc3e3937c in QThreadPrivate::start (arg=0x56239dcafb50) at thread/qthread_unix.cpp:352
#7  0x00007f9cc3b9460a in start_thread (arg=0x7f9c95d1c700) at pthread_create.c:334
#8  0x00007f9cc2b37a9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f9c9551b700 (LWP 30377)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f9c771da2fa in cnd_wait (mtx=0x56239e7b8dc8, cond=0x56239e7b8df0) at ../../../../../include/c11/threads_posix.h:154
#2  pipe_semaphore_wait (sema=0x56239e7b8dc8) at ../../../../../src/gallium/auxiliary/os/os_thread.h:259
#3  radeon_drm_cs_emit_ioctl (param=param@entry=0x56239e7b8a80) at radeon_drm_winsys.c:644
#4  0x00007f9c771d9a37 in impl_thrd_routine (p=<optimized out>) at ../../../../../include/c11/threads_posix.h:87
#5  0x00007f9cc3b9460a in start_thread (arg=0x7f9c9551b700) at pthread_create.c:334
#6  0x00007f9cc2b37a9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f9ccaa4b940 (LWP 30357)):
[KCrash Handler]
#6  0x00007f9cc2a69a98 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#7  0x00007f9cc2a6b69a in __GI_abort () at abort.c:89
#8  0x00007f9cc3e2e7bd in qt_message_output (msgType=msgType@entry=QtFatalMsg, buf=<optimized out>) at global/qglobal.cpp:2423
#9  0x00007f9cc3e2e941 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, msg=msg@entry=0x7f9cc920795a "%s", ap=ap@entry=0x7fff4e7d72a0) at global/qglobal.cpp:2469
#10 0x00007f9cc3e2f261 in qFatal (msg=msg@entry=0x7f9cc920795a "%s") at global/qglobal.cpp:2652
#11 0x00007f9cc9206b1a in kis_assert_common (assertion=assertion@entry=0x7f9c9cf2f760 "!m_currentArgs.continuedTransform()", file=file@entry=0x7f9c9cf2f448 "../../../../../krita/plugins/tools/tool_transform2/kis_tool_transform.cc", line=line@entry=1107, throwException=throwException@entry=false) at ../../../krita/libglobal/kis_assert.cpp:76
#12 0x00007f9cc92071c7 in kis_assert_recoverable (assertion=assertion@entry=0x7f9c9cf2f760 "!m_currentArgs.continuedTransform()", file=file@entry=0x7f9c9cf2f448 "../../../../../krita/plugins/tools/tool_transform2/kis_tool_transform.cc", line=line@entry=1107) at ../../../krita/libglobal/kis_assert.cpp:85
#13 0x00007f9c9cf03462 in KisToolTransform::slotResetTransform (this=0x56239fc6e6d0) at ../../../../../krita/plugins/tools/tool_transform2/kis_tool_transform.cc:1107
#14 0x00007f9cc3f5ca80 in QMetaObject::activate (sender=sender@entry=0x5623a0048770, m=m@entry=0x7f9c9d1400c0 <KisToolTransformConfigWidget::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x0) at kernel/qobject.cpp:3567
#15 0x00007f9c9cef2de3 in KisToolTransformConfigWidget::sigResetTransform (this=this@entry=0x5623a0048770) at moc_kis_tool_transform_config_widget.cpp:236
#16 0x00007f9c9cf0711a in KisToolTransformConfigWidget::slotSetWarpModeButtonClicked (this=0x5623a0048770, value=<optimized out>) at ../../../../../krita/plugins/tools/tool_transform2/kis_tool_transform_config_widget.cpp:759
#17 0x00007f9cc3f5ca80 in QMetaObject::activate (sender=sender@entry=0x56239f549350, m=m@entry=0x7f9cc54c4880 <QAbstractButton::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fff4e7d7770) at kernel/qobject.cpp:3567
#18 0x00007f9cc50508e2 in QAbstractButton::clicked (this=this@entry=0x56239f549350, _t1=true) at .moc/release-shared/moc_qabstractbutton.cpp:219
#19 0x00007f9cc4d85cf3 in QAbstractButtonPrivate::emitClicked (this=this@entry=0x5623a0027640) at widgets/qabstractbutton.cpp:548
#20 0x00007f9cc4d87154 in QAbstractButtonPrivate::click (this=this@entry=0x5623a0027640) at widgets/qabstractbutton.cpp:541
#21 0x00007f9cc4d87264 in QAbstractButton::mouseReleaseEvent (this=0x56239f549350, e=0x7fff4e7d7d00) at widgets/qabstractbutton.cpp:1123
#22 0x00007f9cc4e4d21a in QToolButton::mouseReleaseEvent (this=<optimized out>, e=<optimized out>) at widgets/qtoolbutton.cpp:723
#23 0x00007f9cc4a06140 in QWidget::event (this=0x56239f549350, event=0x7fff4e7d7d00) at kernel/qwidget.cpp:8775
#24 0x00007f9cc49af93c in QApplicationPrivate::notify_helper (this=0x56239c94dce0, receiver=0x56239f549350, e=0x7fff4e7d7d00) at kernel/qapplication.cpp:4565
#25 0x00007f9cc49b6956 in QApplication::notify (this=<optimized out>, receiver=receiver@entry=0x56239f549350, e=e@entry=0x7fff4e7d7d00) at kernel/qapplication.cpp:4108
#26 0x00007f9cca3c1115 in KisApplication::notify (this=<optimized out>, receiver=0x56239f549350, event=0x7fff4e7d7d00) at ../../../krita/ui/KisApplication.cpp:543
#27 0x00007f9cc3f488dd in QCoreApplication::notifyInternal (this=0x7fff4e7d86a0, receiver=0x56239f549350, event=0x7fff4e7d7d00) at kernel/qcoreapplication.cpp:955
#28 0x00007f9cc49b5f5d in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x56239f549350, event=event@entry=0x7fff4e7d7d00, alienWidget=alienWidget@entry=0x56239f549350, nativeWidget=nativeWidget@entry=0x56239daddbe0, buttonDown=buttonDown@entry=0x7f9cc54e23c8 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:231
#29 0x00007f9cc4a30862 in QETWidget::translateMouseEvent (this=this@entry=0x56239daddbe0, event=event@entry=0x7fff4e7d8070) at kernel/qapplication_x11.cpp:4546
#30 0x00007f9cc4a2f22d in QApplication::x11ProcessEvent (this=0x7fff4e7d86a0, event=event@entry=0x7fff4e7d8070) at kernel/qapplication_x11.cpp:3663
#31 0x00007f9cc4a58c87 in QEventDispatcherX11::processEvents (this=0x56239c82b7c0, flags=...) at kernel/qeventdispatcher_x11.cpp:132
#32 0x00007f9cc3f47151 in QEventLoop::processEvents (this=this@entry=0x7fff4e7d82d0, flags=...) at kernel/qeventloop.cpp:149
#33 0x00007f9cc3f474c5 in QEventLoop::exec (this=this@entry=0x7fff4e7d82d0, flags=...) at kernel/qeventloop.cpp:204
#34 0x00007f9cc3f4d069 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1227
#35 0x000056239a473618 in main (argc=<optimized out>, argv=<optimized out>) at ../../krita/main.cc:204

Possible duplicates by query: bug 355205, bug 350280, bug 349819.

Reported using DrKonqi
Comment 1 Halla Rempt 2016-03-25 12:35:00 UTC
Hi Kieran,

I've added this bug to this phabricator task: https://phabricator.kde.org/T1947

it looks similar, but is not exactly the same as: https://bugs.kde.org/show_bug.cgi?id=352724
Comment 2 Dmitry Kazakov 2016-04-11 18:34:34 UTC
Git commit 695cc85ebc95f0c1e40024105172016e37148c6f by Dmitry Kazakov.
Committed on 11/04/2016 at 18:34.
Pushed by dkazakov into branch 'master'.

Fix crash when switching transformation type in Transformation Masks

We shouldn't try to fetch the transform args from the masks when
resetting the transformation mask.
Related: bug 352724

M  +12   -8    plugins/tools/tool_transform2/kis_tool_transform.cc
M  +1    -1    plugins/tools/tool_transform2/kis_tool_transform.h

http://commits.kde.org/krita/695cc85ebc95f0c1e40024105172016e37148c6f