Canon 2710: scanimage -L segfault

View: New views
6 Messages — Rating Filter:   Alert me  

Canon 2710: scanimage -L segfault

by joachim.franek@pibf.de :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

I get a segfault with my canon 2710 with ubuntu 9.10.


jjf@nb8:~$ sane-find-scanner
found SCSI scanner "CANON IX-27025E 1.12" at /dev/sg2

jjf@nb8:~$ ls -l /dev/sg2
crw-rw-rw-+ 1 root root 21, 2 2009-11-09 23:13 /dev/sg2

jjf@nb8:~$ scanimage -L
Segmentation fault

jjf@nb8:~$ gdb scanimage
GNU gdb (GDB) 7.0-ubuntu
....
Reading symbols from /usr/bin/scanimage...Reading symbols from
/usr/lib/debug/usr/bin/scanimage...done.
(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/scanimage
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x00726d16 in sense_handler (scsi_fd=5, result=0x808fa38  <incomplete sequence
\360>, arg=0x0) at canon.c:337
337 canon.c: No such file or directory.
        in canon.c

Maybe a NULL-pointer?

Joachim

--
sane-devel mailing list: sane-devel@...
http://lists.alioth.debian.org/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
             to sane-devel-request@...

Re: Canon 2710: scanimage -L segfault

by m. allan noah-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

instead of gdb, try this:

SANE_DEBUG_CANON=255 scanimage -L 2>2710.log

and lets see what is in that log.

allan

On Mon, Nov 9, 2009 at 6:13 PM, joachim.franek@...
<joachim.franek@...> wrote:

> Hello,
>
> I get a segfault with my canon 2710 with ubuntu 9.10.
>
>
> jjf@nb8:~$ sane-find-scanner
> found SCSI scanner "CANON IX-27025E 1.12" at /dev/sg2
>
> jjf@nb8:~$ ls -l /dev/sg2
> crw-rw-rw-+ 1 root root 21, 2 2009-11-09 23:13 /dev/sg2
>
> jjf@nb8:~$ scanimage -L
> Segmentation fault
>
> jjf@nb8:~$ gdb scanimage
> GNU gdb (GDB) 7.0-ubuntu
> ....
> Reading symbols from /usr/bin/scanimage...Reading symbols from
> /usr/lib/debug/usr/bin/scanimage...done.
> (no debugging symbols found)...done.
> (gdb) run
> Starting program: /usr/bin/scanimage
> [Thread debugging using libthread_db enabled]
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00726d16 in sense_handler (scsi_fd=5, result=0x808fa38  <incomplete sequence
> \360>, arg=0x0) at canon.c:337
> 337     canon.c: No such file or directory.
>        in canon.c
>
> Maybe a NULL-pointer?
>
> Joachim
>
> --
> sane-devel mailing list: sane-devel@...
> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>             to sane-devel-request@...
>



--
"The truth is an offense, but not a sin"

--
sane-devel mailing list: sane-devel@...
http://lists.alioth.debian.org/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
             to sane-devel-request@...

Re: Canon 2710: scanimage -L segfault

by joachim.franek@pibf.de :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Am Dienstag 10 November 2009 03:00:29 schrieb m. allan noah:
> instead of gdb, try this:
>
> SANE_DEBUG_CANON=255 scanimage -L 2>2710.log
>
> and lets see what is in that log.
>
> allan

Thanks allan.

Here is the output:

[sanei_debug] Setting debug level of canon to 255.
[canon] >> sane_init
[canon] sane_init: sane-backends 1.0.20
[canon] >> attach_one
[canon] >> attach
[canon] attach: opening /dev/sg2
[canon] attach: sending (standard) INQUIRY
[canon] >> inquiry
[canon] << inquiry
[canon] attach: sending TEST_UNIT_READY
[canon] >> test_unit_ready
[canon] << test_unit_ready
[canon] attach: sending RESERVE UNIT
[canon] >> reserve_unit
[canon] << reserve_unit
[canon] attach: sending GET SCAN MODE for scan control conditions
[canon] get scan mode: cmd[4]='0x14'
[canon] << get scan mode
[canon] scan mode byte[0] = 21
[canon] scan mode byte[1] = 0
[canon] scan mode byte[2] = 0
[canon] scan mode byte[3] = 0
[canon] scan mode byte[4] = 32
[canon] scan mode byte[5] = 16
[canon] scan mode byte[6] = 0
[canon] scan mode byte[7] = 0
[canon] scan mode byte[8] = 0
[canon] scan mode byte[9] = 0
[canon] scan mode byte[10] = 0
[canon] scan mode byte[11] = 0
[canon] scan mode byte[12] = 0
[canon] scan mode byte[13] = 0
[canon] scan mode byte[14] = 0
[canon] scan mode byte[15] = 0
[canon] scan mode byte[16] = 1
[canon] scan mode byte[17] = 25
[canon] scan mode byte[18] = 0
[canon] scan mode byte[19] = 0
[canon] scan mode byte[20] = 55
[canon] scan mode byte[21] = 48
[canon] scan mode byte[22] = 50
[canon] scan mode byte[23] = 53
[canon] scan mode byte[24] = 69
[canon] scan mode byte[25] = 32
[canon] scan mode byte[26] = 32
[canon] scan mode byte[27] = 32
[canon] scan mode byte[28] = 32
[canon] scan mode byte[29] = 32
[canon] scan mode byte[30] = 32
[canon] scan mode byte[31] = 32
[canon] scan mode byte[32] = 49
[canon] scan mode byte[33] = 46
[canon] scan mode byte[34] = 49
[canon] scan mode byte[35] = 50
[canon] scan mode byte[36] = 0
[canon] scan mode byte[37] = 0
[canon] scan mode byte[38] = 0
[canon] scan mode byte[39] = 0
[canon] scan mode byte[40] = 0
[canon] scan mode byte[41] = 0
[canon] scan mode byte[42] = 0
[canon] scan mode byte[43] = 0
[canon] scan mode byte[44] = 0
[canon] scan mode byte[45] = 0
[canon] scan mode byte[46] = 0
[canon] scan mode byte[47] = 0
[canon] scan mode byte[48] = 0
[canon] scan mode byte[49] = 0
[canon] scan mode byte[50] = 0
[canon] scan mode byte[51] = 0
[canon] scan mode byte[52] = 0
[canon] scan mode byte[53] = 0
[canon] scan mode byte[54] = 0
[canon] scan mode byte[55] = 0
[canon] scan mode byte[56] = 0
[canon] scan mode byte[57] = 0
[canon] scan mode byte[58] = 0
[canon] scan mode byte[59] = 0
[canon] scan mode byte[60] = 0
[canon] scan mode byte[61] = 0
[canon] scan mode byte[62] = 0
[canon] scan mode byte[63] = 0
[canon] scan mode byte[64] = 0
[canon] scan mode byte[65] = 0
[canon] scan mode byte[66] = 0
[canon] scan mode byte[67] = 0
[canon] scan mode byte[68] = 0
[canon] scan mode byte[69] = 0
[canon] scan mode byte[70] = 0
[canon] scan mode byte[71] = 0
[canon] scan mode byte[72] = 0
[canon] scan mode byte[73] = 0
[canon] attach: sending (extended) INQUIRY
[canon] >> inquiry
[canon] << inquiry
[canon] attach: sending MODE SENSE
[canon] >> mode_sense
[canon] << mode_sense
[canon] dev->sane.name = '/dev/sg2'
[canon] dev->sane.vendor = 'CANON'
[canon] dev->sane.model = 'IX-27025E       '
[canon] dev->sane.type = 'film scanner'
[canon] bmu=0
[canon] mud=2720
[canon] xres_default=2720
[canon] xres_range.max=2720
[canon] xres_range.min=120
[canon] xres_range.quant=1
[canon] yres_default=2720
[canon] yres_range.max=2720
[canon] yres_range.min=120
[canon] xres_range.quant=1
[canon] x_range.max=1585667
[canon] y_range.max=2378807
[canon] x_adf_range.max=-1
[canon] y_adf_range.max=-1
[canon] << attach
[canon] << attach_one
[canon] << sane_init
[canon] >> sane_get_devices
[canon] << sane_get_devices
WARNING: Unhandled message: interface=org.freedesktop.DBus.Introspectable,
path=/, member=Introspect
scanimage: option requires an argument -- 'l'
[canon] >> sane_exit
[canon] << sane_exit

--
sane-devel mailing list: sane-devel@...
http://lists.alioth.debian.org/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
             to sane-devel-request@...

Re: Canon 2710: scanimage -L segfault

by m. allan noah-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Did you use a big 'L' in scanimage -L

allan

On Tue, Nov 10, 2009 at 3:21 AM, joachim.franek@...
<joachim.franek@...> wrote:

>
> Am Dienstag 10 November 2009 03:00:29 schrieb m. allan noah:
>> instead of gdb, try this:
>>
>> SANE_DEBUG_CANON=255 scanimage -L 2>2710.log
>>
>> and lets see what is in that log.
>>
>> allan
>
> Thanks allan.
>
> Here is the output:
>
> [sanei_debug] Setting debug level of canon to 255.
> [canon] >> sane_init
> [canon] sane_init: sane-backends 1.0.20
> [canon] >> attach_one
> [canon] >> attach
> [canon] attach: opening /dev/sg2
> [canon] attach: sending (standard) INQUIRY
> [canon] >> inquiry
> [canon] << inquiry
> [canon] attach: sending TEST_UNIT_READY
> [canon] >> test_unit_ready
> [canon] << test_unit_ready
> [canon] attach: sending RESERVE UNIT
> [canon] >> reserve_unit
> [canon] << reserve_unit
> [canon] attach: sending GET SCAN MODE for scan control conditions
> [canon] get scan mode: cmd[4]='0x14'
> [canon] << get scan mode
> [canon] scan mode byte[0] = 21
> [canon] scan mode byte[1] = 0
> [canon] scan mode byte[2] = 0
> [canon] scan mode byte[3] = 0
> [canon] scan mode byte[4] = 32
> [canon] scan mode byte[5] = 16
> [canon] scan mode byte[6] = 0
> [canon] scan mode byte[7] = 0
> [canon] scan mode byte[8] = 0
> [canon] scan mode byte[9] = 0
> [canon] scan mode byte[10] = 0
> [canon] scan mode byte[11] = 0
> [canon] scan mode byte[12] = 0
> [canon] scan mode byte[13] = 0
> [canon] scan mode byte[14] = 0
> [canon] scan mode byte[15] = 0
> [canon] scan mode byte[16] = 1
> [canon] scan mode byte[17] = 25
> [canon] scan mode byte[18] = 0
> [canon] scan mode byte[19] = 0
> [canon] scan mode byte[20] = 55
> [canon] scan mode byte[21] = 48
> [canon] scan mode byte[22] = 50
> [canon] scan mode byte[23] = 53
> [canon] scan mode byte[24] = 69
> [canon] scan mode byte[25] = 32
> [canon] scan mode byte[26] = 32
> [canon] scan mode byte[27] = 32
> [canon] scan mode byte[28] = 32
> [canon] scan mode byte[29] = 32
> [canon] scan mode byte[30] = 32
> [canon] scan mode byte[31] = 32
> [canon] scan mode byte[32] = 49
> [canon] scan mode byte[33] = 46
> [canon] scan mode byte[34] = 49
> [canon] scan mode byte[35] = 50
> [canon] scan mode byte[36] = 0
> [canon] scan mode byte[37] = 0
> [canon] scan mode byte[38] = 0
> [canon] scan mode byte[39] = 0
> [canon] scan mode byte[40] = 0
> [canon] scan mode byte[41] = 0
> [canon] scan mode byte[42] = 0
> [canon] scan mode byte[43] = 0
> [canon] scan mode byte[44] = 0
> [canon] scan mode byte[45] = 0
> [canon] scan mode byte[46] = 0
> [canon] scan mode byte[47] = 0
> [canon] scan mode byte[48] = 0
> [canon] scan mode byte[49] = 0
> [canon] scan mode byte[50] = 0
> [canon] scan mode byte[51] = 0
> [canon] scan mode byte[52] = 0
> [canon] scan mode byte[53] = 0
> [canon] scan mode byte[54] = 0
> [canon] scan mode byte[55] = 0
> [canon] scan mode byte[56] = 0
> [canon] scan mode byte[57] = 0
> [canon] scan mode byte[58] = 0
> [canon] scan mode byte[59] = 0
> [canon] scan mode byte[60] = 0
> [canon] scan mode byte[61] = 0
> [canon] scan mode byte[62] = 0
> [canon] scan mode byte[63] = 0
> [canon] scan mode byte[64] = 0
> [canon] scan mode byte[65] = 0
> [canon] scan mode byte[66] = 0
> [canon] scan mode byte[67] = 0
> [canon] scan mode byte[68] = 0
> [canon] scan mode byte[69] = 0
> [canon] scan mode byte[70] = 0
> [canon] scan mode byte[71] = 0
> [canon] scan mode byte[72] = 0
> [canon] scan mode byte[73] = 0
> [canon] attach: sending (extended) INQUIRY
> [canon] >> inquiry
> [canon] << inquiry
> [canon] attach: sending MODE SENSE
> [canon] >> mode_sense
> [canon] << mode_sense
> [canon] dev->sane.name = '/dev/sg2'
> [canon] dev->sane.vendor = 'CANON'
> [canon] dev->sane.model = 'IX-27025E       '
> [canon] dev->sane.type = 'film scanner'
> [canon] bmu=0
> [canon] mud=2720
> [canon] xres_default=2720
> [canon] xres_range.max=2720
> [canon] xres_range.min=120
> [canon] xres_range.quant=1
> [canon] yres_default=2720
> [canon] yres_range.max=2720
> [canon] yres_range.min=120
> [canon] xres_range.quant=1
> [canon] x_range.max=1585667
> [canon] y_range.max=2378807
> [canon] x_adf_range.max=-1
> [canon] y_adf_range.max=-1
> [canon] << attach
> [canon] << attach_one
> [canon] << sane_init
> [canon] >> sane_get_devices
> [canon] << sane_get_devices
> WARNING: Unhandled message: interface=org.freedesktop.DBus.Introspectable,
> path=/, member=Introspect
> scanimage: option requires an argument -- 'l'
> [canon] >> sane_exit
> [canon] << sane_exit
>
> --
> sane-devel mailing list: sane-devel@...
> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>             to sane-devel-request@...
>



--
"The truth is an offense, but not a sin"

--
sane-devel mailing list: sane-devel@...
http://lists.alioth.debian.org/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
             to sane-devel-request@...

Re: Canon 2710: scanimage -L segfault

by joachim.franek@pibf.de :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Am Dienstag 10 November 2009 14:33:11 schrieb m. allan noah:
> Did you use a big 'L' in scanimage -L
>
> allan

Excuse: no
 
jjf@nb8:~$ SANE_DEBUG_CANON=255 scanimage -L
[sanei_debug] Setting debug level of canon to 255.
[canon] >> sane_init
[canon] sane_init: sane-backends 1.0.20
[canon] >> attach_one
[canon] >> attach
[canon] attach: opening /dev/sg2
[canon] attach: sending (standard) INQUIRY
[canon] >> inquiry
[canon] << inquiry
[canon] attach: sending TEST_UNIT_READY
[canon] >> test_unit_ready
[canon] >> sense_handler
[canon] canon_sense_handler(3, 0x85d9b60, (nil))
[canon] sense buffer: f0 00 44 00 00 00 00 06 00 00 00 00 60 00 00 00
Segmentation fault
jjf@nb8:~$
jjf@nb8:~$ lsscsi
[0:0:0:0]    disk    ATA      Hitachi HTS54108 MB4O  /dev/sda
[2:0:4:0]    scanner CANON    IX-27025E        1.12  -      
jjf@nb8:~$


--
sane-devel mailing list: sane-devel@...
http://lists.alioth.debian.org/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
             to sane-devel-request@...

Re: Canon 2710: scanimage -L segfault

by m. allan noah-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

hmm- the driver calls test_unit_ready, and the scanner must return a
bad status, because we are suddenly in the sense_handler callback. the
sense data: f0 00 44 00 00 00 00 06 00 00 00 00 60 00 00 00 means
'lamp failure', but the backend explodes before it gets to interpret
this data, perhaps because dev->sane.vendor is corrupt/empty at that
stage? Do you have the ability to rebuild sane-backends from source?
If so, we could remove the code which checks for the vendor name,
canon.c line 388, and see if that helps.

allan

On Tue, Nov 10, 2009 at 10:00 AM, joachim.franek@...
<joachim.franek@...> wrote:

>
> Am Dienstag 10 November 2009 14:33:11 schrieb m. allan noah:
>> Did you use a big 'L' in scanimage -L
>>
>> allan
>
> Excuse: no
>
> jjf@nb8:~$ SANE_DEBUG_CANON=255 scanimage -L
> [sanei_debug] Setting debug level of canon to 255.
> [canon] >> sane_init
> [canon] sane_init: sane-backends 1.0.20
> [canon] >> attach_one
> [canon] >> attach
> [canon] attach: opening /dev/sg2
> [canon] attach: sending (standard) INQUIRY
> [canon] >> inquiry
> [canon] << inquiry
> [canon] attach: sending TEST_UNIT_READY
> [canon] >> test_unit_ready
> [canon] >> sense_handler
> [canon] canon_sense_handler(3, 0x85d9b60, (nil))
> [canon] sense buffer: f0 00 44 00 00 00 00 06 00 00 00 00 60 00 00 00
> Segmentation fault
> jjf@nb8:~$
> jjf@nb8:~$ lsscsi
> [0:0:0:0]    disk    ATA      Hitachi HTS54108 MB4O  /dev/sda
> [2:0:4:0]    scanner CANON    IX-27025E        1.12  -
> jjf@nb8:~$
>
>
> --
> sane-devel mailing list: sane-devel@...
> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>             to sane-devel-request@...
>



--
"The truth is an offense, but not a sin"

--
sane-devel mailing list: sane-devel@...
http://lists.alioth.debian.org/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
             to sane-devel-request@...