Bug 381927 - Adding a new color to an empty palette ends in a freeze.
Summary: Adding a new color to an empty palette ends in a freeze.
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Dockers (show other bugs)
Version: git master (please specify the git hash!)
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
: 381961 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-07-02 17:34 UTC by wolthera
Modified: 2020-04-26 14:13 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description wolthera 2017-07-02 17:34:27 UTC
In 4.0 pre-alpha this freeze happens in the colorspace comparison stuff. In master, with my fixes to the palettemodel, the following backtrace happens:

Thread 1 (Thread 0x7fffe59f78c0 (LWP 4526)):
#0  KisPaletteModel::getLastEntryIndex (this=this@entry=0x17bb25f0)
    at /home/wolthera/krita/src/libs/ui/KisPaletteModel.cpp:73
#1  0x00007ffff793b2a3 in KisPaletteModel::addColorSetEntry (this=0x17bb25f0, 
---Type <return> to continue, or q <return> to quit---
    entry=..., groupName=...)
    at /home/wolthera/krita/src/libs/ui/KisPaletteModel.cpp:325
#2  0x00007ffff7941e69 in KisPaletteView::addEntryWithDialog (this=0x17b9ddc0, 
    color=...) at /home/wolthera/krita/src/libs/ui/kis_palette_view.cpp:118
#3  0x00007fffb00ceaed in PaletteDockerDock::addColorForeground (this=0x17b9a540)
    at /home/wolthera/krita/src/plugins/dockers/palettedocker/palettedocker_dock.cpp:191
#4  0x00007fffb00d51b5 in PaletteDockerDock::qt_static_metacall (_o=0x17b9a540, 
    _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /home/wolthera/krita/build/plugins/dockers/palettedocker/moc_palettedocker_dock.cpp:100
#5  0x00007ffff5d900c9 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007ffff68950f2 in QAbstractButton::clicked(bool) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x00007ffff6895324 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007ffff6896fce in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007ffff6897144 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff687526a in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff67116a8 in QWidget::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff6875349 in QToolButton::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff66d03fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff66d8a2b in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#15 0x00007ffff78a3c87 in KisApplication::notify (this=<optimized out>, 
    receiver=0x17bafbc0, event=0x7fffffffcfe0)
    at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:558
#16 0x00007ffff5d64128 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007ffff66d73cf in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff672b406 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff672de63 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff66d03fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff66d7e07 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff78a3c87 in KisApplication::notify (this=<optimized out>, 
    receiver=0x1817d9e0, event=0x7fffffffd460)
    at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:558
#23 0x00007ffff5d64128 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff615a5b0 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#25 0x00007ffff615c515 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#26 0x00007ffff6136ceb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#27 0x00007fffe5925990 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#28 0x00007fffee21a197 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#29 0x00007fffee21a3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007fffee21a49c in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ffff5db8abf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007ffff5d6230a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007ffff5d6adb4 in QCoreApplication::exec() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00000000004050b3 in main (argc=1, argv=<optimized out>)
    at /home/wolthera/krita/src/krita/main.cc:269

NOTE: 4.0 PRE-ALPHA gives a different backtrace. boud was about to look at it, when I was at his place, but got distracted by G'Mic.

Adding a swatch via the other dockers goes just peachy, so it might be a como of the palettemodel and the colorset.
Comment 1 Raghavendra kamath 2017-07-03 16:29:48 UTC
*** Bug 381961 has been marked as a duplicate of this bug. ***
Comment 2 Raghavendra kamath 2017-07-03 16:31:09 UTC
Back trace from my duplicate bug report

Thread 14 (Thread 0x7fff9abad700 (LWP 22272)):
#0  0x00007fffebfbd0bf in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fffedb7365b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fffeee65211 in  () at /usr/lib64/libQt5Widgets.so.5
#3  0x00007fffedb729e9 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007fffebfb8744 in start_thread () at /lib64/libpthread.so.0
#5  0x00007fffecf6caad in clone () at /lib64/libc.so.6

Thread 13 (Thread 0x7fff9a3ac700 (LWP 22271)):
#0  0x00007fffebfbd0bf in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fffedb7365b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fffedb6cf96 in QSemaphore::tryAcquire(int, int) () at /usr/lib64/libQt5Core.so.5
#3  0x00007ffff64387e3 in KisTileDataSwapper::waitForWork() (this=<optimized out>) at /run/media/raghu/Data/krita-build/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ffff64389aa in KisTileDataSwapper::run() (this=0x7ffff68dea20 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder+64>)
    at /run/media/raghu/Data/krita-build/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007fffedb729e9 in  () at /usr/lib64/libQt5Core.so.5
