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: krita-bugs-n...@kde.org Reporter: tamtamy.tym...@gmail.com 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.