[sane-devel] SANE 1.0.8, Canoscan 300 on Adaptec AVA-1502p ISA SCSI -> scanimage segfaults

Till Kamppeter till.kamppeter@gmx.net
Sat, 05 Oct 2002 23:28:41 +0200


Highlander, can you make a gdb trace of the segfaulting scanimage?

    Till


Henning Meier-Geinitz wrote:
> 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
> _______________________________________________
> Sane-devel mailing list
> Sane-devel@www.mostang.com
> http://www.mostang.com/mailman/listinfo/sane-devel
> 
>