Bug 287630 - Skanlite crashed when I finished scanning.
Summary: Skanlite crashed when I finished scanning.
Status: RESOLVED FIXED
Alias: None
Product: Skanlite
Classification: Applications
Component: general (show other bugs)
Version: 0.7
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Kåre Särs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-26 18:36 UTC by Carlos R.
Modified: 2013-08-29 14:43 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos R. 2011-11-26 18:36:37 UTC
Application: skanlite (0.7)
KDE Platform Version: 4.7.2 (4.7.2) "release 5"
Qt Version: 4.7.4
Operating System: Linux 3.1.0-1.2-desktop x86_64
Distribution: "openSUSE 12.1 (x86_64)"

-- Information about the crash:
When I closed the application after I finished scanning, It crashed.

-- Backtrace:
Application: Skanlite (skanlite), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f2bd9f2d760 (LWP 5467))]

Thread 2 (Thread 0x7f2bcaace700 (LWP 5469)):
#0  0x00007f2bd6fb2423 in poll () from /lib64/libc.so.6
#1  0x00007f2bd2beca98 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f2bd2becf59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f2bd85c4576 in QEventDispatcherGlib::processEvents (this=0x9650e0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f2bd8598a22 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f2bd8598c1f in QEventLoop::exec (this=0x7f2bcaacddf0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007f2bd84b05df in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#7  0x00007f2bd857baef in QInotifyFileSystemWatcherEngine::run (this=0x9d7a20) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f2bd84b3025 in QThreadPrivate::start (arg=0x9d7a20) at thread/qthread_unix.cpp:331
#9  0x00007f2bd8222f05 in start_thread () from /lib64/libpthread.so.0
#10 0x00007f2bd6fbb53d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f2bd9f2d760 (LWP 5467)):
[KCrash Handler]
#6  sane_hp5590_exit () at hp5590.c:379
#7  0x00007f2bd4c6d992 in sane_dll_exit () at dll.c:954
#8  0x00007f2bd966890b in KSaneIface::KSaneWidget::~KSaneWidget (this=0x7b4640, __in_chrg=<optimized out>) at /usr/src/debug/libksane-4.7.2/libksane/ksane_widget.cpp:250
#9  0x00007f2bd9668929 in KSaneIface::KSaneWidget::~KSaneWidget (this=0x7b4640, __in_chrg=<optimized out>) at /usr/src/debug/libksane-4.7.2/libksane/ksane_widget.cpp:254
#10 0x00007f2bd85ab455 in QObjectPrivate::deleteChildren (this=0x799250) at kernel/qobject.cpp:1964
#11 0x00007f2bd77976a3 in QWidget::~QWidget (this=0x76b0b0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1651
#12 0x000000000040e406 in _start ()

Reported using DrKonqi
Comment 1 Kåre Särs 2011-11-27 17:51:01 UTC
Hi,

It seems like this crash is a hpaio backend problem. Is it a reproducible problem? If yes, it would be good to run Skanlite with some SANE debugging.

With this command line we might get more information.
SANE_DEBUG_HPAIO=24 skanlite

Then post the output here. (scan as little as possible to avoid too much extra data).

Thanks,
  /Kåre
Comment 2 Carlos R. 2011-11-27 19:34:03 UTC
Hi Kåre,

Yes, It's a reproducible problem, it happens every time.
I've executed as you said and I got the following from the command line:

------------------------------------------------------------------


Skanlite(12020): couldn't create slave: "Unable to create io-slave:
klauncher said: Unknown protocol ''.
" 
Skanlite(12020): couldn't create slave: "Unable to create io-slave:
klauncher said: Unknown protocol ''.
" 
Skanlite(12020): couldn't create slave: "Unable to create io-slave:
klauncher said: Unknown protocol ''.
" 
KCrash: Application 'skanlite' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/home/skynet/.kde4/socket-titan/kdeinit4__0

------------------------------------------------------------------

Have a nice day.
Comment 3 Kåre Särs 2011-11-28 08:10:26 UTC
OK,

The backend is not HPAIO, it is actualy HP5590, so the proper debug command is probably:

SANE_DEBUG_HP5590=24 skanlite

Can you run this command?

Thanks.
Comment 4 Carlos R. 2011-11-28 12:19:48 UTC
Hi Kåre,

I got the following:

----------------------------------------------------------------------

