Bug 511900 - [Wayland CM regression] Assertion failure in KisDisplayColorConverter when closing krita
Summary: [Wayland CM regression] Assertion failure in KisDisplayColorConverter when cl...
Status: REPORTED
Alias: None
Product: krita
Classification: Applications
Component: * Unknown (other bugs)
Version First Reported In: git master (please specify the git hash!)
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2025-11-10 09:01 UTC by Ming Chuan
Modified: 2025-11-10 10:47 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ming Chuan 2025-11-10 09:01:12 UTC
SUMMARY
After syncing krita past the recent wayland color management patches I get this assertion failure.

Only happen in source build but not appimage, so maybe it's requires qt 6.10 to repro

STEPS TO REPRODUCE
1. Open krita
2. Open a canvas
3. Close krita

OBSERVED RESULT
ASSERT (krita): "m_d->paintingColorSpace" in file libs/ui/canvas/kis_display_color_converter.cpp, line 390

https://invent.kde.org/graphics/krita/-/blob/master/libs/ui/canvas/kis_display_color_converter.cpp#L390

EXPECTED RESULT


SOFTWARE/OS VERSIONS
Wayland
Qt Version: 6.10

ADDITIONAL INFORMATION
Comment 1 Ming Chuan 2025-11-10 10:47:43 UTC
Stacktrace (SmallColorSelectorDock might be the culprint?):

