Bug 336804

Summary: Crash after selecting Layer array clones more than a couple times
Product: [Applications] krita Reporter: vanyossi <ghevan>
Component: Layer StackAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:

Description vanyossi 2014-06-27 18:48:46 UTC
I get this crash whenever Im adjusting clone arrays distance or size number. But only on the second run. First time it works well, but afterwards it may or may not crash.

BACKTRACE =============
Thread 111 (Thread 0x7fffb37fe700 (LWP 4129)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007ffff0762c56 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007ffff07566de in ?? () from /usr/lib64/qt4/libQtCore.so.4
#3  0x00007ffff076278c in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007ffff04cceda in start_thread (arg=0x7fffb37fe700) at pthread_create.c:308
#5  0x00007fffef6b65ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 110 (Thread 0x7fffc8df5700 (LWP 4128)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007ffff0762c56 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007ffff07566de in ?? () from /usr/lib64/qt4/libQtCore.so.4
#3  0x00007ffff076278c in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007ffff04cceda in start_thread (arg=0x7fffc8df5700) at pthread_create.c:308
#5  0x00007fffef6b65ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 15 (Thread 0x7fffb3fff700 (LWP 4031)):
#0  0x00007fffef6acb6d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fffe84b056c in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fffe84b0684 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007ffff0887f3e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007ffff085927f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007ffff0859500 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007ffff0760080 in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007ffff083b64f in ?? () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007ffff076278c in ?? () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007ffff04cceda in start_thread (arg=0x7fffb3fff700) at pthread_create.c:308
#10 0x00007fffef6b65ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 14 (Thread 0x7fffca76a700 (LWP 4030)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff0762cf3 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007ffff1bfb62e in ?? () from /usr/lib64/qt4/libQtGui.so.4
#3  0x00007ffff076278c in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007ffff04cceda in start_thread (arg=0x7fffca76a700) at pthread_create.c:308
#5  0x00007fffef6b65ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 9 (Thread 0x7fffd9100700 (LWP 4025)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007ffff0761416 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007ffff0761c2d in QThread::msleep(unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#3  0x00007ffff6ee46da in KisTileDataSwapper::run (this=0x13fc558)
    at /home/tara/nalaf/nala/program/calligra/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:97
#4  0x00007ffff076278c in ?? () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007ffff04cceda in start_thread (arg=0x7fffd9100700) at pthread_create.c:308
#6  0x00007fffef6b65ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 8 (Thread 0x7fffcaf6b700 (LWP 4024)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff0762cf3 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007ffff075ed17 in QSemaphore::acquire(int) () from /usr/lib64/qt4/libQtCore.so.4
#3  0x00007ffff6ec6e7e in KisTileDataPooler::waitForWork (this=this@entry=0x13fc520)
    at /home/tara/nalaf/nala/program/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:162
#4  0x00007ffff6ec722b in KisTileDataPooler::run (this=0x13fc520)
    at /home/tara/nalaf/nala/program/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:184
#5  0x00007ffff076278c in ?? () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007ffff04cceda in start_thread (arg=0x7fffcaf6b700) at pthread_create.c:308
#7  0x00007fffef6b65ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7ffff7fa17c0 (LWP 4012)):
#0  0x00007fffa33b40d1 in DlgClonesArray::initializeValues (this=this@entry=0x11efec0)
    at /home/tara/nalaf/nala/program/calligra/krita/plugins/extensions/clonesarray/dlg_clonesarray.cpp:92
#1  0x00007fffa33b62c9 in DlgClonesArray::DlgClonesArray (this=0x11efec0, view=<optimized out>, parent=<optimized out>)
    at /home/tara/nalaf/nala/program/calligra/krita/plugins/extensions/clonesarray/dlg_clonesarray.cpp:81
#2  0x00007fffa33b3881 in ClonesArray::slotCreateClonesArray (this=0x2ec9bf0)
    at /home/tara/nalaf/nala/program/calligra/krita/plugins/extensions/clonesarray/clonesarray.cpp:55
#3  0x00007ffff086e537 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007ffff1734632 in QAction::triggered(bool) () from /usr/lib64/qt4/libQtGui.so.4
#5  0x00007ffff1735a18 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/qt4/libQtGui.so.4
#6  0x00007ffff1b45323 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#7  0x00007ffff1b4a539 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#8  0x00007ffff24e2700 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libkdeui.so.5
#9  0x00007ffff1787010 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#10 0x00007ffff1b4bcdb in QMenu::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#11 0x00007ffff173aaac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#12 0x00007ffff173dc11 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#13 0x00007ffff6b256b8 in KoApplication::notify (this=<optimized out>, receiver=0x426c300, event=0x7fffffffcc90)
    at /home/tara/nalaf/nala/program/calligra/libs/main/KoApplication.cpp:622
#14 0x00007ffff085a59d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#15 0x00007ffff1740a42 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007ffff17b1e5c in ?? () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007ffff17b0d51 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007ffff17d92e2 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007fffe84b027c in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#20 0x00007fffe84b05d4 in ?? () from /usr/lib64/libglib-2.0.so.0
#21 0x00007fffe84b0684 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#22 0x00007ffff0887f24 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib64/qt4/libQtCore.so.4
#23 0x00007ffff17d93ae in ?? () from /usr/lib64/qt4/libQtGui.so.4
#24 0x00007ffff085927f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#25 0x00007ffff0859500 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#26 0x00007ffff085e628 in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#27 0x00007ffff7b340f3 in kdemain (argc=<optimized out>, argv=<optimized out>)
    at /home/tara/nalaf/nala/program/calligra/krita/main.cc:108
#28 0x00007fffef5efbc5 in __libc_start_main (main=0x4009f0 <main(int, char**)>, argc=1, ubp_av=0x7fffffffda08, init=<optimized out>, 
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffd9f8) at libc-start.c:258
#29 0x0000000000400a21 in _start ()

===============

Reproducible: Always

Steps to Reproduce:
1. After making one clone array used the same layer
2. Select layer clone array

Still investigating the bug since I don't always work with clones.
Actual Results:
Comment 1 Halla Rempt 2014-06-27 18:56:53 UTC
Git commit 1a88cbb07da50d037ad3b4256181fe4204a762d1 by Boudewijn Rempt.
Committed on 27/06/2014 at 18:56.
Pushed by rempt into branch 'master'.

Be more careful with pointers

M  +5    -3    krita/plugins/extensions/clonesarray/dlg_clonesarray.cpp

http://commits.kde.org/calligra/1a88cbb07da50d037ad3b4256181fe4204a762d1
Comment 2 Halla Rempt 2014-07-24 15:41:10 UTC
Git commit 150318dd04cb70c07ada5387206a3096e0495890 by Boudewijn Rempt.
Committed on 27/06/2014 at 18:56.
Pushed by rempt into branch 'calligra/2.8'.

Be more careful with pointers

M  +5    -3    krita/plugins/extensions/clonesarray/dlg_clonesarray.cpp

http://commits.kde.org/calligra/150318dd04cb70c07ada5387206a3096e0495890