Bug 441165 - Crash when converting image color space while softproofing
Summary: Crash when converting image color space while softproofing
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-08-19 10:50 UTC by wolthera
Modified: 2021-12-01 10:23 UTC (History)
1 user (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 2021-08-19 10:50:20 UTC
Application: krita (5.0.0-beta1 (git 3a35c30))

Qt Version: 5.15.3
Frameworks Version: 5.84.0
Operating System: Linux 5.4.0-80-generic x86_64
Windowing System: X11
Drkonqi Version: 5.22.4
Distribution: KDE neon User Edition 5.22

-- Information about the crash:
- What I was doing when the application crashed:

- have 16bit image.
- turn on softproofing
- while soft proofing is on, image->convert image color space, select an 8bit space.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Krita (krita), signal: Segmentation fault

[New LWP 2983563]
[New LWP 2983564]
[New LWP 2983565]
[New LWP 2983566]
[New LWP 2983567]
[New LWP 2983835]
[New LWP 2983849]
[New LWP 2983862]
[New LWP 2983863]
[New LWP 2983872]
[New LWP 2983873]
[New LWP 3381416]
[New LWP 3381417]
[New LWP 3381418]
[New LWP 3381419]
[New LWP 3381420]
[New LWP 3381421]
[New LWP 3381422]
[New LWP 3381423]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fabf0dfaaff in __GI___poll (fds=0x7fffb51b7fb8, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
[Current thread is 1 (Thread 0x7fabeba72f80 (LWP 2983536))]

Thread 20 (Thread 0x7fab247f6700 (LWP 3381423)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fab247f5c90, clockid=<optimized out>, expected=0, futex_word=0x5645dacfc304) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7fab247f5c90, clockid=<optimized out>, mutex=0x5645dacfc2b0, cond=0x5645dacfc2d8) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x5645dacfc2d8, mutex=0x5645dacfc2b0, abstime=0x7fab247f5c90) at pthread_cond_wait.c:656
#3  0x00007fabf11a7eb8 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fabf11a53c1 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 19 (Thread 0x7fab24ff7700 (LWP 3381422)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fab24ff6c90, clockid=<optimized out>, expected=0, futex_word=0x5645dad00904) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7fab24ff6c90, clockid=<optimized out>, mutex=0x5645dad008b0, cond=0x5645dad008d8) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x5645dad008d8, mutex=0x5645dad008b0, abstime=0x7fab24ff6c90) at pthread_cond_wait.c:656
#3  0x00007fabf11a7eb8 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fabf11a53c1 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 18 (Thread 0x7fab257f8700 (LWP 3381421)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fab257f7c90, clockid=<optimized out>, expected=0, futex_word=0x5645dae568a0) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7fab257f7c90, clockid=<optimized out>, mutex=0x5645dae56850, cond=0x5645dae56878) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x5645dae56878, mutex=0x5645dae56850, abstime=0x7fab257f7c90) at pthread_cond_wait.c:656
#3  0x00007fabf11a7eb8 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fabf11a53c1 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 17 (Thread 0x7fab27ffd700 (LWP 3381420)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fab27ffcc90, clockid=<optimized out>, expected=0, futex_word=0x5645daea5014) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7fab27ffcc90, clockid=<optimized out>, mutex=0x5645daea4fc0, cond=0x5645daea4fe8) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x5645daea4fe8, mutex=0x5645daea4fc0, abstime=0x7fab27ffcc90) at pthread_cond_wait.c:656
#3  0x00007fabf11a7eb8 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fabf11a53c1 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 16 (Thread 0x7fab267fa700 (LWP 3381419)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fab267f9c90, clockid=<optimized out>, expected=0, futex_word=0x5645dae270e4) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7fab267f9c90, clockid=<optimized out>, mutex=0x5645dae27090, cond=0x5645dae270b8) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x5645dae270b8, mutex=0x5645dae27090, abstime=0x7fab267f9c90) at pthread_cond_wait.c:656
#3  0x00007fabf11a7eb8 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fabf11a53c1 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 15 (Thread 0x7fab26ffb700 (LWP 3381418)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fab26ffac90, clockid=<optimized out>, expected=0, futex_word=0x5645dad32114) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7fab26ffac90, clockid=<optimized out>, mutex=0x5645dad320c0, cond=0x5645dad320e8) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x5645dad320e8, mutex=0x5645dad320c0, abstime=0x7fab26ffac90) at pthread_cond_wait.c:656
#3  0x00007fabf11a7eb8 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fabf11a53c1 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 14 (Thread 0x7fab277fc700 (LWP 3381417)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fab277fbc90, clockid=<optimized out>, expected=0, futex_word=0x5645dacfe400) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7fab277fbc90, clockid=<optimized out>, mutex=0x5645dacfe3b0, cond=0x5645dacfe3d8) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x5645dacfe3d8, mutex=0x5645dacfe3b0, abstime=0x7fab277fbc90) at pthread_cond_wait.c:656
#3  0x00007fabf11a7eb8 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fabf11a53c1 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 13 (Thread 0x7fab25ff9700 (LWP 3381416)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fab25ff8c90, clockid=<optimized out>, expected=0, futex_word=0x5645dae5e950) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7fab25ff8c90, clockid=<optimized out>, mutex=0x5645dae5e900, cond=0x5645dae5e928) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x5645dae5e928, mutex=0x5645dae5e900, abstime=0x7fab25ff8c90) at pthread_cond_wait.c:656
#3  0x00007fabf11a7eb8 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fabf11a53c1 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 12 (Thread 0x7fab67b3f700 (LWP 2983873)):
#0  0x00007fabee4648ed in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fabee466345 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fabee46782b in g_main_context_prepare () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fabee46829b in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fabee4684a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fabf13e2fcb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabf138725b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fabf11a0c22 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7fab74b78700 (LWP 2983872)):
#0  0x00007fabf0dfaaff in __GI___poll (fds=0x7fab60004280, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fabee46836e in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fabee4684a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fabf13e2fcb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fabf138725b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fabf11a0c22 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7fab77fff700 (LWP 2983863)):
#0  __GI___libc_read (nbytes=16, buf=0x7fab77ffead0, fd=34) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=34, buf=0x7fab77ffead0, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007fabee4b0b2f in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fabee467ebe in g_main_context_check () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fabee468312 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fabee4684a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fabf13e2fcb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fabf138725b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fabf11a0c22 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fabddb8a3ba in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#10 0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#12 0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7fab868af700 (LWP 2983862)):
#0  0x00007fabf11a22e0 in QMutex::lock() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007fabf13e2ec2 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fabee4678ef in g_main_context_prepare () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fabee46829b in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fabee4684a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fabf13e2fcb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabf138725b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fabf11a0c22 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fabdd8d5559 in  () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fab860ae700 (LWP 2983849)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fabf11a4340 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fabf11a41a6 in QSemaphore::tryAcquire(int, int) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fabf27e8457 in KisTileDataSwapper::waitForWork() (this=<optimized out>) at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:74
#4  0x00007fabf27e865a in KisTileDataSwapper::run() (this=0x7fabf2d33ca0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>) at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:80
#5  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7faba2222700 (LWP 2983835)):
#0  0x00007fabf0dfaaff in __GI___poll (fds=0x7fab80004e60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fabee46836e in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fabee4684a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fabf13e2fcb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fabf138725b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fabf11a0c22 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fabd7fff700 (LWP 2983567)):
#0  __GI___libc_read (nbytes=16, buf=0x7fabd7ffeae0, fd=13) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=13, buf=0x7fabd7ffeae0, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007fabee4b0b2f in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fabee467ebe in g_main_context_check () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fabee468312 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fabee4684a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fabf13e2fcb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fabf138725b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fabf11a0c22 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fabee237f4b in  () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#10 0x00007fabf11a1dbc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#12 0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fabdcfec700 (LWP 2983566)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7fabcc001e78) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7fabcc001e28, cond=0x7fabcc001e50) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x7fabcc001e50, mutex=0x7fabcc001e28) at pthread_cond_wait.c:638
#3  0x00007fabe90ccb5b in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007fabe90cc75b in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fabe8980700 (LWP 2983565)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7fabcc001e78) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7fabcc001e28, cond=0x7fabcc001e50) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x7fabcc001e50, mutex=0x7fabcc001e28) at pthread_cond_wait.c:638
#3  0x00007fabe90ccb5b in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007fabe90cc75b in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fabd705b700 (LWP 2983564)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7fabcc001e78) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7fabcc001e28, cond=0x7fabcc001e50) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x7fabcc001e50, mutex=0x7fabcc001e28) at pthread_cond_wait.c:638
#3  0x00007fabe90ccb5b in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007fabe90cc75b in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fabdf05b700 (LWP 2983563)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7fabcc001e78) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7fabcc001e28, cond=0x7fabcc001e50) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x7fabcc001e50, mutex=0x7fabcc001e28) at pthread_cond_wait.c:638
#3  0x00007fabe90ccb5b in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007fabe90cc75b in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007fabeede5609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fabf0e07293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fabeba72f80 (LWP 2983536)):
[KCrash Handler]
#4  boost::simple_segregated_storage<unsigned long>::malloc() (this=0x5645ebb94438) at /usr/include/boost/pool/simple_segregated_storage.hpp:147
#5  boost::pool<boost::default_user_allocator_new_delete>::malloc() (this=0x5645ebb94438) at /usr/include/boost/pool/pool.hpp:430
#6  KisTextureTileInfoPoolSingleSize::malloc() (this=0x5645ebb94430) at /home/wolthera/krita/src/libs/ui/opengl/kis_texture_tile_info_pool.h:58
#7  KisTextureTileInfoPool::malloc(int) (pixelSize=4, this=0x5645e9473290) at /home/wolthera/krita/src/libs/ui/opengl/kis_texture_tile_info_pool.h:152
#8  DataBuffer::allocate(int) (this=this@entry=0x7fffb51b8ef0, pixelSize=4) at /home/wolthera/krita/src/libs/ui/opengl/kis_texture_tile_update_info.h:78
#9  0x00007fabf3390f41 in DataBuffer::DataBuffer(int, QSharedPointer<KisTextureTileInfoPool>) (pool=..., pixelSize=<optimized out>, this=0x7fffb51b8ef0) at /home/wolthera/krita/src/libs/ui/opengl/kis_texture_tile_update_info.h:52
#10 KisTextureTileUpdateInfo::proofTo(KoColorSpace const*, QFlags<KoColorConversionTransformation::ConversionFlag>, KoColorConversionTransformation*) (proofingTransform=0x5645e310c030, conversionFlags=..., dstCS=0x5645e72f8960, this=0x5645ea5e6290) at /home/wolthera/krita/src/libs/ui/opengl/kis_texture_tile_update_info.h:210
#11 KisOpenGLUpdateInfoBuilder::buildUpdateInfo(QRect const&, KisSharedPtr<KisPaintDevice>, QRect const&, int, bool) (this=<optimized out>, rect=..., projection=..., bounds=..., levelOfDetail=<optimized out>, convertColorSpace=<optimized out>) at /home/wolthera/krita/src/libs/ui/opengl/KisOpenGLUpdateInfoBuilder.cpp:146
#12 0x00007fabf3392756 in KisOpenGLUpdateInfoBuilder::buildUpdateInfo(QRect const&, KisSharedPtr<KisImage>, bool) (this=0x5645e78b1d98, rect=..., srcImage=..., convertColorSpace=true) at /home/wolthera/krita/src/libs/global/kis_shared_ptr.h:167
#13 0x00007fabf33826ce in KisOpenGLImageTextures::updateCacheImpl(QRect const&, KisSharedPtr<KisImage>, bool) (this=<optimized out>, rect=..., srcImage=..., convertColorSpace=<optimized out>) at /usr/include/c++/9/bits/atomic_base.h:318
#14 0x00007fabf338279f in KisOpenGLImageTextures::updateCache(QRect const&, KisSharedPtr<KisImage>) (this=this@entry=0x5645e78b1d00, rect=..., srcImage=...) at /usr/include/c++/9/bits/atomic_base.h:318
#15 0x00007fabf33754a2 in KisOpenGLCanvas2::startUpdateCanvasProjection(QRect const&, QBitArray const&) (this=0x5645e86e58b0, rc=..., channelFlags=...) at /home/wolthera/krita/src/libs/global/kis_shared_ptr.h:167
#16 0x00007fabf30e56fd in KisCanvas2::startUpdateCanvasProjection(QRect const&) (this=0x5645e759ee78, rc=...) at /home/wolthera/krita/src/libs/ui/canvas/kis_canvas2.cpp:812
#17 0x00007fabf30e5967 in KisCanvas2::startUpdateInPatches(QRect const&) (this=0x5645e759ee78, imageRect=...) at /home/wolthera/krita/src/libs/ui/canvas/kis_canvas2.cpp:675
#18 0x00007fabf3377d91 in non-virtual thunk to KisOpenGLCanvas2::notifyImageColorSpaceChanged(KoColorSpace const*) () at /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:159
#19 0x00007fabf30e9552 in KisCanvas2::slotImageColorSpaceChanged() (this=<optimized out>) at /home/wolthera/krita/src/libs/global/kis_shared_ptr.h:167
#20 0x00007fabf13bf7b0 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007fabf27aef86 in KisImage::sigColorSpaceChanged(KoColorSpace const*) (this=<optimized out>, _t1=<optimized out>) at /home/wolthera/krita/build/libs/image/kritaimage_autogen/EWIEGA46WW/moc_kis_image.cpp:799
#22 0x00007fabf27b2b93 in KisImage::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7fab55264438) at /home/wolthera/krita/build/libs/image/kritaimage_autogen/EWIEGA46WW/moc_kis_image.cpp:363
#23 0x00007fabf13b62f9 in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007fabf1e62dc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007fabf1e6bbb8 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007fabf35eac4d in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x5645ebb89ac0, event=0x7fab552643f0) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:703
#27 0x00007fabf138875a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007fabf138b061 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007fabf13e3957 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007fabee46817d in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007fabee468400 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007fabee4684a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fabf13e2fb2 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007fabf138725b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007fabf138f414 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00005645d9d2d320 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/wolthera/krita/src/krita/main.cc:677
[Inferior 1 (process 2983536) detached]

