https://bugs.kde.org/show_bug.cgi?id=414672
Bug ID: 414672
Summary: Crash in uninitialized transform tool
Product: krita
Version: git master
Platform: Other
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: Tools/Transform
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 124195
--> https://bugs.kde.org/attachment.cgi?id=124195&action=edit
gdb backtrace - thread apply all bt
SUMMARY
Krita crashes a lot on transform tool.
STEPS TO REPRODUCE
1. Paint something.
2. Select something.
3. Try to transform it. If it doesn't crash the first time, return to 1.
OBSERVED RESULT
Crash.
EXPECTED RESULT
No crash.
ADDITIONAL INFORMATION
It happened three times in like... well, I wanted to say 2h, but Krita says
that I only painted for 30 minutes and the rest of it was browsking internet ;)
So I guess it's a pretty serious crash.
Possible duplicates: bug 414645, bug 414638 - someone who's fixing it, please
check which commit broke it and if this commit went into 4.2.8.
(Since it looks quite plausible that it's the same thing, it's a quite
important regression :/ )
RELEVANT THREADS
Thread 2143 (Thread 0x7fff6e064700 (LWP 3415)):
#0 0x00007ffff426b077 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff424c535 in __GI_abort () at abort.c:79
#2 0x00007ffff424c40f in __assert_fail_base (fmt=0x7ffff43d8858 "%s%s%s:%u:
%s%sAssertion `%s' failed.\n%n", assertion=0x7fffd49a3f25
"this->is_initialized()", file=0x7fffd49a3cd0
"/usr/include/boost/optional/optional.hpp", line=1191, function=0x7fffd49a40a0
<boost::optional<ToolTransformArgs>::get()::__PRETTY_FUNCTION__>
"boost::optional<T>::reference_type boost::optional<T>::get() [with T =
ToolTransformArgs; boost::optional<T>::reference_type = ToolTransformArgs&]")
at assert.c:92
#3 0x00007ffff425c142 in __GI___assert_fail (assertion=0x7fffd49a3f25
"this->is_initialized()", file=0x7fffd49a3cd0
"/usr/include/boost/optional/optional.hpp", line=1191, function=0x7fffd49a40a0
<boost::optional<ToolTransformArgs>::get()::__PRETTY_FUNCTION__>
"boost::optional<T>::reference_type boost::optional<T>::get() [with T =
ToolTransformArgs; boost::optional<T>::reference_type = ToolTransformArgs&]")
at assert.c:101
#4 0x00007fffd49858d5 in non-virtual thunk to
TransformStrokeStrategy::finishStrokeCallback() () at
/usr/include/boost/optional/optional.hpp:1208
#5 0x00007ffff5ea03cc in non-virtual thunk to KisUpdateJobItem::run() () at
/home/tymon/devsec/install/lib/x86_64-linux-gnu/libkritaimage.so.19
#6 0x00007ffff4673f71 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007ffff467bc87 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007ffff2077164 in start_thread (arg=<optimized out>) at
pthread_create.c:486
#9 0x00007ffff4344def in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 13 (Thread 0x7fffcee50700 (LWP 23605)):
#0 0x00007ffff433e219 in syscall () at
../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007ffff4670fd0 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2 0x00007ffff4670e42 in QSemaphore::tryAcquire(int, int) () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff5af6a53 in KisTileDataSwapper::waitForWork() (this=<optimized
out>) at
/home/tymon/devsec/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4 0x00007ffff5af6c8a in KisTileDataSwapper::run() (this=0x7ffff5fc1e80
<(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>) at
/home/tymon/devsec/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5 0x00007ffff467bc87 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6 0x00007ffff2077164 in start_thread (arg=<optimized out>) at
pthread_create.c:486
#7 0x00007ffff4344def in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 1 (Thread 0x7fffeb49f800 (LWP 23525)):
#0 0x00007ffff207d2eb in futex_wait_cancelable (private=<optimized out>,
expected=0, futex_word=0x555572f32bd0) at
../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 0x00007ffff207d2eb in __pthread_cond_wait_common (abstime=0x0,
mutex=0x555572f32b80, cond=0x555572f32ba8) at pthread_cond_wait.c:502
#2 0x00007ffff207d2eb in __pthread_cond_wait (cond=0x555572f32ba8,
mutex=0x555572f32b80) at pthread_cond_wait.c:655
#3 0x00007ffff467c43b in QWaitCondition::wait(QMutex*, unsigned long) () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4 0x00007ffff4672822 in QThreadPoolPrivate::waitForDone(int) () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5 0x00007ffff4672ce1 in QThreadPool::waitForDone(int) () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6 0x00007ffff5c96f0f in KisUpdateScheduler::barrierLock()
(this=0x555573088960) at
/home/tymon/devsec/krita/libs/image/kis_update_scheduler.cpp:380
#7 0x00007ffff5cb5738 in KisImage::barrierLock(bool)
(this=this@entry=0x555572d95840, readOnly=readOnly@entry=false) at
/home/tymon/devsec/krita/libs/image/kis_image.cc:679
#8 0x00007ffff6fae198 in PointerPolicyAlwaysPresent<KisSharedPtr<KisImage>
>::barrierLock(KisSharedPtr<KisImage>) (image=...) at
/home/tymon/devsec/krita/libs/global/kis_shared_ptr.h:179
#9 0x00007ffff6fae198 in
KisImageBarrierLockerImpl<PointerPolicyAlwaysPresent<KisSharedPtr<KisImage> >
>::KisImageBarrierLockerImpl(KisSharedPtr<KisImage>) (image=...,
this=0x7fffffffd428)
at /home/tymon/devsec/krita/libs/image/kis_image_barrier_locker.h:68
#10 0x00007ffff6fae198 in KisCutCopyActionFactory::run(bool, bool,
KisViewManager*) (this=0x7fffffffd4f0, willCut=<optimized out>,
makeSharpClip=<optimized out>, view=0x555559f076a0)
at
/home/tymon/devsec/krita/libs/ui/actions/kis_selection_action_factories.cpp:288
#11 0x00007ffff6dc0692 in KisSelectionManager::copy() (this=0x555570a0d330) at
/home/tymon/devsec/krita/libs/ui/kis_selection_manager.cc:369
#12 0x00007ffff711c365 in KisSelectionManager::qt_static_metacall(QObject*,
QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>,
_id=<optimized out>, _a=<optimized out>)
at
/home/tymon/devsec/build/libs/ui/kritaui_autogen/EWIEGA46WW/moc_kis_selection_manager.cpp:237
#13 0x00007ffff484d6db in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff51dcef2 in QAction::triggered(bool) () at
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff51df500 in QAction::activate(QAction::ActionEvent) () at
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff51dfdb4 in QAction::event(QEvent*) () at
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff51e34a1 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff51eaae0 in QApplication::notify(QObject*, QEvent*) () at
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff7006ac7 in KisApplication::notify(QObject*, QEvent*)
(this=<optimized out>, receiver=0x5555706e11a0, event=0x7fffffffd980) at
/home/tymon/devsec/krita/libs/ui/KisApplication.cpp:653
#20 0x00007ffff4824499 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#21 0x00007ffff4c54233 in QShortcutMap::dispatchEvent(QKeyEvent*) () at
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#22 0x00007ffff4c5430b in QShortcutMap::tryShortcut(QKeyEvent*) () at
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#23 0x00007ffff4c09866 in QWindowSystemInterface::handleShortcutEvent(QWindow*,
unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int,
unsigned int, QString const&, bool, unsigned short) ()
at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#24 0x00007ffff4c25cbd in
QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*)
() at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#25 0x00007ffff4c2b415 in
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)
() at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#26 0x00007ffff4c05b6b in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#27 0x00007fffeabb8e5b in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#28 0x00007ffff482316b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007ffff482b2e2 in QCoreApplication::exec() () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x0000555555e4e4de in main (argc=<optimized out>, argv=0x7fffffffdfe8) at
/home/tymon/devsec/krita/krita/main.cc:584
#31 0x00007ffff424e09b in __libc_start_main (main=0x555555e4d0e0 <main>,
argc=1, argv=0x7fffffffdfe8, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7fffffffdfd8) at ../csu/libc-start.c:308
#32 0x0000555555e4f83a in _start () at
/home/tymon/devsec/krita/krita/main.cc:461
SOFTWARE/OS VERSIONS
Krita
Version: 4.3.0-prealpha (git 2d4ae8c)
Languages: pl
Hidpi: true
Qt
Version (compiled): 5.11.1
Version (loaded): 5.11.1
OS Information
Build ABI: x86_64-little_endian-lp64
Build CPU: x86_64
CPU: x86_64
Kernel Type: linux
Kernel Version: 5.3.7-050307-generic
Pretty Productname: Linux Mint 19.2
Product Type: linuxmint
Product Version: 19.2
Hardware Information
GPU Acceleration: auto
Memory: 15633 Mb
Number of Cores: 8
Swap Location: /tmp
Current Settings
Current Swap Location: /tmp
Undo Enabled: 1
Undo Stack Limit: 30
Use OpenGL: 1
Use OpenGL Texture Buffer: 1
Use AMD Vectorization Workaround: 0
Canvas State: OPENGL_SUCCESS
Autosave Interval: 180
Use Backup Files: 1
Number of Backups Kept: 1
Backup File Suffix: ~
Backup Location: Same Folder as the File
Use Win8 Pointer Input: 0
Use RightMiddleTabletButton Workaround: 0
Levels of Detail Enabled: 1
Use Zip64: 0
--
You are receiving this mail because:
You are watching all bug changes.