[sane-devel] SANE 1.0.8, Canoscan 300 on Adaptec AVA-1502p ISA SCSI -> scanimage segfaults
Henning Meier-Geinitz
henning at meier-geinitz.de
Sat Oct 5 22:01:20 BST 2002
Hi,
On Sat, Oct 05, 2002 at 10:13:19PM +0200, Till Kamppeter wrote:
> Anyone has any idea how this can happen? The OS is uses is Mandrake 9.0.
A gdb output would be more interesting :-) Generally the approach
would be to make sure that it's really the canon backend by commenting
out all other backends in dll.conf.
> Hi, I have got a problem with sane : it always makes a segmentation fault
> when I try scanimage command, in 8.2 it works fine but in 9.0 it always
> makes this segmentation fault.
> My scanner is a canon canoscan 300 plugged on a adaptec ava-1502p isa scsi
> card.
Between 1.0.7 and 1.0.8 there was an update of the canon backend so
this may have caused the problem. However, I don't remember any other
report of this.
> I send you the log of the command "strace -o toto.log scanimage -T".
> I hope you will help me to sort out this problem.
Ok, lets see:
[...]
| open("./dll.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
That's the dll backend.
| open("/usr/lib/sane/libsane-canon.so.1", O_RDONLY) = 3
Loading the canon backend.
| open("./canon.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
Searching for some SCSI devices.
| write(3, "S\0\0\0\375\377\377\377\6@\0\0$\0\0\0\320\321\377\277\240"..., 64) = 64
Probably sending inquiry or something like this.
| close(3) = 0
sane_canon finished the device scan (in sane_init).
| open("/usr/lib/sane/libsane-net.so.1", O_RDONLY) = 3
Net backend loading...
| close(3) = 0
And finished.
| open("/dev/sg1", O_RDWR|O_NONBLOCK|O_EXCL) = 3
Probably the canon backend accessing the SCSI device.
| select(4, [3], NULL, NULL, NULL) = 1 (in [3])
| rt_sigprocmask(SIG_BLOCK, ~[], [RTMIN], 8) = 0
| read(3, "S\0\0\0\375\377\377\377\n@\0\0\4\0\0\0\340\360\377\277"..., 64) = 64
Waiting for data and reading it.
| rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
| rt_sigprocmask(SIG_BLOCK, ~[], [RTMIN], 8) = 0
| rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
| munmap(0x401cb000, 135168) = 0
| close(3) = 0
| --- SIGSEGV (Segmentation fault) ---
| +++ killed by SIGSEGV +++#
I don't see a reason for segfaulting here but if no system call is
involved, it won't show up here.
Maybe the canon maintainer finds out what's happening but a gdb trace
would really help.
Bye,
Henning
More information about the sane-devel
mailing list