Possible duplicates by query: bug 390454.

Reported using DrKonqi
Comment 1 lnicola 2021-08-19 10:58:24 UTC
Here's an ASAN report:

```
==27869==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x7f42a3fbe26b bp 0x0fffcb1d3d92 sp 0x7ffe58e9ec70 T0)
==27869==The signal is caused by a READ memory access.
==27869==Hint: this fault was caused by a dereference of a high value address (see register values below).  Dissassemble the provided pc to learn which register was used.
    #0 0x7f42a3fbe26b in boost::simple_segregated_storage<unsigned long>::malloc() /usr/include/boost/pool/simple_segregated_storage.hpp:155
    #1 0x7f42a3fbe26b in boost::pool<boost::default_user_allocator_new_delete>::malloc() /usr/include/boost/pool/pool.hpp:430
    #2 0x7f42a3fbe26b in KisTextureTileInfoPoolSingleSize::malloc() ~/Projects/krita/libs/ui/opengl/kis_texture_tile_info_pool.h:58
    #3 0x7f42a3fbe26b in KisTextureTileInfoPool::malloc(int) ~/Projects/krita/libs/ui/opengl/kis_texture_tile_info_pool.h:152
    #4 0x7f42a3fc126e in DataBuffer::allocate(int) ~/Projects/krita/libs/ui/opengl/kis_texture_tile_update_info.h:78
    #5 0x7f42a3fc126e in DataBuffer::DataBuffer(int, QSharedPointer<KisTextureTileInfoPool>) ~/Projects/krita/libs/ui/opengl/kis_texture_tile_update_info.h:52
    #6 0x7f42a3fc126e in KisTextureTileUpdateInfo::proofTo(KoColorSpace const*, QFlags<KoColorConversionTransformation::ConversionFlag>, KoColorConversionTransformation*) ~/Projects/krita/libs/ui/opengl/kis_texture_tile_update_info.h:210
    #7 0x7f42a3fb7f02 in KisOpenGLUpdateInfoBuilder::buildUpdateInfo(QRect const&, KisSharedPtr<KisPaintDevice>, QRect const&, int, bool) ~/Projects/krita/libs/ui/opengl/KisOpenGLUpdateInfoBuilder.cpp:146
    #8 0x7f42a3fbbc1f in KisOpenGLUpdateInfoBuilder::buildUpdateInfo(QRect const&, KisSharedPtr<KisImage>, bool) ~/Projects/krita/libs/ui/opengl/KisOpenGLUpdateInfoBuilder.cpp:49
    #9 0x7f42a3f905a2 in KisOpenGLImageTextures::updateCacheImpl(QRect const&, KisSharedPtr<KisImage>, bool) ~/Projects/krita/libs/ui/opengl/kis_opengl_image_textures.cpp:254
    #10 0x7f42a3f90898 in KisOpenGLImageTextures::updateCache(QRect const&, KisSharedPtr<KisImage>) ~/Projects/krita/libs/ui/opengl/kis_opengl_image_textures.cpp:242
    #11 0x7f42a3f648b4 in KisOpenGLCanvas2::startUpdateCanvasProjection(QRect const&, QBitArray const&) ~/Projects/krita/libs/ui/opengl/kis_opengl_canvas2.cpp:1137
    #12 0x7f42a38f4e68 in KisCanvas2::startUpdateCanvasProjection(QRect const&) ~/Projects/krita/libs/ui/canvas/kis_canvas2.cpp:812
    #13 0x7f42a38f521c in KisCanvas2::startUpdateInPatches(QRect const&) ~/Projects/krita/libs/ui/canvas/kis_canvas2.cpp:675
    #14 0x7f42a3f65a39 in KisOpenGLCanvas2::notifyImageColorSpaceChanged(KoColorSpace const*) ~/Projects/krita/libs/ui/opengl/kis_opengl_canvas2.cpp:254
    #15 0x7f42a38f9240 in KisCanvas2::slotImageColorSpaceChanged() ~/Projects/krita/libs/ui/canvas/kis_canvas2.cpp:716
    #16 0x7f429d32078f  (/usr/lib/libQt5Core.so.5+0x2f078f)
    #17 0x7f42a1ff9c9c in KisImage::sigColorSpaceChanged(KoColorSpace const*) ~/Projects/krita/build/libs/image/kritaimage_autogen/EWIEGA46WW/moc_kis_image.cpp:799
    #18 0x7f42a2002d31 in KisImage::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ~/Projects/krita/build/libs/image/kritaimage_autogen/EWIEGA46WW/moc_kis_image.cpp:363
    #19 0x7f429d3164fe in QObject::event(QEvent*) (/usr/lib/libQt5Core.so.5+0x2e64fe)
    #20 0x7f429ddc6d61 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x15ad61)
    #21 0x7f42a4628ae5 in KisApplication::notify(QObject*, QEvent*) ~/Projects/krita/libs/ui/KisApplication.cpp:703
    #22 0x7f429d2e93a9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/lib/libQt5Core.so.5+0x2b93a9)
    #23 0x7f429d2ec4a8 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (/usr/lib/libQt5Core.so.5+0x2bc4a8)
    #24 0x7f429d3429a3  (/usr/lib/libQt5Core.so.5+0x3129a3)
    #25 0x7f429b73a10b in g_main_context_dispatch (/usr/lib/libglib-2.0.so.0+0x5410b)
    #26 0x7f429b78db98  (/usr/lib/libglib-2.0.so.0+0xa7b98)
    #27 0x7f429b737870 in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x51870)
    #28 0x7f429d341fd5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x311fd5)
    #29 0x7f429d2e7d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x2b7d1b)
    #30 0x7f429d2f0283 in QCoreApplication::exec() (/usr/lib/libQt5Core.so.5+0x2c0283)
    #31 0x559bd44f523a in main ~/Projects/krita/krita/main.cc:677
    #32 0x7f429caf3b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    #33 0x559bd44f8f7d in _start (~/Projects/krita/install/bin/krita+0x19f7d)
```
Comment 2 Dmitry Kazakov 2021-12-01 10:13:36 UTC
Git commit d05ba9448eda7464ba5a6b0a06c8a8a7e87c9c0d by Dmitry Kazakov, on behalf of Mathias Wein.
Committed on 01/12/2021 at 10:06.
Pushed by dkazakov into branch 'master'.

