https://bugs.kde.org/show_bug.cgi?id=388929

            Bug ID: 388929
           Summary: Weird crash while drawing. [GDB backtrace]
           Product: krita
           Version: git master
          Platform: Compiled Sources
                OS: Linux
            Status: UNCONFIRMED
          Severity: crash
          Priority: NOR
         Component: Brush engines
          Assignee: krita-bugs-n...@kde.org
          Reporter: griffinval...@gmail.com
  Target Milestone: ---

I was drawing with the "Basic_Chisel_Smooth", which is a pixel brush. Even
weirder, it is a pixel brush that does NOT have any of the airbrush features
turned on.

I had GDB turned on.

I have no idea what happened. I am therefore afraid it might be a race
condition with multi-threaded brushes.

KDE Neon based on Ubuntu 16.04, with Intuos 3, build from master.

------------------------
Thread 183 "Thread (pooled)" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffb3fff700 (LWP 25080)]
0x00007ffff5315b14 in QMapDataBase::rotateLeft(QMapNodeBase*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
(gdb) thread apply all backtrace

Thread 183 (Thread 0x7fffb3fff700 (LWP 25080)):
#0  0x00007ffff5315b14 in QMapDataBase::rotateLeft(QMapNodeBase*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007ffff5315cec in QMapDataBase::rebalance(QMapNodeBase*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff5316254 in QMapDataBase::createNode(int, int, QMapNodeBase*,
bool) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fffd0c9ea55 in ?? () from
/usr/lib/x86_64-linux-gnu/qt5/plugins/styles/breeze.so
#4  0x00007fffd0c83ce2 in ?? () from
/usr/lib/x86_64-linux-gnu/qt5/plugins/styles/breeze.so
#5  0x00007fffd0cc2f54 in ?? () from
/usr/lib/x86_64-linux-gnu/qt5/plugins/styles/breeze.so
#6  0x00007ffff622657e in QWidget::event(QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x00007ffff61e6b9c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007ffff61ee5a7 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007ffff7859ab7 in KisApplication::notify (this=<optimized out>,
receiver=0x7fffa409a940, 
    event=0x7fffb3ffe410) at
/home/wolthera/krita/src/libs/ui/KisApplication.cpp:600
#10 0x00007ffff5489df8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007ffff6221ae9 in QWidget::ensurePolished() const ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff622554c in QWidget::setVisible(bool) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#13 0x00007fffc4675fbe in KisAirbrushWidget::KisAirbrushWidget
(canIgnoreSpacing=true, parent=0x0, 
    this=0x7fffa4056fb0)
    at
/home/wolthera/krita/src/plugins/paintops/libpaintop/kis_airbrush_option.cpp:46
#14 KisAirbrushOption::KisAirbrushOption (this=0x7fffa40433d8,
enabled=<optimized out>, 
    canIgnoreSpacing=<optimized out>)
    at
/home/wolthera/krita/src/plugins/paintops/libpaintop/kis_airbrush_option.cpp:68
#15 0x00007fffc41e0ef6 in KisBrushOp::KisBrushOp (this=0x7fffa40432c0,
settings=..., painter=
    0xeb398d0, node=..., image=...)
    at
/home/wolthera/krita/src/plugins/paintops/defaultpaintops/brush/kis_brushop.cpp:67
#16 0x00007fffc41dca2b in KisSimplePaintOpFactory<KisBrushOp,
KisBrushOpSettings, KisBrushOpSettingsWidget>::createOp (this=<optimized out>,
settings=..., painter=0xeb398d0, node=..., image=...)
    at
/home/wolthera/krita/src/plugins/paintops/libpaintop/kis_simple_paintop_factory.h:94
#17 0x00007ffff2572a20 in KisPaintOpRegistry::paintOp (
    this=this@entry=0x7ffff2a47940 <(anonymous
namespace)::Q_QGS_s_registryInstance::innerFunction()::holder>, id=...,
settings=..., painter=painter@entry=0xeb398d0, node=..., image=...)
    at
/home/wolthera/krita/src/libs/image/brushengine/kis_paintop_registry.cc:104
#18 0x00007ffff2572cca in KisPaintOpRegistry::paintOp (
    this=0x7ffff2a47940 <(anonymous
namespace)::Q_QGS_s_registryInstance::innerFunction()::holder>, 
    preset=..., painter=painter@entry=0xeb398d0, node=..., image=...)
    at
/home/wolthera/krita/src/libs/image/brushengine/kis_paintop_registry.cc:120
#19 0x00007ffff2556125 in KisPainter::setPaintOpPreset
(this=this@entry=0xeb398d0, preset=..., 
    node=..., image=...) at
/home/wolthera/krita/src/libs/image/kis_painter.cc:2627
#20 0x00007ffff7730b35 in KisResourcesSnapshot::setupPainter (this=0xeb3dd80, 
    painter=painter@entry=0xeb398d0)
---Type <return> to continue, or q <return> to quit---
    at /home/wolthera/krita/src/libs/ui/tool/kis_resources_snapshot.cpp:207
#21 0x00007ffff77393ca in KisPainterBasedStrokeStrategy::initPainters
(this=this@entry=0xeb3a400, 
    targetDevice=..., maskingDevice=..., selection=..., 
    hasIndirectPainting=hasIndirectPainting@entry=true,
indirectPaintingCompositeOp=...)
    at
