Bug 288071

Summary: Crash when add/remove colours in color selector
Product: [Applications] calligracommon Reporter: 200901203
Component: generalAssignee: Calligra Bugs <calligra-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: 200901203, user581
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description 200901203 2011-12-02 16:36:39 UTC
Application: calligrawords (2.4 Beta 4)
KDE Platform Version: 4.7.2 (4.7.2)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-13-generic i686
Distribution: Ubuntu 11.10

-- Information about the crash:
Calligra word crashed when tried to give background colour two or three times showing segmentation fault

The crash can be reproduced every time.

-- Backtrace:
Application: Words (calligrawords), signal: Segmentation fault
[Current thread is 1 (Thread 0xb7861720 (LWP 3157))]

Thread 4 (Thread 0xb65ffb70 (LWP 3159)):
#0  0x02400dac in pthread_mutex_lock () from /lib/i386-linux-gnu/libpthread.so.0
#1  0x001eff14 in pthread_mutex_lock () from /lib/i386-linux-gnu/libc.so.6
#2  0x04606933 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x04606f9b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x04187cea in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#5  0x0462d5f4 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0x023fed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#7  0x001e20ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 3 (Thread 0xb3135b70 (LWP 3175)):
#0  0x02403970 in pthread_getspecific () from /lib/i386-linux-gnu/libpthread.so.0
#1  0x07e49e83 in ?? () from /usr/lib/i386-linux-gnu/libgthread-2.0.so.0
#2  0x0462e6dc in g_thread_self () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x04604ea7 in g_main_context_acquire () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x0460656d in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x04606c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0x06053b37 in QEventDispatcherGlib::processEvents (this=0x8bcc408, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#7  0x060241dd in QEventLoop::processEvents (this=0xb31352a0, flags=...) at kernel/qeventloop.cpp:149
#8  0x06024421 in QEventLoop::exec (this=0xb31352a0, flags=...) at kernel/qeventloop.cpp:201
#9  0x05f2790b in QThread::exec (this=0x8b8bc70) at thread/qthread.cpp:498
#10 0x06004e2d in QInotifyFileSystemWatcherEngine::run (this=0x8b8bc70) at io/qfilesystemwatcher_inotify.cpp:248
#11 0x05f2a7b3 in QThreadPrivate::start (arg=0x8b8bc70) at thread/qthread_unix.cpp:331
#12 0x023fed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#13 0x001e20ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 2 (Thread 0xb1aa1b70 (LWP 3179)):
#0  0x00869416 in __kernel_vsyscall ()
#1  0x001d340e in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0x0461534b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x04606896 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x04606c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x06053b37 in QEventDispatcherGlib::processEvents (this=0xb6603158, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x060241dd in QEventLoop::processEvents (this=0xb1aa12a0, flags=...) at kernel/qeventloop.cpp:149
#7  0x06024421 in QEventLoop::exec (this=0xb1aa12a0, flags=...) at kernel/qeventloop.cpp:201
#8  0x05f2790b in QThread::exec (this=0x8bacc48) at thread/qthread.cpp:498
#9  0x06004e2d in QInotifyFileSystemWatcherEngine::run (this=0x8bacc48) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x05f2a7b3 in QThreadPrivate::start (arg=0x8bacc48) at thread/qthread_unix.cpp:331
#11 0x023fed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0x001e20ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 1 (Thread 0xb7861720 (LWP 3157)):
[KCrash Handler]
#7  0x01724e05 in KoColor::KoColor (this=0x61744018, rhs=...) at /home/numb/kde4/src/calligra/libs/pigment/KoColor.cpp:114
#8  0x017e1db2 in KoColorSetEntry (this=0x61744018) at /home/numb/kde4/src/calligra/libs/pigment/resources/KoColorSet.h:32
#9  QVector<KoColorSetEntry>::realloc (this=0x8e00c3c, asize=160074968, aalloc=160003664) at /usr/include/qt4/QtCore/qvector.h:504
#10 0x017e1edf in QVector<KoColorSetEntry>::detach_helper (this=0x8e00c3c) at /usr/include/qt4/QtCore/qvector.h:325
#11 0x017e04c7 in detach (this=0x8e00c3c) at /usr/include/qt4/QtCore/qvector.h:134
#12 data (this=0x8e00c3c) at /usr/include/qt4/QtCore/qvector.h:139
#13 operator[] (i=1, this=0x8e00c3c) at /usr/include/qt4/QtCore/qvector.h:348
#14 KoColorSet::getColor (this=0x8e00c20, index=1) at /home/numb/kde4/src/calligra/libs/pigment/resources/KoColorSet.cpp:235
#15 0x0188dc2e in KoColorSetWidget::KoColorSetWidgetPrivate::filter (this=0x9129940, state=2) at /home/numb/kde4/src/calligra/libs/widgets/KoColorSetWidget.cpp:92
#16 0x0188df60 in KoColorSetWidget::setColorSet (this=0x9129550, colorSet=0x8e00c20) at /home/numb/kde4/src/calligra/libs/widgets/KoColorSetWidget.cpp:263
#17 0x0188ea25 in KoColorSetWidget::KoColorSetWidgetPrivate::addRemoveColors (this=0x9129940) at /home/numb/kde4/src/calligra/libs/widgets/KoColorSetWidget.cpp:133
#18 0x0188ecaf in KoColorSetWidget::qt_metacall (this=0x9129550, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfd3a3e8) at /home/numb/kde4/build/calligra/libs/widgets/KoColorSetWidget.moc:92
#19 0x0602bb7d in metacall (argv=0xbfd3a3e8, idx=33, cl=QMetaObject::InvokeMetaMethod, object=0x9129550) at kernel/qmetaobject.cpp:237
#20 QMetaObject::metacall (object=0x9129550, cl=QMetaObject::InvokeMetaMethod, idx=33, argv=0xbfd3a3e8) at kernel/qmetaobject.cpp:232
#21 0x0603aa6a in QMetaObject::activate (sender=0x912c398, m=0x131da28, local_signal_index=2, argv=0xbfd3a3e8) at kernel/qobject.cpp:3278
#22 0x010d6e1d in QAbstractButton::clicked (this=0x912c398, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#23 0x00dd558d in QAbstractButtonPrivate::emitClicked (this=0x912cac0) at widgets/qabstractbutton.cpp:546
#24 0x00dd6bfb in QAbstractButtonPrivate::click (this=0x912cac0) at widgets/qabstractbutton.cpp:539
#25 0x00dd6eb6 in QAbstractButton::mouseReleaseEvent (this=0x912c398, e=0xbfd3a9ac) at widgets/qabstractbutton.cpp:1121
#26 0x00eae20d in QToolButton::mouseReleaseEvent (this=0x912c398, e=0xbfd3a9ac) at widgets/qtoolbutton.cpp:721
#27 0x00a1bf98 in QWidget::event (this=0x912c398, event=0xbfd3a9ac) at kernel/qwidget.cpp:8295
#28 0x00dd6159 in QAbstractButton::event (this=0x912c398, e=0xbfd3a9ac) at widgets/qabstractbutton.cpp:1080
#29 0x00eaf94c in QToolButton::event (this=0x912c398, event=0xbfd3a9ac) at widgets/qtoolbutton.cpp:1163
#30 0x009c1d54 in notify_helper (e=0xbfd3a9ac, receiver=0x912c398, this=0x86f8678) at kernel/qapplication.cpp:4486
#31 QApplicationPrivate::notify_helper (this=0x86f8678, receiver=0x912c398, e=0xbfd3a9ac) at kernel/qapplication.cpp:4458
#32 0x009c7dbb in QApplication::notify (this=0x86f8678, receiver=0x912c398, e=0xbfd3a9ac) at kernel/qapplication.cpp:4047
#33 0x01dc9681 in KApplication::notify (this=0xbfd3bfec, receiver=0x912c398, event=0xbfd3a9ac) at ../../kdeui/kernel/kapplication.cpp:311
#34 0x0602519e in QCoreApplication::notifyInternal (this=0xbfd3bfec, receiver=0x912c398, event=0xbfd3a9ac) at kernel/qcoreapplication.cpp:787
#35 0x009c2d15 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#36 QApplicationPrivate::sendMouseEvent (receiver=0x912c398, event=0xbfd3a9ac, alienWidget=0x0, nativeWidget=0x912c398, buttonDown=0x132ceb4, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3146
#37 0x00a4f9fa in QETWidget::translateMouseEvent (this=0x912c398, event=0xbfd3ae2c) at kernel/qapplication_x11.cpp:4502
#38 0x00a4de4d in QApplication::x11ProcessEvent (this=0xbfd3bfec, event=0xbfd3ae2c) at kernel/qapplication_x11.cpp:3690
#39 0x00a7a24c in x11EventSourceDispatch (s=0x86fc700, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#40 0x0460625f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#41 0x04606990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#42 0x04606c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#43 0x06053ada in QEventDispatcherGlib::processEvents (this=0x86ab248, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#44 0x00a79e3a in QGuiEventDispatcherGlib::processEvents (this=0x86ab248, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#45 0x060241dd in QEventLoop::processEvents (this=0xbfd3b130, flags=...) at kernel/qeventloop.cpp:149
#46 0x06024421 in QEventLoop::exec (this=0xbfd3b130, flags=...) at kernel/qeventloop.cpp:201
#47 0x00e67737 in QMenu::exec (this=0x9128b50, p=..., action=0x0) at widgets/qmenu.cpp:2049
#48 0x00eb078d in QToolButtonPrivate::popupTimerDone (this=0x95ce340) at widgets/qtoolbutton.cpp:955
#49 0x00eb12fb in QToolButton::mousePressEvent (this=0x95ce328, e=0xbfd3b7ec) at widgets/qtoolbutton.cpp:706
#50 0x00a1c424 in QWidget::event (this=0x95ce328, event=0xbfd3b7ec) at kernel/qwidget.cpp:8291
#51 0x00dd6159 in QAbstractButton::event (this=0x95ce328, e=0xbfd3b7ec) at widgets/qabstractbutton.cpp:1080
#52 0x00eaf94c in QToolButton::event (this=0x95ce328, event=0xbfd3b7ec) at widgets/qtoolbutton.cpp:1163
#53 0x009c1d54 in notify_helper (e=0xbfd3b7ec, receiver=0x95ce328, this=0x86f8678) at kernel/qapplication.cpp:4486
#54 QApplicationPrivate::notify_helper (this=0x86f8678, receiver=0x95ce328, e=0xbfd3b7ec) at kernel/qapplication.cpp:4458
#55 0x009c7dbb in QApplication::notify (this=0x86f8678, receiver=0x95ce328, e=0xbfd3b7ec) at kernel/qapplication.cpp:4047
#56 0x01dc9681 in KApplication::notify (this=0xbfd3bfec, receiver=0x95ce328, event=0xbfd3b7ec) at ../../kdeui/kernel/kapplication.cpp:311
#57 0x0602519e in QCoreApplication::notifyInternal (this=0xbfd3bfec, receiver=0x95ce328, event=0xbfd3b7ec) at kernel/qcoreapplication.cpp:787
#58 0x009c2d15 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#59 QApplicationPrivate::sendMouseEvent (receiver=0x95ce328, event=0xbfd3b7ec, alienWidget=0x95ce328, nativeWidget=0x88c5140, buttonDown=0x132ceb4, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3146
#60 0x00a4f2c4 in QETWidget::translateMouseEvent (this=0x88c5140, event=0xbfd3bc6c) at kernel/qapplication_x11.cpp:4568
#61 0x00a4de4d in QApplication::x11ProcessEvent (this=0xbfd3bfec, event=0xbfd3bc6c) at kernel/qapplication_x11.cpp:3690
#62 0x00a7a24c in x11EventSourceDispatch (s=0x86fc700, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#63 0x0460625f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#64 0x04606990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#65 0x04606c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#66 0x06053ada in QEventDispatcherGlib::processEvents (this=0x86ab248, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#67 0x00a79e3a in QGuiEventDispatcherGlib::processEvents (this=0x86ab248, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#68 0x060241dd in QEventLoop::processEvents (this=0xbfd3bf74, flags=...) at kernel/qeventloop.cpp:149
#69 0x06024421 in QEventLoop::exec (this=0xbfd3bf74, flags=...) at kernel/qeventloop.cpp:201
#70 0x0602919d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#71 0x009bf8f4 in QApplication::exec () at kernel/qapplication.cpp:3760
#72 0x002f3b9d in kdemain (argc=1, argv=0xbfd3c0f4) at /home/numb/kde4/src/calligra/words/part/main.cpp:43
#73 0x080484fb in main (argc=1, argv=0xbfd3c0f4) at /home/numb/kde4/build/calligra/words/part/calligrawords_dummy.cpp:3

