Bug 469683

Summary: Skanpage crashes in KSaneCore::ImageBuilder::copyToImage() after performing a scan
Product: [Applications] Skanpage Reporter: JoeDirt <joe>
Component: generalAssignee: Alexander Stippich <a.stippich>
Status: RESOLVED FIXED    
Severity: crash CC: inb-bugzilla-1e1cff, nate
Priority: NOR Keywords: drkonqi
Version First Reported In: 23.04.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 23.04.2
Sentry Crash Report:

Description JoeDirt 2023-05-12 23:21:19 UTC
Application: skanpage (23.04.0)

Qt Version: 5.15.9
Frameworks Version: 5.105.0
Operating System: Linux 6.3.1-2-default x86_64
Windowing System: Wayland
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.27.5 [KCrashBackend]

-- Information about the crash:
Crashed after one scan of multiples needed on an HP Office Jet Pro 9010

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Skanpage (skanpage), signal: Segmentation fault

[KCrash Handler]
#4  0x00007fcf88bd2baa in KSaneCore::ImageBuilder::copyToImage (read_bytes=65611, readData=0x555bb11ee000 '\377' <repeats 200 times>..., this=0x555bb12066e0) at /usr/src/debug/ksanecore-23.04.0/src/imagebuilder.cpp:99
#5  KSaneCore::ScanThread::copyToScanData (this=this@entry=0x555bb11edff0, readBytes=65611) at /usr/src/debug/ksanecore-23.04.0/src/scanthread.cpp:234
#6  0x00007fcf88bd2f2c in KSaneCore::ScanThread::readData (this=0x555bb11edff0) at /usr/src/debug/ksanecore-23.04.0/src/scanthread.cpp:210
#7  KSaneCore::ScanThread::run (this=0x555bb11edff0) at /usr/src/debug/ksanecore-23.04.0/src/scanthread.cpp:122
#8  0x00007fcf86303b7d in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
#9  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at thread/qthread_unix.cpp:287
#10 QThreadPrivate::start (arg=0x555bb11edff0) at thread/qthread_unix.cpp:310
#11 0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#12 0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 15 (Thread 0x7fcf427fc6c0 (LWP 9746) "skanpage:sh2"):
#1  0x00007fcf85c91da0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007fcf790c7bfb in cnd_wait (mtx=0x555bb0ce48b8, cond=0x555bb0ce48e0) at ../src/c11/impl/threads_posix.c:135
#3  util_queue_thread_func (input=input@entry=0x7fcf303dbb80) at ../src/util/u_queue.c:290
#4  0x00007fcf7910eb37 in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67
#5  0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#6  0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 14 (Thread 0x7fcf42ffd6c0 (LWP 9745) "skanpage:sh1"):
#1  0x00007fcf85c91da0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007fcf790c7bfb in cnd_wait (mtx=0x555bb0ce48b8, cond=0x555bb0ce48e0) at ../src/c11/impl/threads_posix.c:135
#3  util_queue_thread_func (input=input@entry=0x7fcf300188e0) at ../src/util/u_queue.c:290
#4  0x00007fcf7910eb37 in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67
#5  0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#6  0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 13 (Thread 0x7fcf437fe6c0 (LWP 9744) "QSGRenderThread"):
#1  0x00007fcf86303eb5 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=0x555bb1206750) at thread/qfutex_p.h:114
#2  QtLinuxFutex::futexWait<QBasicAtomicPointer<QMutexData> > (expectedValue=0x3, futex=...) at thread/qfutex_p.h:133
#3  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at thread/qmutex_linux.cpp:142
#4  QBasicMutex::lockInternal (this=0x555bb1206750) at thread/qmutex_linux.cpp:159
#5  0x0000555bafc8d9c0 in InProgressPainter::paint(QPainter*) ()
#6  0x00007fcf8782ec90 in QSGDefaultPainterNode::paint (this=this@entry=0x555bb25be630) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/quick/scenegraph/util/qsgdefaultpainternode.cpp:188
#7  0x00007fcf8782fa5c in QSGDefaultPainterNode::update (this=0x555bb25be630) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/quick/scenegraph/util/qsgdefaultpainternode.cpp:216
#8  0x00007fcf878a928d in QQuickPaintedItem::updatePaintNode (this=<optimized out>, oldNode=<optimized out>, data=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/quick/items/qquickpainteditem.cpp:610
#9  0x00007fcf87896378 in QQuickWindowPrivate::updateDirtyNode (this=0x555bb0ee9f70, item=0x555bb140cbb0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/quick/items/qquickwindow.cpp:3895
#10 0x00007fcf8789697b in QQuickWindowPrivate::updateDirtyNodes (this=this@entry=0x555bb0ee9f70) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/quick/items/qquickwindow.cpp:3640
#11 0x00007fcf8789850d in QQuickWindowPrivate::syncSceneGraph (this=this@entry=0x555bb0ee9f70) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/quick/items/qquickwindow.cpp:524
#12 0x00007fcf878365a6 in QSGRenderThread::sync (this=this@entry=0x7fcf7c00def0, inExpose=inExpose@entry=false, inGrab=inGrab@entry=false) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/quick/scenegraph/qsgthreadedrenderloop.cpp:646
#13 0x00007fcf8783819a in QSGRenderThread::syncAndRender (this=0x7fcf7c00def0, grabImage=0x0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/quick/scenegraph/qsgthreadedrenderloop.cpp:777
#14 0x00007fcf8783916f in QSGRenderThread::run (this=0x7fcf7c00def0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1042
#15 0x00007fcf86303b7d in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
#16 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at thread/qthread_unix.cpp:287
#17 QThreadPrivate::start (arg=0x7fcf7c00def0) at thread/qthread_unix.cpp:310
#18 0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#19 0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 12 (Thread 0x7fcf43fff6c0 (LWP 9743) "skanpage:gdrv0"):
#1  0x00007fcf85c91da0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007fcf790c7bfb in cnd_wait (mtx=0x555bb21ac818, cond=0x555bb21ac840) at ../src/c11/impl/threads_posix.c:135
#3  util_queue_thread_func (input=input@entry=0x555bb137be20) at ../src/util/u_queue.c:290
#4  0x00007fcf7910eb37 in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67
#5  0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#6  0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 11 (Thread 0x7fcf4cf4f6c0 (LWP 9742) "skanpage:gdrv0"):
#1  0x00007fcf85c91da0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007fcf790c7bfb in cnd_wait (mtx=0x555bb20fa128, cond=0x555bb20fa150) at ../src/c11/impl/threads_posix.c:135
#3  util_queue_thread_func (input=input@entry=0x555bb20938f0) at ../src/util/u_queue.c:290
#4  0x00007fcf7910eb37 in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67
#5  0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#6  0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 10 (Thread 0x7fcf4eb1b6c0 (LWP 9741) "QQmlThread"):
#1  0x00007fcf85cdc58d in clock_gettime@GLIBC_2.2.5 () from /lib64/libc.so.6
#2  0x00007fcf86545891 in qt_clock_gettime (ts=0x7fcf4eb1a940, clock=1) at kernel/qelapsedtimer_unix.cpp:111
#3  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at kernel/qelapsedtimer_unix.cpp:166
#4  qt_gettime () at kernel/qelapsedtimer_unix.cpp:175
#5  0x00007fcf86544119 in QTimerInfoList::updateCurrentTime (this=this@entry=0x7fcf44001170) at kernel/qtimerinfo_unix.cpp:91
#6  0x00007fcf86544715 in QTimerInfoList::timerWait (this=0x7fcf44001170, tm=...) at kernel/qtimerinfo_unix.cpp:388
#7  0x00007fcf8654618e in timerSourcePrepareHelper (timeout=0x7fcf4eb1aa14, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:133
#8  timerSourcePrepare (source=<optimized out>, timeout=0x7fcf4eb1aa14) at kernel/qeventdispatcher_glib.cpp:166
#9  0x00007fcf84d16115 in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#10 0x00007fcf84d16b93 in ?? () from /lib64/libglib-2.0.so.0
#11 0x00007fcf84d16d7c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#12 0x00007fcf86545f3e in QEventDispatcherGlib::processEvents (this=0x7fcf44000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#13 0x00007fcf864eb40b in QEventLoop::exec (this=this@entry=0x7fcf4eb1abe0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#14 0x00007fcf8630294e in QThread::exec (this=this@entry=0x555bb10ebc30) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#15 0x00007fcf87341ef5 in QQmlThreadPrivate::run (this=0x555bb10ebc30) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/qml/qml/ftw/qqmlthread.cpp:155
#16 0x00007fcf86303b7d in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
#17 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at thread/qthread_unix.cpp:287
#18 QThreadPrivate::start (arg=0x555bb10ebc30) at thread/qthread_unix.cpp:310
#19 0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#20 0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 9 (Thread 0x7fcf5effd6c0 (LWP 9738) "QThread"):
#1  0x00007fcf85cdc58d in clock_gettime@GLIBC_2.2.5 () from /lib64/libc.so.6
#2  0x00007fcf86545891 in qt_clock_gettime (ts=0x7fcf5effc960, clock=1) at kernel/qelapsedtimer_unix.cpp:111
#3  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at kernel/qelapsedtimer_unix.cpp:166
#4  qt_gettime () at kernel/qelapsedtimer_unix.cpp:175
#5  0x00007fcf86544119 in QTimerInfoList::updateCurrentTime (this=this@entry=0x7fcf54001170) at kernel/qtimerinfo_unix.cpp:91
#6  0x00007fcf86544715 in QTimerInfoList::timerWait (this=0x7fcf54001170, tm=...) at kernel/qtimerinfo_unix.cpp:388
#7  0x00007fcf8654618e in timerSourcePrepareHelper (timeout=0x7fcf5effca34, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:133
#8  timerSourcePrepare (source=<optimized out>, timeout=0x7fcf5effca34) at kernel/qeventdispatcher_glib.cpp:166
#9  0x00007fcf84d16115 in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#10 0x00007fcf84d16b93 in ?? () from /lib64/libglib-2.0.so.0
#11 0x00007fcf84d16d7c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#12 0x00007fcf86545f3e in QEventDispatcherGlib::processEvents (this=0x7fcf54000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#13 0x00007fcf864eb40b in QEventLoop::exec (this=this@entry=0x7fcf5effcc00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#14 0x00007fcf8630294e in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#15 0x00007fcf86303b7d in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
#16 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at thread/qthread_unix.cpp:287
#17 QThreadPrivate::start (arg=0x555bb1063188) at thread/qthread_unix.cpp:310
#18 0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#19 0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 8 (Thread 0x7fcf5f7fe6c0 (LWP 9735) "skanpage:shlo0"):
#1  0x00007fcf85c91da0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007fcf790c7bfb in cnd_wait (mtx=0x555bb0ce4e28, cond=0x555bb0ce4e50) at ../src/c11/impl/threads_posix.c:135
#3  util_queue_thread_func (input=input@entry=0x555bb0d5dcf0) at ../src/util/u_queue.c:290
#4  0x00007fcf7910eb37 in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67
#5  0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#6  0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 7 (Thread 0x7fcf5ffff6c0 (LWP 9734) "skanpage:sh0"):
#1  0x00007fcf85c91da0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007fcf790c7bfb in cnd_wait (mtx=0x555bb0ce48b8, cond=0x555bb0ce48e0) at ../src/c11/impl/threads_posix.c:135
#3  util_queue_thread_func (input=input@entry=0x555bb0d5da10) at ../src/util/u_queue.c:290
#4  0x00007fcf7910eb37 in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67
#5  0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#6  0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 6 (Thread 0x7fcf64bff6c0 (LWP 9733) "skanpag:disk$0"):
#1  0x00007fcf85c91da0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007fcf790c7bfb in cnd_wait (mtx=0x555bb0d5c798, cond=0x555bb0d5c7c0) at ../src/c11/impl/threads_posix.c:135
#3  util_queue_thread_func (input=input@entry=0x555bb0d5d5e0) at ../src/util/u_queue.c:290
#4  0x00007fcf7910eb37 in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67
#5  0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#6  0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 5 (Thread 0x7fcf78fff6c0 (LWP 9732) "skanpage:cs0"):
#1  0x00007fcf85c91da0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007fcf790c7bfb in cnd_wait (mtx=0x555bb0cd5908, cond=0x555bb0cd5930) at ../src/c11/impl/threads_posix.c:135
#3  util_queue_thread_func (input=input@entry=0x555bb0cd51f0) at ../src/util/u_queue.c:290
#4  0x00007fcf7910eb37 in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67
#5  0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#6  0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 4 (Thread 0x7fcf7b7fe6c0 (LWP 9731) "WaylandEventThr"):
#1  0x00007fcf81d2aec6 in poll (__timeout=-1, __nfds=2, __fds=0x7fcf7b7fdbf0) at /usr/include/bits/poll2.h:39
#2  QtWaylandClient::EventThread::run (this=0x555bb0c5d440) at qwaylanddisplay.cpp:210
#3  0x00007fcf86303b7d in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
#4  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at thread/qthread_unix.cpp:287
#5  QThreadPrivate::start (arg=0x555bb0c5d440) at thread/qthread_unix.cpp:310
#6  0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#7  0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 3 (Thread 0x7fcf7bfff6c0 (LWP 9730) "WaylandEventThr"):
#1  0x00007fcf85c91da0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007fcf863093fb in QWaitConditionPrivate::wait (deadline=..., this=0x555bb0c5d1d0) at thread/qwaitcondition_unix.cpp:146
#3  QWaitCondition::wait (this=this@entry=0x555bb0c5d980, mutex=mutex@entry=0x555bb0c5d978, deadline=...) at thread/qwaitcondition_unix.cpp:225
#4  0x00007fcf81d2ae6f in QtWaylandClient::EventThread::waitForReading (this=0x555bb0c5d940) at qwaylanddisplay.cpp:244
#5  QtWaylandClient::EventThread::run (this=0x555bb0c5d940) at qwaylanddisplay.cpp:208
#6  0x00007fcf86303b7d in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
#7  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at thread/qthread_unix.cpp:287
#8  QThreadPrivate::start (arg=0x555bb0c5d940) at thread/qthread_unix.cpp:310
#9  0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#10 0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 2 (Thread 0x7fcf819ff6c0 (LWP 9729) "QDBusConnection"):
#1  0x00007fcf85cdc58d in clock_gettime@GLIBC_2.2.5 () from /lib64/libc.so.6
#2  0x00007fcf86545891 in qt_clock_gettime (ts=0x7fcf819fe930, clock=1) at kernel/qelapsedtimer_unix.cpp:111
#3  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at kernel/qelapsedtimer_unix.cpp:166
#4  qt_gettime () at kernel/qelapsedtimer_unix.cpp:175
#5  0x00007fcf86544119 in QTimerInfoList::updateCurrentTime (this=this@entry=0x7fcf7c0013e0) at kernel/qtimerinfo_unix.cpp:91
#6  0x00007fcf86544715 in QTimerInfoList::timerWait (this=0x7fcf7c0013e0, tm=...) at kernel/qtimerinfo_unix.cpp:388
#7  0x00007fcf8654618e in timerSourcePrepareHelper (timeout=0x7fcf819fea04, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:133
#8  timerSourcePrepare (source=<optimized out>, timeout=0x7fcf819fea04) at kernel/qeventdispatcher_glib.cpp:166
#9  0x00007fcf84d16115 in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#10 0x00007fcf84d16b93 in ?? () from /lib64/libglib-2.0.so.0
#11 0x00007fcf84d16d7c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#12 0x00007fcf86545f3e in QEventDispatcherGlib::processEvents (this=0x7fcf7c000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#13 0x00007fcf864eb40b in QEventLoop::exec (this=this@entry=0x7fcf819febd0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#14 0x00007fcf8630294e in QThread::exec (this=this@entry=0x7fcf8586a060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#15 0x00007fcf857f1257 in QDBusConnectionManager::run (this=0x7fcf8586a060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#16 0x00007fcf86303b7d in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
#17 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at thread/qthread_unix.cpp:287
#18 QThreadPrivate::start (arg=0x7fcf8586a060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:310
#19 0x00007fcf85c92ab4 in start_thread () from /lib64/libc.so.6
#20 0x00007fcf85d19b60 in clone3 () from /lib64/libc.so.6

