Bug 364417 - Skanlit crashes out when trying to do a scan or preview scan
Summary: Skanlit crashes out when trying to do a scan or preview scan
Status: RESOLVED WORKSFORME
Alias: None
Product: Skanlite
Classification: Applications
Component: general (other bugs)
Version First Reported In: 1.1
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Kåre Särs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-06-17 12:03 UTC by Matthew
Modified: 2021-01-04 00:08 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 Matthew 2016-06-17 12:03:35 UTC
Application: skanlite (1.1)
KDE Platform Version: 4.14.20
Qt Version: 4.8.7
Operating System: Linux 4.5.6-200.fc23.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
I had just booted into Fedora 23 and successfully run one scan with Skanlit, but on attempting to do a second scan, the scanner light would not function properly, my scans were dark as if half my scan bulb had turned off. 
I thus closed Skanlit and restarted it to see if that re-set the scanner light, however on opening Skanlit and trying to run a preview scan, the application just drops out and shows the Bug reporting dialogue.
Now Skanlit crashes out everytime I try to do a scan or preview scan.

Only able to do one scan at a time with Skanlit, before it starts crashing, a reboot of the system sorts it out, but only temporarily.

Skanlit has always had a problem when doing multiple scans, at times it allows two or three scans before it plays up, and other times it only allows one successful scan, then it reverts to crashing after each further attempt.

The crash can be reproduced every time.

-- Backtrace:
Application: Skanlite (skanlite), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fd8c12f5900 (LWP 3060))]