[sanei_debug] Setting debug level of hp5590 to 24.
[hp5590] SANE backed for HP ScanJet 4500C/4570C/5500C/5550C/5590/7650 1.0.5
[hp5590] (c) Ilia Sotnikov <hostcc@gmail.com>
[hp5590] attach_usb_device: Opening USB device
[hp5590] attach_usb_device: USB device opened
[hp5590] hp5590_init_scanner
[hp5590] hp5590_cmd: USB-in-USB: command : 0012
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_status
[hp5590] attach_usb_device: found HP7650 scanner at 'libusb:002:012'
[hp5590] attach_usb_device: Reading max scan count
[hp5590] hp5590_read_max_scan_count
[hp5590] Reading max scan count
[hp5590] hp5590_read_eeprom
[hp5590] Reading EEPROM: addr 0010, size 3
[hp5590] hp5590_cmd: USB-in-USB: command : 00f2
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_control_msg: USB-in-USB: checking if data was accepted
[hp5590] hp5590_get_ack
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] hp5590_cmd: USB-in-USB: command : 0bf0
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] Max scan count 989700
[hp5590] attach_usb_device: Max Scanning count 989700
[hp5590] attach_usb_device: Reading scan count
[hp5590] hp5590_read_scan_count
[hp5590] Reading scan count
[hp5590] hp5590_read_eeprom
[hp5590] Reading EEPROM: addr 0000, size 4
[hp5590] hp5590_cmd: USB-in-USB: command : 00f2
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_control_msg: USB-in-USB: checking if data was accepted
[hp5590] hp5590_get_ack
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] hp5590_cmd: USB-in-USB: command : 0bf0
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] Scan count 8412
[hp5590] attach_usb_device: Scanning count 8412
[hp5590] hp5590_read_part_number
[hp5590] hp5590_read_eeprom
[hp5590] Reading EEPROM: addr 001a, size 10
[hp5590] hp5590_cmd: USB-in-USB: command : 00f2
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_control_msg: USB-in-USB: checking if data was accepted
[hp5590] hp5590_get_ack
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] hp5590_cmd: USB-in-USB: command : 0bf0
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] hp5590_stop_scan
[hp5590] hp5590_cmd: USB-in-USB: command : 011b
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_control_msg: USB-in-USB: checking if data was accepted
[hp5590] hp5590_get_ack
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack
[hp5590] sane_hp5590_get_devices, local only: 0
[hp5590] Found 1 devices
[hp5590] sane_hp5590_open: device name: libusb:002:012
[hp5590] sane_hp5590_get_option_descriptor, option: 0
[hp5590] sane_hp5590_control_option: get total number of options - 11
[hp5590] sane_hp5590_get_option_descriptor, option: 1
[hp5590] sane_hp5590_get_option_descriptor, option: 1
[hp5590] sane_hp5590_get_option_descriptor, option: 2
[hp5590] sane_hp5590_get_option_descriptor, option: 2
[hp5590] sane_hp5590_get_option_descriptor, option: 3
[hp5590] sane_hp5590_get_option_descriptor, option: 3
[hp5590] sane_hp5590_get_option_descriptor, option: 4
[hp5590] sane_hp5590_get_option_descriptor, option: 4
[hp5590] sane_hp5590_get_option_descriptor, option: 5
[hp5590] sane_hp5590_get_option_descriptor, option: 5
[hp5590] sane_hp5590_get_option_descriptor, option: 6
[hp5590] sane_hp5590_get_option_descriptor, option: 6
[hp5590] sane_hp5590_get_option_descriptor, option: 7
[hp5590] sane_hp5590_get_option_descriptor, option: 7
[hp5590] sane_hp5590_get_option_descriptor, option: 8
[hp5590] sane_hp5590_get_option_descriptor, option: 8
[hp5590] sane_hp5590_get_option_descriptor, option: 9
[hp5590] sane_hp5590_get_option_descriptor, option: 9
[hp5590] sane_hp5590_get_option_descriptor, option: 10
[hp5590] sane_hp5590_get_option_descriptor, option: 10
[hp5590] sane_hp5590_get_option_descriptor, option: 6
[hp5590] sane_hp5590_control_option: get option 'source' value
[hp5590] sane_hp5590_get_option_descriptor, option: 5
[hp5590] sane_hp5590_control_option: get option 'mode' value
[hp5590] sane_hp5590_get_option_descriptor, option: 7
[hp5590] sane_hp5590_control_option: get option 'resolution' value
[hp5590] sane_hp5590_get_option_descriptor, option: 8
[hp5590] sane_hp5590_control_option: get option 'extend-lamp-timeout' value
[hp5590] sane_hp5590_get_option_descriptor, option: 9
[hp5590] sane_hp5590_control_option: get option 'wait-for-button' value
[hp5590] sane_hp5590_get_option_descriptor, option: 1
[hp5590] sane_hp5590_control_option: get option 'tl-x' value
[hp5590] sane_hp5590_get_option_descriptor, option: 2
[hp5590] sane_hp5590_control_option: get option 'tl-y' value
[hp5590] sane_hp5590_get_option_descriptor, option: 3
[hp5590] sane_hp5590_control_option: get option 'br-x' value
[hp5590] sane_hp5590_get_option_descriptor, option: 4
[hp5590] sane_hp5590_control_option: get option 'br-y' value
[hp5590] sane_hp5590_get_option_descriptor, option: 5
[hp5590] sane_hp5590_control_option: get option 'mode' value
[hp5590] sane_hp5590_get_option_descriptor, option: 6
[hp5590] sane_hp5590_control_option: get option 'source' value
[hp5590] sane_hp5590_get_option_descriptor, option: 7
[hp5590] sane_hp5590_control_option: get option 'resolution' value
[hp5590] sane_hp5590_get_option_descriptor, option: 8
[hp5590] sane_hp5590_control_option: get option 'extend-lamp-timeout' value
[hp5590] sane_hp5590_get_option_descriptor, option: 9
[hp5590] sane_hp5590_control_option: get option 'wait-for-button' value
[hp5590] sane_hp5590_get_option_descriptor, option: 10
[hp5590] sane_hp5590_control_option: get option 'preview' value
[hp5590] sane_hp5590_control_option: get option 'tl-x' value
[hp5590] sane_hp5590_control_option: get option 'tl-y' value
[hp5590] sane_hp5590_control_option: get option 'br-x' value
[hp5590] sane_hp5590_control_option: get option 'br-y' value
[hp5590] sane_hp5590_control_option: get option 'mode' value
[hp5590] sane_hp5590_control_option: get option 'resolution' value
[hp5590] sane_hp5590_control_option: get option 'tl-x' value
[hp5590] sane_hp5590_control_option: get option 'tl-y' value
[hp5590] sane_hp5590_control_option: get option 'br-x' value
[hp5590] sane_hp5590_control_option: get option 'br-y' value
[hp5590] sane_hp5590_control_option: get option 'mode' value
[hp5590] sane_hp5590_control_option: get option 'source' value
[hp5590] sane_hp5590_control_option: get option 'resolution' value
[hp5590] sane_hp5590_control_option: get option 'extend-lamp-timeout' value
[hp5590] sane_hp5590_control_option: get option 'wait-for-button' value
[hp5590] sane_hp5590_control_option: get option 'preview' value
[hp5590] sane_hp5590_close
[hp5590] sane_hp5590_exit
KCrash: Application 'skanlite' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
QSocketNotifier: Invalid socket 16 and type 'Read', disabling...