Thread 1 (Thread 0x7fcf83d60980 (LWP 9728) "skanpage"):
#1  0x00007fcf85c91da0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007fcf863093fb in QWaitConditionPrivate::wait (deadline=..., this=0x555bb1a20a40) at thread/qwaitcondition_unix.cpp:146
#3  QWaitCondition::wait (this=<optimized out>, mutex=0x7fcf7c00df48, deadline=...) at thread/qwaitcondition_unix.cpp:225
#4  0x00007fcf8783af38 in QSGThreadedRenderLoop::polishAndSync (this=0x555bb1256470, w=0x555bb1e7aa20, inExpose=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1603
#5  0x00007fcf878a66d5 in QQuickWindow::event (this=0x555bb10f58c0, e=0x7ffe03c992c0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.9+kde23/src/quick/items/qquickwindow.cpp:1865
#6  0x00007fcf87da51ae in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555bb10f58c0, e=0x7ffe03c992c0) at kernel/qapplication.cpp:3640
#7  0x00007fcf864ec978 in QCoreApplication::notifyInternal2 (receiver=0x555bb10f58c0, event=0x7ffe03c992c0) at kernel/qcoreapplication.cpp:1064
#8  0x00007fcf8696bb58 in QPlatformWindow::deliverUpdateRequest (this=<optimized out>) at kernel/qplatformwindow.cpp:796
#9  0x00007fcf86518c50 in QObject::event (this=0x555bb1b00400, e=0x7fcf6c0089a0) at kernel/qobject.cpp:1347
#10 0x00007fcf87da51ae in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555bb1b00400, e=0x7fcf6c0089a0) at kernel/qapplication.cpp:3640
#11 0x00007fcf864ec978 in QCoreApplication::notifyInternal2 (receiver=0x555bb1b00400, event=0x7fcf6c0089a0) at kernel/qcoreapplication.cpp:1064
#12 0x00007fcf864eff71 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x555bb0bfd480) at kernel/qcoreapplication.cpp:1821
#13 0x00007fcf86546713 in postEventSourceDispatch (s=0x555bb0c4fe20) at kernel/qeventdispatcher_glib.cpp:277
#14 0x00007fcf84d168d8 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#15 0x00007fcf84d16ce8 in ?? () from /lib64/libglib-2.0.so.0
#16 0x00007fcf84d16d7c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#17 0x00007fcf86545f26 in QEventDispatcherGlib::processEvents (this=0x555bb0c5d620, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#18 0x00007fcf864eb40b in QEventLoop::exec (this=this@entry=0x7ffe03c996a0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#19 0x00007fcf864f38a0 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#20 0x0000555bafc8f174 in main ()
[Inferior 1 (process 9728) detached]