Thread 5 (Thread 0x7fd89b538700 (LWP 3064)):
#0  0x00007fd8bd29cb1d in poll () from /lib64/libc.so.6
#1  0x00007fd8b506cd8c in linux_udev_event_thread_main () from /lib64/libusb-1.0.so.0
#2  0x00007fd8bde0961a in start_thread () from /lib64/libpthread.so.0
#3  0x00007fd8bd2a859d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fd89bf4d700 (LWP 3066)):
#0  0x00007ffccd9d7c3f in clock_gettime ()
#1  0x00007fd8bd2b6816 in clock_gettime () from /lib64/libc.so.6
#2  0x00007fd8be106c35 in qt_gettime() () from /lib64/libQtCore.so.4
#3  0x00007fd8be1ecd15 in QTimerInfoList::timerWait(timeval&) () from /lib64/libQtCore.so.4
#4  0x00007fd8be1eb54c in timerSourcePrepareHelper(GTimerSource*, int*) () from /lib64/libQtCore.so.4
#5  0x00007fd8be1eb615 in timerSourcePrepare(_GSource*, int*) () from /lib64/libQtCore.so.4
#6  0x00007fd8b8b8672d in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#7  0x00007fd8b8b870bb in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#8  0x00007fd8b8b8729c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#9  0x00007fd8be1ebe7e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#10 0x00007fd8be1ba131 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#11 0x00007fd8be1ba4a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#12 0x00007fd8be0a9a99 in QThread::exec() () from /lib64/libQtCore.so.4
#13 0x00007fd8be19a203 in QInotifyFileSystemWatcherEngine::run() () from /lib64/libQtCore.so.4
#14 0x00007fd8be0ac38c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#15 0x00007fd8bde0961a in start_thread () from /lib64/libpthread.so.0
#16 0x00007fd8bd2a859d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fd88ab80700 (LWP 3067)):
#0  0x00007fd8bde0a6bd in pthread_join () from /lib64/libpthread.so.0
#1  0x00007fd8ba5906b7 in sanei_thread_waitpid () from /lib64/libsane.so.1
#2  0x00007fd898421af2 in do_cancel () from /usr/lib64/sane/libsane-plustek.so.1
#3  0x00007fd8984351e0 in sane_plustek_read () from /usr/lib64/sane/libsane-plustek.so.1
#4  0x00007fd8c0ad3207 in KSaneIface::KSanePreviewThread::readData() () from /lib64/libksane.so.0
#5  0x00007fd8c0ad3bd8 in KSaneIface::KSanePreviewThread::run() () from /lib64/libksane.so.0
#6  0x00007fd8be0ac38c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#7  0x00007fd8bde0961a in start_thread () from /lib64/libpthread.so.0
#8  0x00007fd8bd2a859d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fd889b7e700 (LWP 3068)):
#0  0x00007ffccd9d7c3f in clock_gettime ()
#1  0x00007fd8bd2b6816 in clock_gettime () from /lib64/libc.so.6
#2  0x00007fd8b50664d8 in handle_timeouts_locked () from /lib64/libusb-1.0.so.0
#3  0x00007fd8b5066b11 in handle_events.part () from /lib64/libusb-1.0.so.0
#4  0x00007fd8b5067849 in libusb_handle_events_timeout_completed () from /lib64/libusb-1.0.so.0
#5  0x00007fd8b5067980 in libusb_handle_events_completed () from /lib64/libusb-1.0.so.0
#6  0x00007fd8b50682b1 in sync_transfer_wait_for_completion () from /lib64/libusb-1.0.so.0
#7  0x00007fd8b50683bd in do_sync_bulk_transfer () from /lib64/libusb-1.0.so.0
#8  0x00007fd8b506878f in libusb_bulk_transfer () from /lib64/libusb-1.0.so.0
#9  0x00007fd8ba58b156 in sanei_usb_write_bulk () from /lib64/libsane.so.1
#10 0x00007fd8ba590c14 in sanei_lm983x_read () from /lib64/libsane.so.1
#11 0x00007fd89842ea37 in usbDev_Prepare () from /usr/lib64/sane/libsane-plustek.so.1
#12 0x00007fd898431c4d in reader_process () from /usr/lib64/sane/libsane-plustek.so.1
#13 0x00007fd8ba59043e in local_thread () from /lib64/libsane.so.1
#14 0x00007fd8bde0961a in start_thread () from /lib64/libpthread.so.0
#15 0x00007fd8bd2a859d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fd8c12f5900 (LWP 3060)):
[KCrash Handler]
#6  0x00007fd8bf20cfc7 in void qt_scale_image_32bit<Blend_RGB32_on_RGB32_NoAlpha>(unsigned char*, int, unsigned char const*, int, int, QRectF const&, QRectF const&, QRect const&, Blend_RGB32_on_RGB32_NoAlpha) () from /lib64/libQtGui.so.4
#7  0x00007fd8bf208563 in qt_scale_image_rgb32_on_rgb32(unsigned char*, int, unsigned char const*, int, int, QRectF const&, QRectF const&, QRect const&, int) () from /lib64/libQtGui.so.4
#8  0x00007fd8bf2d605c in QRasterPaintEngine::drawImage(QRectF const&, QImage const&, QRectF const&, QFlags<Qt::ImageConversionFlag>) () from /lib64/libQtGui.so.4
#9  0x00007fd8bf261a28 in QPainter::drawImage(QRectF const&, QImage const&, QRectF const&, QFlags<Qt::ImageConversionFlag>) () from /lib64/libQtGui.so.4
#10 0x00007fd8c0ac2f93 in KSaneIface::KSaneViewer::drawBackground(QPainter*, QRectF const&) () from /lib64/libksane.so.0
#11 0x00007fd8bf74ef98 in QGraphicsView::paintEvent(QPaintEvent*) () from /lib64/libQtGui.so.4
#12 0x00007fd8bf15a130 in QWidget::event(QEvent*) () from /lib64/libQtGui.so.4
#13 0x00007fd8bf51f11e in QFrame::event(QEvent*) () from /lib64/libQtGui.so.4
#14 0x00007fd8bf74da8f in QGraphicsView::viewportEvent(QEvent*) () from /lib64/libQtGui.so.4
#15 0x00007fd8be1bba26 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib64/libQtCore.so.4
#16 0x00007fd8bf10391c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#17 0x00007fd8bf10a796 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#18 0x00007fd8bfe8f63a in KApplication::notify(QObject*, QEvent*) () from /lib64/libkdeui.so.5
#19 0x00007fd8be1bb8bd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQtCore.so.4
#20 0x00007fd8bf154787 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#21 0x00007fd8bf15519f in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#22 0x00007fd8bf1550a3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#23 0x00007fd8bf1550a3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#24 0x00007fd8bf154316 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#25 0x00007fd8bf15519f in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#26 0x00007fd8bf1550a3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#27 0x00007fd8bf154316 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#28 0x00007fd8bf15519f in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#29 0x00007fd8bf1550a3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#30 0x00007fd8bf1550a3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#31 0x00007fd8bf1550a3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#32 0x00007fd8bf154316 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#33 0x00007fd8bf15519f in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#34 0x00007fd8bf154316 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#35 0x00007fd8bf15519f in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#36 0x00007fd8bf154316 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /lib64/libQtGui.so.4
#37 0x00007fd8bf324862 in QWidgetBackingStore::sync() () from /lib64/libQtGui.so.4
#38 0x00007fd8bf1474a0 in QWidgetPrivate::syncBackingStore() () from /lib64/libQtGui.so.4
#39 0x00007fd8bf15a218 in QWidget::event(QEvent*) () from /lib64/libQtGui.so.4
#40 0x00007fd8bf10393c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#41 0x00007fd8bf10a796 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#42 0x00007fd8bfe8f63a in KApplication::notify(QObject*, QEvent*) () from /lib64/libkdeui.so.5
#43 0x00007fd8be1bb8bd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQtCore.so.4
#44 0x00007fd8be1beed6 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQtCore.so.4
#45 0x00007fd8bf722d3a in QGraphicsScenePrivate::_q_processDirtyItems() () from /lib64/libQtGui.so.4
#46 0x00007fd8bf7268a9 in QGraphicsScene::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.171] () from /lib64/libQtGui.so.4
#47 0x00007fd8be1d57f1 in QObject::event(QEvent*) () from /lib64/libQtCore.so.4
#48 0x00007fd8bf73525b in QGraphicsScene::event(QEvent*) () from /lib64/libQtGui.so.4
#49 0x00007fd8bf10393c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#50 0x00007fd8bf10a796 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#51 0x00007fd8bfe8f63a in KApplication::notify(QObject*, QEvent*) () from /lib64/libkdeui.so.5
#52 0x00007fd8be1bb8bd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQtCore.so.4
#53 0x00007fd8be1beed6 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQtCore.so.4
#54 0x00007fd8be1ebcee in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQtCore.so.4
#55 0x00007fd8b8b86e5a in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#56 0x00007fd8b8b871f0 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#57 0x00007fd8b8b8729c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#58 0x00007fd8be1ebe5e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#59 0x00007fd8bf1ac436 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtGui.so.4
#60 0x00007fd8be1ba131 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#61 0x00007fd8be1ba4a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#62 0x00007fd8be1c0039 in QCoreApplication::exec() () from /lib64/libQtCore.so.4
#63 0x00005641cae09ef0 in main ()

