Bug 267093 - Assert on changing the use the same curve option
Summary: Assert on changing the use the same curve option
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-24 21:16 UTC by Sven Langkamp
Modified: 2011-02-26 17:06 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sven Langkamp 2011-02-24 21:16:38 UTC
Application: krita (2.4 Alpha 1)
KDE Platform Version: 4.4.5 (KDE 4.4.5) (Compiled from sources)
Qt Version: 4.6.3
Operating System: Linux 2.6.32-28-generic x86_64
Distribution: Ubuntu 10.04.2 LTS

-- Information about the crash:
In the brush setting click on "use the same curve" -> assert
It works if one of the items from the list is selected first.

The crash can be reproduced every time.

 -- Backtrace:
Application: Krita (krita), signal: Aborted
[Current thread is 1 (Thread 0x7fc2329947a0 (LWP 12429))]

Thread 4 (Thread 0x7fc21f395700 (LWP 12430)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fc24372dfdb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fc243729d64 in QSemaphore::acquire(int) () from /usr/lib/libQtCore.so.4
#3  0x00007fc242ac6d04 in KisTileDataPooler::waitForWork (this=0x38eb4b0) at /home/sven/kde/src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:127
#4  0x00007fc242ac6d6e in KisTileDataPooler::run (this=0x38eb4b0) at /home/sven/kde/src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:156
#5  0x00007fc24372cf95 in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007fc24349c9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#7  0x00007fc23be8370d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fc21eb94700 (LWP 12431)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fc24372dfdb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fc243729b84 in QSemaphore::tryAcquire(int, int) () from /usr/lib/libQtCore.so.4
#3  0x00007fc242aeae0e in KisTileDataSwapper::waitForWork (this=0x38eb4e0) at /home/sven/kde/src/calligra/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:84
#4  0x00007fc242aeae28 in KisTileDataSwapper::run (this=0x38eb4e0) at /home/sven/kde/src/calligra/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:90
#5  0x00007fc24372cf95 in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007fc24349c9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#7  0x00007fc23be8370d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fc21d391700 (LWP 12441)):
#0  0x00007fc23be7bff3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fc24384393e in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib/libQtCore.so.4
#2  0x00007fc243848f1d in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib/libQtCore.so.4
#3  0x00007fc243849d0b in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007fc24381b6c2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007fc24381ba9c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007fc24372a8db in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007fc2437fbdd8 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007fc24372cf95 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007fc24349c9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007fc23be8370d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fc2329947a0 (LWP 12429)):
[KCrash Handler]
#5  0x00007fc23bdd0a75 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007fc23bdd45c0 in *__GI_abort () at abort.c:92
#7  0x00007fc243724da4 in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4
#8  0x00007fc243724f82 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007fc243725135 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4
#10 0x00007fc22968787f in KisMultiSensorsModel::setCurrentCurve (this=0x5eda060, currentIndex=..., curve=..., useSameCurve=false)
    at /home/sven/kde/src/calligra/krita/plugins/paintops/libpaintop/kis_multi_sensors_model_p.cpp:178
#11 0x00007fc229689853 in KisMultiSensorsSelector::setCurrentCurve (this=0x5ed44d0, curve=..., useSameCurve=false)
    at /home/sven/kde/src/calligra/krita/plugins/paintops/libpaintop/kis_multi_sensors_selector.cpp:85
#12 0x00007fc22967aba0 in KisCurveOptionWidget::transferCurve (this=0x5ed3a80) at /home/sven/kde/src/calligra/krita/plugins/paintops/libpaintop/kis_curve_option_widget.cpp:102
#13 0x00007fc229659ff5 in KisCurveOptionWidget::qt_metacall (this=0x5ed3a80, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff24384a20)
    at /home/sven/kde/build/calligra/krita/plugins/paintops/libpaintop/moc_kis_curve_option_widget.cpp:78
#14 0x00007fc243830036 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#15 0x00007fc23da9fcf2 in QAbstractButton::clicked(bool) () from /usr/lib/libQtGui.so.4
#16 0x00007fc23d7b875b in ?? () from /usr/lib/libQtGui.so.4
#17 0x00007fc23d7b95fb in ?? () from /usr/lib/libQtGui.so.4
#18 0x00007fc23d7b986c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#19 0x00007fc23d457f12 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#20 0x00007fc23d401c0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#21 0x00007fc23d4088bb in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#22 0x00007fc23e110a16 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#23 0x00007fc24381cd9c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#24 0x00007fc23d407a9e in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#25 0x00007fc23d48801d in ?? () from /usr/lib/libQtGui.so.4
#26 0x00007fc23d4864ec in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#27 0x00007fc23d4b2eb9 in ?? () from /usr/lib/libQtGui.so.4
#28 0x00007fc24381b6c2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#29 0x00007fc24381ba9c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#30 0x00007fc24382073b in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#31 0x00007fc243b363cb in kdemain (argc=1, argv=0x7fff24386048) at /home/sven/kde/src/calligra/krita/main.cc:49
#32 0x00000000004009c6 in main (argc=1, argv=0x7fff24386048) at /home/sven/kde/build/calligra/krita/krita_dummy.cpp:3

Reported using DrKonqi
Comment 1 Cyrille Berger 2011-02-26 17:06:03 UTC
Git commit 3126bd64d1564d168b9cbc87640ca2cbbb1d9787 by Cyrille Berger.
Committed on 26/02/2011 at 15:44.
Pushed by berger into branch 'master'.

Fix: crash when clicking on the "use same curve" checkbox before selecting a sensor

BUG: 267093

M  +6    -1    krita/plugins/paintops/libpaintop/kis_multi_sensors_model_p.cpp     
M  +4    -0    krita/plugins/paintops/libpaintop/kis_multi_sensors_model_p.h     
M  +2    -1    krita/plugins/paintops/libpaintop/kis_multi_sensors_selector.cpp     

http://commits.kde.org/calligra/3126bd64d1564d168b9cbc87640ca2cbbb1d9787