----------------------------------------------------------------------

I've noted that Skanlite crashes even if you don't scan anything, only with starting the program and closing it.

Have a nice day.
Comment 5 Carlos R. 2013-08-29 11:13:01 UTC
This bug doesn't happen anymore at least in:
 Qt: 4.8.5
KDE Development Platform: 4.10.5 "release 4"
KDE Daemon: 4.10.5 "release 4"
Comment 6 Kåre Särs 2013-08-29 12:19:26 UTC
Thanks for closing the bug!

Sorry for not answering earlier.

I guess that you have updated also the sane backend. It looks to me like the crash was in the backend... I should have tried that lead... shame on me.

Good that it is working now :)

/Kåre
Comment 7 Carlos R. 2013-08-29 12:57:12 UTC
Don't worry, that was my fault, I completely forgot the bug was still opened.

Yes, the backend is a newer version:

[hp5590] SANE backed for HP ScanJet 4500C/4570C/5500C/5550C/5590/7650 1.0.7
[hp5590] (c) Ilia Sotnikov
[hp5590] attach_usb_device: Opening USB device
[hp5590] attach_usb_device: USB device opened

and I'm using skanlite 1.0.

Kåre, I see in skanlite a tab labeled as "Scanner Specific Options" with two 
options:

-Extend lamp timeout
-Wait for button

What are they intended for?
If "Wait for button" is for starting the scan when a button in the scanner is 
pressed it doesn't seem to work.

Thanks.
Comment 8 Kåre Särs 2013-08-29 14:43:48 UTC
The "Scanner Specific Options" tab contains options that skanlite does not know what they do. They are just provided by the backend.

I _guess_ that  "Wait for button" is an old feature that was used at some time, but is normally unused today. With the epson2 and epkowa backends the frontend would initiate the scan and the scan would only continue after the correct button was pressed on the scanner. I only have one (Epson) scanner so I can't be sure about what it's supposed to do with a hp scanner ;) 

Regards,
  Kåre