[sane-devel] Canon LiDE 60 test report

Henning Meier-Geinitz henning at meier-geinitz.de
Tue Jan 3 13:19:24 UTC 2006

On 2006-01-02 21:05, Reinhard Mayr aka Czerwinski wrote:
> (gdb) run --mode Color >image.pnm 2>log
> Starting program: /usr/bin/scanimage --mode Color >image.pnm 2>log
> [Thread debugging using libthread_db enabled]
> [New Thread 1076312288 (LWP 19858)]
> Program exited normally.

Ok, so there is no segmentation fault with scanimage.

> >I would have expected dome more messages at the end, e.g. from
> >sane_close and sane_exit. For some reason scanimage doesn't seem to
> >these functions.

> There are some messages like

> [genesys] genesys_start_scan: failed to do flatbed calibration: End of file reached
> scanimage: sane_start: End of file reached
> [genesys] sane_cancel: start
> [genesys_gl841] gl841_end_scan (check_stop = 1)
> [genesys] sanei_genesys_write_register (0x01, 0xa0): failed while setting register: Invalid argument
> [genesys_gl841] gl841_end_scan: Failed to write registers: Invalid argument
> [genesys] sane_cancel: Failed to end scan: Invalid argument
> [genesys] sane_close: start
> [genesys] sane_close: exit
> [genesys] sane_exit: start
> [genesys] sane_exit: exit

This looks better.

> >Anyway, the backend tries to get some data from your scanner and your
> >scanner delivers (much) less than the backend expects. Maybe your host
> >adapter has some limitation on how much data can be read in one "block"?
> How can I determine this?

As it's a power issue, you can ignore comment.

> >Another more general problem could be, that your scanner doesn't get
> >enough power from the host adapter. Are other USB devices connected to
> >it?
> No other devs are connected to the USB adapter. But as soon as I connect  
> the AC/DC adapter of the PCMCIA-USB adapter everything is fine.

The scanner needs quite some power from the USB so if the PCMCIA
adapter does not provide enough, scanning will fail sooner or later.

> Starting program: /usr/X11R6/bin/xsane >image.pnm 2>log
> [Thread debugging using libthread_db enabled]
> [New Thread 1086061088 (LWP 20069)]
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 1086061088 (LWP 20069)]
> 0x40a62d83 in strlen () from /lib/tls/libc.so.6
> (gdb) bt
> #0  0x40a62d83 in strlen () from /lib/tls/libc.so.6
> #1  0x40a62a95 in strdup () from /lib/tls/libc.so.6
> #2  0x08078221 in xsane_viewer_new (filename=0x40b13ff4 "<\021",  allow_reduction_to_lineart=0, output_filename=0x0,  allow_modification=VIEWER_FULL_MODIFICATION) at xsane-viewer.c:1865
> #3  0x0809cc62 in xsane_scan_done (status=SANE_STATUS_EOF) at xsane-scan.c:1190
> #4  0x0809ef7f in xsane_start_scan () at xsane-scan.c:1594
> #5  0x080a0146 in xsane_scan_dialog () at xsane-scan.c:2062


So at least on first sight, this may be an xsane issue. Or some sort
of corruption caused by the genesys backend, but that's hard to debug.

Are you absolutely sure that you use xsane 0.98b? 0.98a had a bug that
could cause stack corruption. Check xsane --version.

> Backtracking still occurs at 600 dpi and higher but the pics are nice. In  
> other words, there is a solution for the seg fault problem by plugging in  
> the power cable of the USB adapter. Anyways, an error message instead  
> would be nice in order to enable the user to solve the problem.

Obviously, a segmentation fault is not correct. However, detecting a
power loss condition ind the backend may not be possible, so you
should get a general error message like "IO error" or "Invalid argument".


More information about the sane-devel mailing list