I'm not familiar with the genesys code- but the logs make it look like an additional read from the scanner is done when despeck is turned off. The current sanei_magic implementation requires that the entire image be buffered in the backend, so it's not unusual for a different code path to be taken, exposing different bugs. Let see if stef has any thoughts.
allan On Sat, Jan 29, 2011 at 3:26 PM, Brian Shaver <shakerlxxv at gmail.com> wrote: > allan, > If I comment out the function call which was causing the crash, then I'm > able to run with a high genesys debug level. This function call was just for > debug purposes to create the "unprocessed.pnm" file. The following commands > were executed with: > SANE_DEBUG_GENESYS=255 > SANE_DEBUG_SANEI_MAGIC=255 > ./scanimage --mode Lineart --resolution 100 -l 21.4 -t 79.7 -x 148.7 -y > 138.9 --swdespeck=yes > /tmp/despeck.pnm 2> /tmp/despeck.log > ./scanimage --mode Lineart --resolution 100 -l 21.4 -t 79.7 -x 148.7 -y > 138.9 > /tmp/no_despeck.pnm 2> /tmp/no_despeck.log > > Attached are the images and log files. The black band at the bottom of the > despeck image does not change size based on the despeck value. > Thanks, > Brian .. > On Sat, Jan 29, 2011 at 11:30 AM, m. allan noah <kitno455 at gmail.com> wrote: >> >> brian- I did not write the genesys backend, but I did write the >> sanei_magic library that it uses to provide the swdespeck option. It >> would be interesting to see a low resolution version of the two >> images, and a log with: >> >> SANE_DEBUG_SANEI_MAGIC=255 >> >> combined with whatever the highest debug level genesys will give >> without crashing. >> >> allan >> >> On Fri, Jan 28, 2011 at 8:19 AM, Brian Shaver <shakerlxxv at gmail.com> >> wrote: >> > I'm using the Lineart mode and trying the --swdespeck option and I've >> > noticed its leaving a black band along the bottom of the image. >> > The 2nd issue, is that when I turn the debug up ( SANE_DEBUG_GENESYS=10 >> > ) >> > and try the same scan, the process seg faults. The following is the >> > stack >> > from the core: >> > (gdb) bt >> > #0 ?0x00007fa3e4ce35c8 in sanei_genesys_write_pnm_file >> > (filename=0x7fa3e4cec479 "unprocessed.pnm", >> > ?? ?data=0x7fa3e2267000 <Address 0x7fa3e2267000 out of bounds>, depth=1, >> > channels=1, pixels_per_line=2360, lines=3188) >> > ?? ?at genesys_low.c:144 >> > #1 ?0x00007fa3e4caa60f in genesys_buffer_image (s=0x99e340) at >> > genesys.c:6895 >> > #2 ?0x00007fa3e4caccab in sane_genesys_start (handle=0x99e340) at >> > genesys.c:7864 >> > #3 ?0x00007fa3eae33ae2 in sane_dll_start (handle=0x99b2a0) at dll.c:1263 >> > #4 ?0x00007fa3eae20d38 in sane_start (h=0x99b2a0) at dll-s.c:48 >> > #5 ?0x0000000000406d1c in main (argc=13, argv=0x7fffe2b73a08) at >> > scanimage.c:2283 >> > ?The code is trying to write out a file ( unprocessed.pnm ) containing >> > ... I >> > think the Lineart converted data before performing the despeck process. >> > I'd be happy to help with a fix for this, or provide further information >> > or >> > testing. >> > Thanks, >> > Brian .. >> > -- >> > sane-devel mailing list: sane-devel at lists.alioth.debian.org >> > http://lists.alioth.debian.org/mailman/listinfo/sane-devel >> > Unsubscribe: Send mail with subject "unsubscribe your_password" >> > ? ? ? ? ? ? to sane-devel-request at lists.alioth.debian.org >> > >> >> >> >> -- >> "The truth is an offense, but not a sin" > > -- "The truth is an offense, but not a sin"