[sane-devel] SIGSEGV 1.0.7 OS/2 Epson GT7000 --source

Franz Bakan Franz Bakan" <fbakan@gmx.net
Fri, 12 Apr 2002 01:14:39 +0200 (CEST)


On Mon, 25 Feb 2002 23:02:13 +0100, Henning Meier-Geinitz wrote:

>On Sun, Feb 24, 2002 at 10:38:42PM +0100, Franz Bakan wrote:
>> a user has reported, that the 1.0.7 OS/2 binary crashes with
>> SIGSEV when the
>>  --source
>> option is used (transparency unit or Flatbed).
>> The scanner is an Epson GT7000 with TPU
>
>I'm really no expert concerning the epson backend so just a guess:
>
>> [dll] sane_control_option(handle=0x357c8,option=41,action=1,value=0x20afff0,info=0x20af91c)
>
>This is "set option `source'".
>
>> [epson] send buf, size = 2
>> [epson] buf[0] 1b .
>> [epson] buf[1] 40 @
>
>This is from send(), called by reset(), called by handle_source.

Excactly

>
>> [sanei_scsi] sanei_scsi_cmd: Writing srb.u.cmd.data_len= 2
>> 
>> Process terminated by SIGSEGV
>
>This looks like the crash occurs in sanei_scsi, but I'm not sure.

Yes you are right.

Seems that xscanimage (Scanner: epson GT-9500) has the same problem.
It crashes with SIGSEGV while reading the epson+_b0t6l0.rc near "Flatbed".

it crashes in sanei_scsi.c  line 3609 (CVS)

      memcpy (aspi_buf, (char *) src, srb.u.cmd.data_len);

because  aspi_buf is NULL at this moment.

If I comment out reset(s)  line 3356 in epson.c  /* necessary for perfection 1650 */

xscanimage works again.

What would be the correct solution?

Perhaps the scanner-device has to be opened before
sending reset()

Is Perfection 1650 USB only?

Franz