Fix issues when soft proofing is active during colorspace conversion

The color transform needs to be reset before updating the canvas.
Also, there was an odd workaround to set new channel flags for the root
layer, but this was an async signal that caused an update in the middle
of invalidating the image data during conversion.
Instead, simply fetch the (after the previous fix valid) new channel flags
when the canvas gets notified about the color space change.
Related: bug 426641, bug 329336

M  +6    -0    libs/ui/canvas/kis_canvas2.cpp
M  +2    -0    libs/ui/opengl/KisOpenGLUpdateInfoBuilder.cpp
M  +0    -1    plugins/dockers/channeldocker/channeldocker_dock.cpp

https://invent.kde.org/graphics/krita/commit/d05ba9448eda7464ba5a6b0a06c8a8a7e87c9c0d
Comment 3 Dmitry Kazakov 2021-12-01 10:23:10 UTC
Git commit 413376726265eda75864eca9899c110ee7d5354e by Dmitry Kazakov, on behalf of Mathias Wein.
Committed on 01/12/2021 at 10:16.
Pushed by dkazakov into branch 'krita/5.0'.

Fix issues when soft proofing is active during colorspace conversion

The color transform needs to be reset before updating the canvas.
Also, there was an odd workaround to set new channel flags for the root
layer, but this was an async signal that caused an update in the middle
of invalidating the image data during conversion.
Instead, simply fetch the (after the previous fix valid) new channel flags
when the canvas gets notified about the color space change.
Related: bug 426641, bug 329336
(cherry picked from commit d05ba9448eda7464ba5a6b0a06c8a8a7e87c9c0d)

M  +6    -0    libs/ui/canvas/kis_canvas2.cpp
M  +2    -0    libs/ui/opengl/KisOpenGLUpdateInfoBuilder.cpp
M  +0    -1    plugins/dockers/channeldocker/channeldocker_dock.cpp

https://invent.kde.org/graphics/krita/commit/413376726265eda75864eca9899c110ee7d5354e