Reported using DrKonqi
Comment 1 Andrew Crouthamel 2018-11-01 13:51:15 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 2 Bug Janitor Service 2018-11-16 11:42:33 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Matthew 2018-11-18 20:37:26 UTC
Skanlite still has problems on Fedora 29, as it did under 24, 25, 26, 27, 27.

However on Fedora 29 it does not seem to crash so often, I can however get it to loose the scanner if I close Skanlite and immediately try to re-open it.  I then get a message that no scanner can be foumd.  
This can however be solved by closing Skanlite again, then re-opening Skanlite after a pause of a few seconds.

Though the application no longer seems to crash as before, there is still a problem with doing multiple scans in one session with Skanlite. 

Once a Preview and then a full scan has been carried out, a subsequent attempt to do a preview (or a full scan), results in a distorted lighting effect on the resulting image, it looks like half the scan light isn't working.

The only 2 ways I have found to do multiple scans are:-

1/ close the Skanlite application after each scan and restart Skanlite for the next scan.

2/ After a successful Preview and Full scan has been completed, click the Lampswitch selection box found under Specific Scanner options tab.

Click on the tick box to remove the tick, then click again to re-tick the box.
Do this Lampswitch selection process twice or three times.
Then Preview and Full scan should again result in a clean image.

On versions of Fedora before 29, the Lampswitch trick was intermittent, it sometimes didn't work, so Skanlite had to be closed down and restarted, which if done too quickly, caused Skanlite to crash on re-opening as mentioned in original report.
Comment 4 Justin Zobel 2020-12-04 05:00:25 UTC
Thank you for the report, Matthew.

As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved.

I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
Comment 5 Bug Janitor Service 2020-12-19 04:35:00 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 6 Bug Janitor Service 2021-01-03 04:34:28 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!
Comment 7 Matthew 2021-01-04 00:08:44 UTC
It never worked right even after upgrading a few times, but as I am now on Fedora 33, and I had not had any updates for 3 years, I had given up on any fixes and no longer used Skanlite at all.