Reported using DrKonqi
Comment 1 Bug Janitor Service 2023-05-16 15:28:57 UTC
A possibly relevant merge request was started @ https://invent.kde.org/libraries/ksanecore/-/merge_requests/13
Comment 2 John Doe 2023-05-18 13:28:31 UTC
Git commit 6723ef7c066db2164b1ffb2e805022f1aa7c2dc6 by John Doe.
Committed on 16/05/2023 at 15:07.
Pushed by ngraham into branch 'master'.

Also call renewImage() for 8-bit Gray images

That was the only format where it was not called...
I simulated a crash with the exact same backtrace to
by using the test device in hand scanner 8-bit gray mode.

M  +3    -0    src/imagebuilder.cpp

https://invent.kde.org/libraries/ksanecore/commit/6723ef7c066db2164b1ffb2e805022f1aa7c2dc6
Comment 3 Nate Graham 2023-05-18 13:36:27 UTC
Git commit fb876efdf896f6979f51bba252dec768df2fb3a3 by Nate Graham, on behalf of John Doe.
Committed on 18/05/2023 at 13:34.
Pushed by ngraham into branch 'release/23.04'.

Also call renewImage() for 8-bit Gray images

That was the only format where it was not called...
I simulated a crash with the exact same backtrace to
by using the test device in hand scanner 8-bit gray mode.

(cherry picked from commit 6723ef7c066db2164b1ffb2e805022f1aa7c2dc6)

M  +3    -0    src/imagebuilder.cpp

https://invent.kde.org/libraries/ksanecore/commit/fb876efdf896f6979f51bba252dec768df2fb3a3