#6  0x00007fffebfb8744 in start_thread () at /lib64/libpthread.so.0
#7  0x00007fffecf6caad in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7fffd6b3b700 (LWP 22255)):
#0  0x00007fffecf6420d in poll () at /lib64/libc.so.6
#1  0x00007fffea0b5314 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fffea0b542c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007fffedd8531c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007fffedd32feb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007fffedb6df1a in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007ffff0f17295 in  () at /usr/lib64/libQt5DBus.so.5
#7  0x00007fffedb729e9 in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007fffebfb8744 in start_thread () at /lib64/libpthread.so.0
#9  0x00007fffecf6caad in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7fffdfeeb700 (LWP 22254)):
#0  0x00007fffecf6420d in poll () at /lib64/libc.so.6
#1  0x00007ffff0adb3e2 in  () at /usr/lib64/libxcb.so.1
#2  0x00007ffff0adcfcf in xcb_wait_for_event () at /usr/lib64/libxcb.so.1
#3  0x00007fffe2437839 in  () at /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007fffedb729e9 in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007fffebfb8744 in start_thread () at /lib64/libpthread.so.0
#6  0x00007fffecf6caad in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7ffff7f96900 (LWP 22250)):
#0  0x00007ffff7611e27 in QList<QString>::~QList() (this=0x7fffffffc2a0, __in_chrg=<optimized out>) at /usr/include/qt5/QtCore/qlist.h:814
#1  0x00007ffff793f112 in KisPaletteModel::index(int, int, QModelIndex const&) const (this=0x7fffffffc2a0, __in_chrg=<optimized out>) at /usr/include/qt5/QtCore/qstringlist.h:93
#2  0x00007ffff793f112 in KisPaletteModel::index(int, int, QModelIndex const&) const (this=0x7fffffffc2a0, __in_chrg=<optimized out>) at /usr/include/qt5/QtCore/qglobal.h:919
#3  0x00007ffff793f112 in KisPaletteModel::index(int, int, QModelIndex const&) const (this=0x126d2e50, row=-133201447, column=8, parent=...) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/KisPaletteModel.cpp:248
#4  0x00007ffff793c6b7 in KisPaletteModel::getLastEntryIndex() (this=this@entry=0x126d2e50) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/KisPaletteModel.cpp:71
#5  0x00007ffff793c823 in KisPaletteModel::addColorSetEntry(KoColorSetEntry, QString) (this=0x126d2e50, entry=..., groupName=...) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/KisPaletteModel.cpp:325
#6  0x00007ffff7943166 in KisPaletteView::addEntryWithDialog(KoColor) (this=0x126bf420, color=...) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/kis_palette_view.cpp:118
#7  0x00007fff9b817d8d in PaletteDockerDock::addColorForeground() (this=0x126bbc30) at /run/media/raghu/Data/krita-build/src/krita/plugins/dockers/palettedocker/palettedocker_dock.cpp:191
#8  0x00007fff9b81dda5 in PaletteDockerDock::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x126bbc30, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /run/media/raghu/Data/krita-build/build/plugins/dockers/palettedocker/moc_palettedocker_dock.cpp:98
#9  0x00007fffedd5ebc1 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#10 0x00007fffeed36702 in QAbstractButton::clicked(bool) () at /usr/lib64/libQt5Widgets.so.5
#11 0x00007fffeed368fa in  () at /usr/lib64/libQt5Widgets.so.5
#12 0x00007fffeed37928 in  () at /usr/lib64/libQt5Widgets.so.5
#13 0x00007fffeed37aa4 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQt5Widgets.so.5
#14 0x00007fffeedfba3a in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQt5Widgets.so.5
#15 0x00007fffeec81c9a in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#16 0x00007fffeedfbb19 in QToolButton::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#17 0x00007fffeec3fe3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#18 0x00007fffeec44d14 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#19 0x00007ffff78af497 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x126cff20, event=0x7fffffffcd60) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/KisApplication.cpp:558
#20 0x00007fffedd34fd5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#21 0x00007fffeec43a10 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQt5Widgets.so.5
#22 0x00007fffeec9a911 in  () at /usr/lib64/libQt5Widgets.so.5
#23 0x00007fffeec9ceb3 in  () at /usr/lib64/libQt5Widgets.so.5
#24 0x00007fffeec3fe3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#25 0x00007fffeec4449a in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#26 0x00007ffff78af497 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x1288eb20, event=0x7fffffffd230) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/KisApplication.cpp:558
#27 0x00007fffedd34fd5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#28 0x00007fffee28868b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib64/libQt5Gui.so.5
#29 0x00007fffee289e05 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib64/libQt5Gui.so.5
#30 0x00007fffee26beeb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5
#31 0x00007fffe2464bc0 in  () at /usr/lib64/libQt5XcbQpa.so.5
#32 0x00007fffea0b5134 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#33 0x00007fffea0b5388 in  () at /usr/lib64/libglib-2.0.so.0
#34 0x00007fffea0b542c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#35 0x00007fffedd8531c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#36 0x00007fffedd32feb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#37 0x00007fffedd3aed6 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#38 0x000000000040591b in main(int, char**) (argc=1, argv=<optimized out>) at /run/media/raghu/Data/krita-build/src/krita/krita/main.cc:269
Comment 3 wolthera 2017-07-15 16:10:58 UTC
Git commit 2d94335cca496c15fa68755096be3553e0e678f0 by Wolthera van Hövell tot Westerflier.
Committed on 15/07/2017 at 16:10.
Pushed by woltherav into branch 'master'.

Now it stopped freezing and started crashing somewhere else entirely!

M  +11   -8    libs/ui/KisPaletteModel.cpp

https://commits.kde.org/krita/2d94335cca496c15fa68755096be3553e0e678f0
Comment 4 wolthera 2017-07-15 16:10:58 UTC
Git commit 0777fc33455dddc0e58b127f82ee5d92d8832589 by Wolthera van Hövell tot Westerflier.
Committed on 15/07/2017 at 16:10.
Pushed by woltherav into branch 'master'.

M  +11   -2    libs/ui/KisPaletteModel.cpp

https://commits.kde.org/krita/0777fc33455dddc0e58b127f82ee5d92d8832589