```
#0  0x00007ffff249caac in __pthread_kill_implementation () from /nix/store/daamdpmaz2vjvna55ccrc30qw3qb8h6d-glibc-2.40-66/lib/libc.so.6
#1  0x00007ffff244190e in raise () from /nix/store/daamdpmaz2vjvna55ccrc30qw3qb8h6d-glibc-2.40-66/lib/libc.so.6
#2  0x00007ffff2428942 in abort () from /nix/store/daamdpmaz2vjvna55ccrc30qw3qb8h6d-glibc-2.40-66/lib/libc.so.6
#3  0x00007ffff2cd652b in qAbort () at /build/qtbase-everywhere-src-6.10.0/src/corelib/global/qassert.cpp:46
#4  0x00007ffff2d2cf49 in qt_maybe_message_fatal<QString&> (msgType=QtFatalMsg, context=..., message=...) at /build/qtbase-everywhere-src-6.10.0/src/corelib/global/qlogging.cpp:2165
#5  qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=msg@entry=0x7ffff4cd40c1 "%s", ap=ap@entry=0x7ffffffd9d28)
    at /build/qtbase-everywhere-src-6.10.0/src/corelib/global/qlogging.cpp:412
#6  0x00007ffff2cd7ccd in QMessageLogger::fatal (this=this@entry=0x7ffffffda010, msg=msg@entry=0x7ffff4cd40c1 "%s") at /build/qtbase-everywhere-src-6.10.0/src/corelib/global/qlogging.cpp:901
#7  0x00007ffff4c788d0 in kis_assert_common (assertion=<optimized out>, file=<optimized out>, line=<optimized out>, abort=abort@entry=false, isIgnorable=isIgnorable@entry=false)
    at /nix/store/1zjm3y86f0pyagz8cff07ayq3m4kadpw-qtbase-6.10.0/include/QtCore/qarraydatapointer.h:119
#8  0x00007ffff4c78a4a in kis_assert_recoverable (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at /home/user/sources/krita/libs/global/kis_assert.cpp:100
#9  0x00007ffff7603d10 in KisDisplayColorConverter::paintingColorSpace (this=<optimized out>) at /home/user/sources/krita/libs/ui/canvas/kis_display_color_converter.cpp:390
#10 0x00007fffbad11789 in KisSmallColorWidget::slotDisplayConfigurationChanged (this=0x555566a43c80) at /home/user/sources/krita/plugins/dockers/smallcolorselector/kis_small_color_widget.cc:487
#11 0x00007ffff2e2bd3e in QtPrivate::QSlotObjectBase::call (this=0x555566a4dd60, r=<optimized out>, a=0x7ffffffda290) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qobjectdefs_impl.h:461
#12 doActivate<false> (sender=0x555566a47d20, signal_index=<optimized out>, argv=<optimized out>) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qobject.cpp:4255
#13 0x00007ffff2e21be7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7ffff7e5b7c0 <KisRootSurfaceInfoProxy::staticMetaObject>, local_signal_index=local_signal_index@entry=0,
    argv=argv@entry=0x7ffffffda290) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qobject.cpp:4315
#14 0x00007ffff7586bfd in QMetaObject::activate<void, KoColorProfile const*> (sender=<optimized out>, mo=0x7ffff7e5b7c0 <KisRootSurfaceInfoProxy::staticMetaObject>, local_signal_index=0, ret=0x0)
    at /nix/store/1zjm3y86f0pyagz8cff07ayq3m4kadpw-qtbase-6.10.0/include/QtCore/qobjectdefs.h:319
#15 KisRootSurfaceInfoProxy::sigRootSurfaceProfileChanged (this=<optimized out>, _t1=<optimized out>) at /home/user/sources/krita/build/libs/ui/kritaui_autogen/EWIEGA46WW/moc_KisRootSurfaceInfoProxy.cpp:120
#16 0x00007ffff546a792 in KisRootSurfaceTrackerBase::tryUpdateHierarchy (this=this@entry=0x555566a47d20) at /home/user/sources/krita/libs/widgetutils/KisRootSurfaceTrackerBase.cpp:97
#17 0x00007ffff546aa4f in KisRootSurfaceTrackerBase::eventFilter (this=0x555566a47d20, watched=0x55555d8cddf0, event=0x7ffffffda5c0) at /home/user/sources/krita/libs/widgetutils/KisRootSurfaceTrackerBase.cpp:73
#18 0x00007ffff2dbce0e in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x55555d8cddf0, event=event@entry=0x7ffffffda5c0)
    at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qcoreapplication.cpp:1246
#19 0x00007ffff43a4a3d in QApplicationPrivate::notify_helper (this=this@entry=0x55555de5dbd0, receiver=0x55555d8cddf0, e=0x7ffffffda5c0, e@entry=0x55555de5dbe0)
    at /build/qtbase-everywhere-src-6.10.0/src/widgets/kernel/qapplication.cpp:3301
#20 0x00007ffff43aece7 in QApplication::notify (this=this@entry=0x7ffffffdb050, receiver=receiver@entry=0x55555d8cddf0, e=0x55555de5dbe0, e@entry=0x7ffffffda5c0)
    at /build/qtbase-everywhere-src-6.10.0/src/widgets/kernel/qapplication.cpp:3068
#21 0x00007ffff7b2634e in KisApplication::notify (this=0x7ffffffdb050, receiver=0x55555d8cddf0, event=0x7ffffffda5c0) at /home/user/sources/krita/libs/ui/KisApplication.cpp:878
#22 0x00007ffff2dbd0c8 in QCoreApplication::notifyInternal2 (receiver=0x55555d8cddf0, event=0x7ffffffda5c0) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qcoreapplication.cpp:1109
#23 0x00007ffff2dbd32d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qcoreapplication.cpp:1549
#24 0x00007ffff4414a99 in QWidget::setParent (this=this@entry=0x55555d8cddf0, parent=<optimized out>, parent@entry=0x0, f=...) at /build/qtbase-everywhere-src-6.10.0/src/widgets/kernel/qwidget.cpp:10848
#25 0x00007ffff4415f6c in QWidget::setParent (this=0x55555d8cddf0, parent=0x0) at /build/qtbase-everywhere-src-6.10.0/src/widgets/kernel/qwidget.cpp:10674
#26 0x00007ffff454bf1a in QDockWidget::~QDockWidget (this=this@entry=0x55555d8cddf0, __in_chrg=<optimized out>) at /build/qtbase-everywhere-src-6.10.0/src/widgets/widgets/qdockwidget.cpp:1368
#27 0x00007fffbad0b756 in SmallColorSelectorDock::~SmallColorSelectorDock (this=0x55555d8cddf0, __in_chrg=<optimized out>)
    at /home/user/sources/krita/build/plugins/dockers/smallcolorselector/kritasmallcolorselector_autogen/EWIEGA46WW/../../../../../../plugins/dockers/smallcolorselector/smallcolorselector_dock.h:19
#28 SmallColorSelectorDock::~SmallColorSelectorDock (this=0x55555d8cddf0, __in_chrg=<optimized out>)
    at /home/user/sources/krita/build/plugins/dockers/smallcolorselector/kritasmallcolorselector_autogen/EWIEGA46WW/../../../../../../plugins/dockers/smallcolorselector/smallcolorselector_dock.h:19
#29 0x00007ffff2e2325a in QObjectPrivate::deleteChildren (this=this@entry=0x55555921f850) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qobject.cpp:2210
#30 0x00007ffff440dae8 in QWidget::~QWidget (this=0x555559223620, __in_chrg=<optimized out>) at /build/qtbase-everywhere-src-6.10.0/src/widgets/kernel/qwidget.cpp:1559
#31 0x00007ffff45834e1 in QMainWindow::~QMainWindow (this=<optimized out>, __in_chrg=<optimized out>) at /build/qtbase-everywhere-src-6.10.0/src/widgets/widgets/qmainwindow.cpp:290
#32 0x00007ffff54ea2a7 in KXmlGuiWindow::~KXmlGuiWindow (this=this@entry=0x555559223620, __vtt_parm=__vtt_parm@entry=0x7ffff7e71df8 <VTT for KisMainWindow+8>, __in_chrg=<optimized out>)
    at /home/user/sources/krita/libs/widgetutils/xmlgui/kxmlguiwindow.cpp:108
#33 0x00007ffff7b6c83b in KisMainWindow::~KisMainWindow (this=0x555559223620, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /home/user/sources/krita/libs/ui/KisMainWindow.cpp:691
#34 0x00007ffff7b6c8e1 in KisMainWindow::~KisMainWindow (this=0x555559223620, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /home/user/sources/krita/libs/ui/KisMainWindow.cpp:691
#35 0x00007ffff2e1c9e6 in QObject::event (this=0x555559223620, e=0x555566e60f10) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qobject.cpp:1396
#36 0x00007ffff43a4a4d in QApplicationPrivate::notify_helper (this=this@entry=0x555555d22220, receiver=0x555559223620, e=0x555566e60f10, e@entry=0x7ffffffdb050)
    at /build/qtbase-everywhere-src-6.10.0/src/widgets/kernel/qapplication.cpp:3307
#37 0x00007ffff43aece7 in QApplication::notify (this=this@entry=0x7ffffffdb050, receiver=receiver@entry=0x555559223620, e=0x7ffffffdb050, e@entry=0x555566e60f10)
    at /build/qtbase-everywhere-src-6.10.0/src/widgets/kernel/qapplication.cpp:3068
#38 0x00007ffff7b2634e in KisApplication::notify (this=0x7ffffffdb050, receiver=0x555559223620, event=0x555566e60f10) at /home/user/sources/krita/libs/ui/KisApplication.cpp:878
#39 0x00007ffff2dbd0c8 in QCoreApplication::notifyInternal2 (receiver=0x555559223620, event=0x555566e60f10) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qcoreapplication.cpp:1109
#40 0x00007ffff2dbd32d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qcoreapplication.cpp:1549
#41 0x00007ffff2dc086d in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x555555d22180) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qcoreapplication.cpp:1904
#42 0x00007ffff30fcfbf in postEventSourceDispatch (s=0x5555562654e0) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#43 0x00007ffff2303f2d in g_main_context_dispatch_unlocked () from /nix/store/4z66ad4phbjkmkb8h0cyr6pls8q9l84a-glib-2.84.4/lib/libglib-2.0.so.0
#44 0x00007ffff2306278 in g_main_context_iterate_unlocked.isra () from /nix/store/4z66ad4phbjkmkb8h0cyr6pls8q9l84a-glib-2.84.4/lib/libglib-2.0.so.0
#45 0x00007ffff2306b0f in g_main_context_iteration () from /nix/store/4z66ad4phbjkmkb8h0cyr6pls8q9l84a-glib-2.84.4/lib/libglib-2.0.so.0
#46 0x00007ffff30fc673 in QEventDispatcherGlib::processEvents (this=0x55555601ec90, flags=...) at /build/qtbase-everywhere-src-6.10.0/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#47 0x00007ffff2dcae93 in QEventLoop::exec (this=this@entry=0x7ffffffdac90, flags=..., flags@entry=...) at /build/qtbase-everywhere-src-6.10.0/src/corelib/global/qflags.h:77
#48 0x00007ffff2dc5d81 in QCoreApplication::exec () at /build/qtbase-everywhere-src-6.10.0/src/corelib/global/qflags.h:77
#49 0x00007ffff35f84cd in QGuiApplication::exec () at /build/qtbase-everywhere-src-6.10.0/src/gui/kernel/qguiapplication.cpp:1973
#50 0x00007ffff43a49b9 in QApplication::exec () at /build/qtbase-everywhere-src-6.10.0/src/widgets/kernel/qapplication.cpp:2574
#51 0x000055555555e01c in main (argc=<optimized out>, argv=<optimized out>) at /home/user/sources/krita/krita/main.cc:783
```