https://bugs.kde.org/show_bug.cgi?id=435670
Bug ID: 435670
Summary: Adding two shapes from vector library results in an
assert
Product: krita
Version: nightly build (please specify the git hash!)
Platform: Mint (Ubuntu based)
OS: Linux
Status: REPORTED
Severity: crash
Priority: NOR
Component: Layers/Vector
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 137540
--> https://bugs.kde.org/attachment.cgi?id=137540&action=edit
Crash log for all threads
SUMMARY
If you add a shape from vector library, and then, without deselecting that
shape, you add another one, you'll get a safe assert window, and then a
crash/freeze/another assert.
STEPS TO REPRODUCE
1. Build Krita with safe assert dialogs on.
2. Drag a shape from a vector library to the canvas (remember that Pepper &
carrot shapes are white and will be invisible on white canvas). Do not unselect
the shape.
3. Optional: switch to another vector library.
4. Drag another shape on the canvas.
OBSERVED RESULT
In case of "optional", I get a weird situation when I don't have my X11 hang
up, but the safe assert window doesn't react to either Abort or Ignore.
If I break it in gdb, I get the crash log as shown below.
In case without the optional step, my whole X11 hangs up so I cannot tell what
the backtrace is.
EXPECTED RESULT
No safe asserts. No crashes. No freezes.
NOTE
On Krita 4.4.3 you already get those safe asserts:
SAFE ASSERT (krita): "srcShape->parent() == excludeRoot" in file
/home/appimage/workspace/Krita_Release_Appimage_Build/krita/libs/flake/KoShapeManager.cpp,
line 512
SAFE ASSERT (krita): "clonedShapes.size() == originalShapes.size()" in file
/home/appimage/workspace/Krita_Release_Appimage_Build/krita/libs/flake/KoShapeManager.cpp,
line 534
SOFTWARE/OS VERSIONS
Krita: 5766bca3cc (built)
Qt
Version (compiled): 5.12.9
Version (loaded): 5.12.9
OS Information
Build ABI: x86_64-little_endian-lp64
Build CPU: x86_64
CPU: x86_64
Kernel Type: linux
Kernel Version: 5.4.0-67-generic
Pretty Productname: Linux Mint 20.1
Product Type: linuxmint
Product Version: 20.1
Desktop: X-Cinnamon
ADDITIONAL INFORMATION
Crash log after doing ctrl+C in gdb with the "optional" step:
Thread 1 "krita" received signal SIGINT, Interrupt.
syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38 ../sysdeps/unix/sysv/linux/x86_64/syscall.S: Nie ma takiego pliku ani
katalogu.
(gdb) bt
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007ffff442ac75 in QBasicMutex::lockInternal() () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#2 0x00007ffff359175e in QMutexLocker::QMutexLocker(QBasicMutex*) (this=<error
reading variable: Unhandled dwarf expression opcode 0x0>, m=<optimized out>) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h:206
#3 0x000055555c01d960 in ()
#4 0x00007ffff3590031 in KoShapeManager::remove(KoShape*) (this=<error reading
variable: Asked for position 0 of stack, stack only has 0 elements on it.>,
shape=<optimized out>)
at /home/tymon/kritadev/krita/libs/flake/KoShapeManager.cpp:418
#5 0x0000000000000008 in ()
#6 0xcf0d8c3d3e964500 in ()
#7 0x000055555bb1a100 in ()
#8 0xcf0d8c3d3e964500 in ()
#9 0x000055556164f160 in ()
#10 0x00005555592b8660 in ()
#11 0x0000555560577068 in ()
#12 0x00007ffff6b73b6a in KisSharedPtr<KisNode>::deref(KisSharedPtr<KisNode>
const*, KisNode*) (sp=<optimized out>, t=<optimized out>) at
/home/tymon/kritadev/krita/libs/global/kis_shared_ptr.h:191
#13 KisSharedPtr<KisNode>::deref() const (this=<error reading variable:
Unhandled dwarf expression opcode 0x0>) at
/home/tymon/kritadev/krita/libs/global/kis_shared_ptr.h:213
#14 KisSharedPtr<KisNode>::~KisSharedPtr() (this=<optimized out>,
__in_chrg=<optimized out>) at
/home/tymon/kritadev/krita/libs/global/kis_shared_ptr.h:97
#15 KisCanvas2::localShapeManager() const (this=<optimized out>) at
/home/tymon/kritadev/krita/libs/ui/canvas/kis_canvas2.cpp:432
#16 0x0000000000000000 in ()
--
You are receiving this mail because:
You are watching all bug changes.