Reported using DrKonqi
Comment 1 200901203 2011-12-02 16:39:47 UTC
try to change background colour from "add/Remove colours"......
Comment 2 Gopalakrishna Bhat 2012-02-28 16:35:18 UTC
*** Bug 291316 has been marked as a duplicate of this bug. ***
Comment 3 Camilla Boemann 2012-04-16 09:26:07 UTC
Git commit c16ef4a07603c6ec4c13b4fef0988c3a495349d5 by C. Boemann.
Committed on 16/04/2012 at 10:27.
Pushed by boemann into branch 'master'.

Remove the filter colors functionality in in the color popup
This should fix a crash due to index not being correct

Also make sure we actually intialize with a palette

Okay to backport?

M  +8    -1    libs/widgets/KoColorPopupAction.cpp
M  +10   -20   libs/widgets/KoColorSetWidget.cpp
M  +0    -1    libs/widgets/KoColorSetWidget.h

http://commits.kde.org/calligra/c16ef4a07603c6ec4c13b4fef0988c3a495349d5
Comment 4 Camilla Boemann 2012-04-16 14:47:53 UTC
Git commit ad5bb9b5391804c12a0a78ab7a0bf99ca60a6695 by C. Boemann.
Committed on 16/04/2012 at 10:27.
Pushed by boemann into branch 'calligra/2.4'.

Remove the filter colors functionality in in the color popup
This should fix a crash due to index not being correct

Also make sure we actually intialize with a palette

Okay to backport?

M  +8    -1    libs/widgets/KoColorPopupAction.cpp
M  +10   -20   libs/widgets/KoColorSetWidget.cpp
M  +0    -1    libs/widgets/KoColorSetWidget.h

http://commits.kde.org/calligra/ad5bb9b5391804c12a0a78ab7a0bf99ca60a6695