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.

Reply via email to