/home/wolthera/krita/src/libs/ui/tool/strokes/kis_painter_based_stroke_strategy.cpp:175
#22 0x00007ffff7739d73 in KisPainterBasedStrokeStrategy::initStrokeCallback (
    this=this@entry=0xeb3a400)
    at
/home/wolthera/krita/src/libs/ui/tool/strokes/kis_painter_based_stroke_strategy.cpp:288
#23 0x00007ffff7736eb9 in FreehandStrokeStrategy::initStrokeCallback
(this=0xeb3a400)
    at /home/wolthera/krita/src/libs/ui/tool/strokes/freehand_stroke.cpp:135
#24 0x00007ffff2785c56 in KisStrokeJob::run (this=<optimized out>)
    at
/home/wolthera/krita/build/libs/image/../../../src/libs/image/kis_stroke_job.h:44
#25 KisUpdateJobItem::run (this=0xed5b640)
    at
/home/wolthera/krita/build/libs/image/../../../src/libs/image/kis_update_job_item.h:90
#26 0x00007ffff52b1b27 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007fffee43f6ba in start_thread (arg=0x7fffb3fff700) at
pthread_create.c:333
#29 0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 182 (Thread 0x7fff927fc700 (LWP 25079)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007ffff52b6596 in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#2  0x00007ffff52b1dea in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fffee43f6ba in start_thread (arg=0x7fff927fc700) at
pthread_create.c:333
#5  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 181 (Thread 0x7fff92ffd700 (LWP 25078)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007ffff52b6596 in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff52b1dea in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fffee43f6ba in start_thread (arg=0x7fff92ffd700) at
pthread_create.c:333
#5  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 180 (Thread 0x7fff937fe700 (LWP 25077)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007ffff52b6596 in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff52b1dea in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fffee43f6ba in start_thread (arg=0x7fff937fe700) at
pthread_create.c:333
#5  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
---Type <return> to continue, or q <return> to quit---

Thread 123 (Thread 0x7fffb37fe700 (LWP 25001)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007ffff52b6596 in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff52b1dea in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fffee43f6ba in start_thread (arg=0x7fffb37fe700) at
pthread_create.c:333
#5  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 122 (Thread 0x7fffb90f9700 (LWP 25000)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007ffff52b6596 in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff52b1dea in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fffee43f6ba in start_thread (arg=0x7fffb90f9700) at
pthread_create.c:333
#5  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 121 (Thread 0x7fff8808f700 (LWP 24999)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
---Type <return> to continue, or q <return> to quit---
#1  0x00007ffff52b6596 in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff52b1dea in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fffee43f6ba in start_thread (arg=0x7fff8808f700) at
pthread_create.c:333
#5  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 120 (Thread 0x7fffb2ffd700 (LWP 24998)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007ffff52b6596 in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff52b1dea in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fffee43f6ba in start_thread (arg=0x7fffb2ffd700) at
pthread_create.c:333
#5  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 12 (Thread 0x7fff93fff700 (LWP 24787)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff52b665b in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff63fc84a in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fffee43f6ba in start_thread (arg=0x7fff93fff700) at
pthread_create.c:333
---Type <return> to continue, or q <return> to quit---
#5  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7fff99c1c700 (LWP 24785)):
#0  0x00007ffff49a270d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffece4638c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffece4649c in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff54df6af in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
    () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff5487e2a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff52b08f4 in QThread::exec() () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fffd5f94d25 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fffee43f6ba in start_thread (arg=0x7fff99c1c700) at
pthread_create.c:333
#9  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffb88f8700 (LWP 24767)):
#0  0x00007ffff497330d in nanosleep () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff54df02d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff52b4a98 in QThread::msleep(unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff254c7aa in KisTileDataSwapper::run (
    this=0x7ffff2a46f40 <(anonymous
namespace)::Q_QGS_s_instance::innerFunction()::holder+64>)
    at
/home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:97
---Type <return> to continue, or q <return> to quit---
#4  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fffee43f6ba in start_thread (arg=0x7fffb88f8700) at
pthread_create.c:333
#6  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffd0a5f700 (LWP 24763)):
#0  0x00007ffff49a270d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffece4638c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffece4649c in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff54df6af in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
    () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff5487e2a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff52b08f4 in QThread::exec() () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fffee66b315 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fffee43f6ba in start_thread (arg=0x7fffd0a5f700) at
pthread_create.c:333
#9  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffdd1ec700 (LWP 24762)):
#0  0x00007ffff49a270d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff2ca4c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff2ca68d7 in xcb_wait_for_event () from
/usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffdf5331f9 in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007ffff52b5709 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#5  0x00007fffee43f6ba in start_thread (arg=0x7fffdd1ec700) at
pthread_create.c:333
#6  0x00007ffff49ae3dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7f07900 (LWP 24752)):
#0  0x00007ffff49a270d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffece4638c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffece4649c in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff54df6cb in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
    () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff5487e2a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff5490d64 in QCoreApplication::exec() () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00000000004053cb in main (argc=1, argv=<optimized out>)
    at /home/wolthera/krita/src/krita/main.cc:306

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to