After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 470732 - segfault when scanner is plugged
segfault when scanner is plugged
Status: RESOLVED NOTGNOME
Product: gnome-scan
Classification: Other
Component: flegita
0.5.x
Other All
: Normal critical
: ---
Assigned To: Étienne Bersac
Étienne Bersac
Depends on:
Blocks:
 
 
Reported: 2007-08-27 16:03 UTC by Luigi Maselli
Modified: 2008-01-15 20:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Script of gdb session on svn r458 crash (16.02 KB, text/plain)
2007-10-01 18:57 UTC, Scott Bronson
Details
gdb script created with -r458 and -O0 (16.00 KB, text/plain)
2007-10-01 19:14 UTC, Scott Bronson
Details
gdb script created with -r458 and -O0 (20.53 KB, text/plain)
2007-10-01 19:51 UTC, Scott Bronson
Details

Description Luigi Maselli 2007-08-27 16:03:26 UTC
Steps to reproduce:
1. 
2. 
3. 


Stack trace:
(flegita:32214): GnomeUI-WARNING **: While connecting to session manager:
Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed.
** (flegita:32214): DEBUG: Number of options ():
** (flegita:32214): DEBUG:  gint none (GParamInt), (null)
** (flegita:32214): DEBUG:  default = 6 ; flags = {writable}
** (flegita:32214): DEBUG: 
** (flegita:32214): DEBUG:  === Device Lexmark X1100 (6 options) ===
** (flegita:32214): DEBUG: Scan mode (mode):
** (flegita:32214): DEBUG:  gchararray none (GSParamEnumSpec), {"Color", "Gray", "Lineart"}
** (flegita:32214): DEBUG:  default = "Color" ; flags = {writable}
** (flegita:32214): DEBUG: 
** (flegita:32214): DEBUG: Scan resolution (resolution):
** (flegita:32214): DEBUG:  gint dpi (GSParamEnumSpec), {75, 150, 300, 600, 1200}
** (flegita:32214): DEBUG:  default = 150 ; flags = {writable}
** (flegita:32214): DEBUG: 
** (flegita:32214): DEBUG: Preview (preview):
** (flegita:32214): DEBUG:  gboolean none (GParamBoolean), (null)
** (flegita:32214): DEBUG:  default = FALSE ; flags = {writable}
** (flegita:32214): DEBUG: 
** (flegita:32214): DEBUG: Paper size (paper-size):
** (flegita:32214): DEBUG:  gchararray none (GSParamEnumSpec), {"Wallet", "3x5", "4x6", "5x7", "8x10", "Letter"}
** (flegita:32214): DEBUG:  default = "3x5" ; flags = {writable}
** (flegita:32214): DEBUG: 
** (flegita:32214): DEBUG: Threshold (threshold):
** (flegita:32214): DEBUG:  gdouble percent (GSParamRangeSpec), [0,000000;1,000000;100,000000]
** (flegita:32214): DEBUG:  default = 50,000000 ; flags = {}
** (flegita:32214): DEBUG: 
Segmentation fault (core dumped)

Other information:
Comment 1 Étienne Bersac 2007-08-27 16:21:15 UTC
Hi,

Could you use gdb and provide an avanced debugging output ?

See bug #355482
Comment 2 Luigi Maselli 2007-08-27 18:29:45 UTC
where should i put the breakpoint?

(no debugging symbols found)
(no debugging symbols found)
** (flegita:17194): DEBUG: gsane-module.c:39: SANE version is 1.0.18
** (flegita:17194): DEBUG: gsane-module.c:39: SANE version is 1.0.18

(flegita:17194): GLib-GObject-WARNING **: Two different plugins tried to register 'GSFileScanner'.

(flegita:17194): GLib-GObject-WARNING **: Two different plugins tried to register 'GSFileBackend'.
** (flegita:17194): DEBUG: gsane-module.c:39: SANE version is 1.0.18

(flegita:17194): GLib-GObject-WARNING **: Two different plugins tried to register 'GSaneScanner'.

(flegita:17194): GLib-GObject-WARNING **: Two different plugins tried to register 'GSaneBackend'.
** (flegita:17194): DEBUG: flegita-action-selector.c:108: 2 actions
[New Thread -1241646192 (LWP 17199)]
[New Thread -1250038896 (LWP 17200)]
[Thread -1241646192 (LWP 17199) exited]
[Thread -1250038896 (LWP 17200) exited]
[New Thread -1250038896 (LWP 17201)]
[New Thread -1241646192 (LWP 17202)]
[New Thread -1259189360 (LWP 17203)]
[New Thread -1267582064 (LWP 17204)]
[Thread -1259189360 (LWP 17203) exited]
[New Thread -1259189360 (LWP 17205)]
[Thread -1241646192 (LWP 17202) exited]
[Thread -1250038896 (LWP 17201) exited]
[New Thread -1250038896 (LWP 17206)]
[Thread -1267582064 (LWP 17204) exited]
[Thread -1259189360 (LWP 17205) exited]
[New Thread -1259189360 (LWP 17207)]
[New Thread -1267582064 (LWP 17208)]
[New Thread -1241646192 (LWP 17209)]
[New Thread -1276724336 (LWP 17210)]
** (flegita:17194): DEBUG: flegita-sink.c:179:fs_configure
[Thread -1241646192 (LWP 17209) exited]
[Thread -1267582064 (LWP 17208) exited]
[Thread -1259189360 (LWP 17207) exited]
[New Thread -1267582064 (LWP 17211)]
[Thread -1276724336 (LWP 17210) exited]
[New Thread -1259189360 (LWP 17212)]
[Thread -1259189360 (LWP 17212) exited]
[New Thread -1276724336 (LWP 17213)]
[New Thread -1259189360 (LWP 17214)]
** (flegita:17194): DEBUG: flegita-sink.c:179:fs_configure
** (flegita:17194): DEBUG: flegita-sink.c:179:fs_configure
[New Thread -1241646192 (LWP 17215)]
** (flegita:17194): DEBUG: flegita-sink.c:179:fs_configure
[Thread -1259189360 (LWP 17214) exited]
[Thread -1276724336 (LWP 17213) exited]
[Thread -1267582064 (LWP 17211) exited]
[Thread -1241646192 (LWP 17215) exited]
[New Thread -1241646192 (LWP 17216)]
** (flegita:17194): DEBUG: flegita-sink.c:179:fs_configure
[Thread -1241646192 (LWP 17216) exited]
[New Thread -1241646192 (LWP 17221)]
[Thread -1250038896 (LWP 17206) exited]
** (flegita:17194): DEBUG: Number of options ():
** (flegita:17194): DEBUG:  gint none (GParamInt), (null)
** (flegita:17194): DEBUG:  default = 6 ; flags = {writable}
** (flegita:17194): DEBUG: 
** (flegita:17194): DEBUG:  === Device Lexmark X1100 (6 options) ===
** (flegita:17194): DEBUG: Scan mode (mode):
** (flegita:17194): DEBUG:  gchararray none (GSParamEnumSpec), {"Color", "Gray", "Lineart"}
** (flegita:17194): DEBUG:  default = "Color" ; flags = {writable}
** (flegita:17194): DEBUG: 
** (flegita:17194): DEBUG: Scan resolution (resolution):
** (flegita:17194): DEBUG:  gint dpi (GSParamEnumSpec), {75, 150, 300, 600, 1200}
** (flegita:17194): DEBUG:  default = 150 ; flags = {writable}
** (flegita:17194): DEBUG: 
** (flegita:17194): DEBUG: Preview (preview):
** (flegita:17194): DEBUG:  gboolean none (GParamBoolean), (null)
** (flegita:17194): DEBUG:  default = FALSE ; flags = {writable}
** (flegita:17194): DEBUG: 
** (flegita:17194): DEBUG: Paper size (paper-size):
** (flegita:17194): DEBUG:  gchararray none (GSParamEnumSpec), {"Wallet", "3x5", "4x6", "5x7", "8x10", "Letter"}
** (flegita:17194): DEBUG:  default = "3x5" ; flags = {writable}
** (flegita:17194): DEBUG: 
** (flegita:17194): DEBUG: Threshold (threshold):
** (flegita:17194): DEBUG:  gdouble percent (GSParamRangeSpec), [0,000000;1,000000;100,000000]
** (flegita:17194): DEBUG:  default = 50,000000 ; flags = {}
** (flegita:17194): DEBUG: 

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1241646192 (LWP 17221)]
0xb6b97b3a in ?? () from /usr/lib/gnome-scan-1.0/libgsane.so.0
Comment 3 Étienne Bersac 2007-08-27 19:33:12 UTC
Hi,

Type help for help :). Once the software has crashed, type "bt" to get a backtrace of the crash. You may then Obviously, the bug is in GSane, not libgnome-scan. Having the function or even the line of the bug would be nice. (use l to print guilty line of code).

Thanks.

Étienne.
Comment 4 Luigi Maselli 2007-08-27 21:37:13 UTC
Thanks for the mini gdb guide :)
Here the missing part I hope it helps

** (flegita:5765): DEBUG:  default = 50,000000 ; flags = {}
** (flegita:5765): DEBUG: 

Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 5797)

  • #0 ??
    from /usr/lib/gnome-scan-1.0/libgsane.so.0
  • #1 ??
36      gint
37      main (gint argc, gchar **argv)
38      {
39        GnomeProgram *program;
40        GnomeScanSettings *settings;
41        GnomeScanJob *job;
42        GtkWidget *dialog;
43        GnomeScanSink *sink;
44
45        program = gnome_program_init ("flegita", VERSION,
(gdb) 
Comment 5 Luigi Maselli 2007-08-27 22:01:32 UTC
Thanks for the gdb mini guide :)
Here the missing part, i hope it helps

0;100,000000]
** (flegita:5765): DEBUG:  default = 50,000000 ; flags = {}
** (flegita:5765): DEBUG: 

Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 5797)

  • #0 ??
    from /usr/lib/gnome-scan-1.0/libgsane.so.0
  • #1 ??
36      gint
37      main (gint argc, gchar **argv)
38      {
39        GnomeProgram *program;
40        GnomeScanSettings *settings;
41        GnomeScanJob *job;
42        GtkWidget *dialog;
43        GnomeScanSink *sink;
44
45        program = gnome_program_init ("flegita", VERSION,
Comment 6 Étienne Bersac 2007-08-28 13:44:35 UTC
Hi,

Well, this does not help very much, maybe due to shared library. I suggest you to use valgrind.

Regards,
Étienne.
Comment 7 Luigi Maselli 2007-08-28 19:09:37 UTC
I tried with Valgring, here the end of the output

==7142==    by 0x43BB330: (within /usr/lib/libgtk-x11-2.0.so.0.1106.0)
==7142==    by 0x4A1EBEA: g_object_newv (in /usr/lib/libgobject-2.0.so.0.1400.0)
==7142==    by 0x4A1F838: g_object_new_valist (in /usr/lib/libgobject-2.0.so.0.1400.0)
==7142==    by 0x4A1F93F: g_object_new (in /usr/lib/libgobject-2.0.so.0.1400.0)
==7142==    by 0x43AA807: (within /usr/lib/libgtk-x11-2.0.so.0.1106.0)
==7142== 
==7142== Invalid read of size 4
==7142==    at 0x4014C47: (within /lib/ld-2.6.1.so)
==7142==    by 0x4010F93: (within /lib/ld-2.6.1.so)
==7142==    by 0x400D025: (within /lib/ld-2.6.1.so)
==7142==    by 0x40109AD: (within /lib/ld-2.6.1.so)
==7142==    by 0x49A9C18: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==7142==    by 0x400D025: (within /lib/ld-2.6.1.so)
==7142==    by 0x49AA2BB: (within /lib/tls/i686/cmov/libdl-2.6.1.so)
==7142==    by 0x49A9B50: dlopen (in /lib/tls/i686/cmov/libdl-2.6.1.so)
==7142==    by 0x49A6683: g_module_open (in /usr/lib/libgmodule-2.0.so.0.1400.0)
==7142==    by 0x430E645: (within /usr/lib/libgtk-x11-2.0.so.0.1106.0)
==7142==    by 0x430DE09: (within /usr/lib/libgtk-x11-2.0.so.0.1106.0)
==7142==    by 0x43BB296: (within /usr/lib/libgtk-x11-2.0.so.0.1106.0)
==7142==  Address 0x5CA6BBC is 12 bytes inside a block of size 15 alloc'd
==7142==    at 0x4021765: malloc (vg_replace_malloc.c:149)
==7142==    by 0x4A80A55: g_malloc (in /usr/lib/libglib-2.0.so.0.1400.0)
==7142==    by 0x4A98C78: g_strdup (in /usr/lib/libglib-2.0.so.0.1400.0)
==7142==    by 0x49A6898: g_module_open (in /usr/lib/libgmodule-2.0.so.0.1400.0)
==7142==    by 0x430E645: (within /usr/lib/libgtk-x11-2.0.so.0.1106.0)
==7142==    by 0x430DE09: (within /usr/lib/libgtk-x11-2.0.so.0.1106.0)
==7142==    by 0x43BB296: (within /usr/lib/libgtk-x11-2.0.so.0.1106.0)
==7142==    by 0x43BB330: (within /usr/lib/libgtk-x11-2.0.so.0.1106.0)
==7142==    by 0x4A1EBEA: g_object_newv (in /usr/lib/libgobject-2.0.so.0.1400.0)
==7142==    by 0x4A1F838: g_object_new_valist (in /usr/lib/libgobject-2.0.so.0.1400.0)
==7142==    by 0x4A1F93F: g_object_new (in /usr/lib/libgobject-2.0.so.0.1400.0)
==7142==    by 0x43AA807: (within /usr/lib/libgtk-x11-2.0.so.0.1106.0)
==7161== 
==7161== ERROR SUMMARY: 469 errors from 34 contexts (suppressed: 851 from 1)
==7161== malloc/free: in use at exit: 1,339,434 bytes in 21,056 blocks.
==7161== malloc/free: 130,994 allocs, 109,938 frees, 20,252,951 bytes allocated.
==7161== For counts of detected errors, rerun with: -v
==7161== searching for pointers to 21,056 not-freed blocks.
==7161== checked 3,127,836 bytes.
==7161== 
==7161== LEAK SUMMARY:
==7161==    definitely lost: 140,778 bytes in 2,522 blocks.
==7161==      possibly lost: 207,373 bytes in 621 blocks.
==7161==    still reachable: 991,283 bytes in 17,913 blocks.
==7161==         suppressed: 0 bytes in 0 blocks.
==7161== Rerun with --leak-check=full to see details of leaked memory.
** (flegita:7142): DEBUG: flegita-sink.c:179:fs_configure
** (flegita:7142): DEBUG: flegita-sink.c:179:fs_configure
** (flegita:7142): DEBUG: flegita-sink.c:179:fs_configure
** (flegita:7142): DEBUG: flegita-sink.c:179:fs_configure
** (flegita:7142): DEBUG: flegita-sink.c:179:fs_configure
==7142== 
==7142== Thread 3:
==7142== Conditional jump or move depends on uninitialised value(s)
==7142==    at 0x9103396: (within /usr/lib/sane/libsane-fujitsu.so.1.0.18)
==7142==    by 0x91039B1: sane_fujitsu_get_devices (in /usr/lib/sane/libsane-fujitsu.so.1.0.18)
==7142==    by 0x56714A1: sane_dll_get_devices (in /usr/lib/libsane.so.1.0.18)
==7142==    by 0x56719E3: sane_get_devices (in /usr/lib/libsane.so.1.0.18)
==7142==    by 0x5658016: gsb_probe_scanners (in /usr/lib/gnome-scan-1.0/libgsane.so.0.0.0)
==7142==    by 0x4B11E21: gnome_scan_backend_probe_scanners (gnome-scan-backend.c:208)
==7142==    by 0x4A9C5EE: (within /usr/lib/libglib-2.0.so.0.1400.0)
==7142==    by 0x4B2846A: start_thread (in /lib/tls/i686/cmov/libpthread-2.6.1.so)
==7142==    by 0x4C0E6DD: clone (in /lib/tls/i686/cmov/libc-2.6.1.so)
** (flegita:7142): DEBUG: Number of options ():
** (flegita:7142): DEBUG:  gint none (GParamInt), (null)
** (flegita:7142): DEBUG:  default = 6 ; flags = {writable}
** (flegita:7142): DEBUG: 
** (flegita:7142): DEBUG:  === Device Lexmark X1100 (6 options) ===
** (flegita:7142): DEBUG: Scan mode (mode):
** (flegita:7142): DEBUG:  gchararray none (GSParamEnumSpec), {"Color", "Gray", "Lineart"}
** (flegita:7142): DEBUG:  default = "Color" ; flags = {writable}
** (flegita:7142): DEBUG: 
** (flegita:7142): DEBUG: Scan resolution (resolution):
** (flegita:7142): DEBUG:  gint dpi (GSParamEnumSpec), {75, 150, 300, 600, 1200}
** (flegita:7142): DEBUG:  default = 150 ; flags = {writable}
** (flegita:7142): DEBUG: 
==7142== 
==7142== Thread 2:
==7142== Conditional jump or move depends on uninitialised value(s)
==7142==    at 0x56598A9: (within /usr/lib/gnome-scan-1.0/libgsane.so.0.0.0)
==7142==    by 0x565A608: (within /usr/lib/gnome-scan-1.0/libgsane.so.0.0.0)
==7142==    by 0x4A9C5EE: (within /usr/lib/libglib-2.0.so.0.1400.0)
==7142==    by 0x4B2846A: start_thread (in /lib/tls/i686/cmov/libpthread-2.6.1.so)
==7142==    by 0x4C0E6DD: clone (in /lib/tls/i686/cmov/libc-2.6.1.so)
** (flegita:7142): DEBUG: Preview (preview):
** (flegita:7142): DEBUG:  gboolean none (GParamBoolean), (null)
** (flegita:7142): DEBUG:  default = FALSE ; flags = {writable}
** (flegita:7142): DEBUG: 
** (flegita:7142): DEBUG: Paper size (paper-size):
** (flegita:7142): DEBUG:  gchararray none (GSParamEnumSpec), {"Wallet", "3x5", "4x6", "5x7", "8x10", "Letter"}
** (flegita:7142): DEBUG:  default = "3x5" ; flags = {writable}
** (flegita:7142): DEBUG: 
** (flegita:7142): DEBUG: Threshold (threshold):
** (flegita:7142): DEBUG:  gdouble percent (GSParamRangeSpec), [0,000000;1,000000;100,000000]
** (flegita:7142): DEBUG:  default = 50,000000 ; flags = {}
** (flegita:7142): DEBUG: 
==7142== 
==7142== Invalid read of size 4
==7142==    at 0x565B89A: (within /usr/lib/gnome-scan-1.0/libgsane.so.0.0.0)
==7142==    by 0x565A830: meta_param_get_params (in /usr/lib/gnome-scan-1.0/libgsane.so.0.0.0)
==7142==    by 0x565A73C: (within /usr/lib/gnome-scan-1.0/libgsane.so.0.0.0)
==7142==    by 0x4A6BE95: g_hash_table_foreach (in /usr/lib/libglib-2.0.so.0.1400.0)
==7142==    by 0x565A68E: (within /usr/lib/gnome-scan-1.0/libgsane.so.0.0.0)
==7142==    by 0x4A9C5EE: (within /usr/lib/libglib-2.0.so.0.1400.0)
==7142==    by 0x4B2846A: start_thread (in /lib/tls/i686/cmov/libpthread-2.6.1.so)
==7142==    by 0x4C0E6DD: clone (in /lib/tls/i686/cmov/libc-2.6.1.so)
==7142==  Address 0x28 is not stack'd, malloc'd or (recently) free'd
==7142== 
==7142== Process terminating with default action of signal 11 (SIGSEGV)
==7142==  Access not within mapped region at address 0x28
==7142==    at 0x565B89A: (within /usr/lib/gnome-scan-1.0/libgsane.so.0.0.0)
==7142==    by 0x565A830: meta_param_get_params (in /usr/lib/gnome-scan-1.0/libgsane.so.0.0.0)
==7142==    by 0x565A73C: (within /usr/lib/gnome-scan-1.0/libgsane.so.0.0.0)
==7142==    by 0x4A6BE95: g_hash_table_foreach (in /usr/lib/libglib-2.0.so.0.1400.0)
==7142==    by 0x565A68E: (within /usr/lib/gnome-scan-1.0/libgsane.so.0.0.0)
==7142==    by 0x4A9C5EE: (within /usr/lib/libglib-2.0.so.0.1400.0)
==7142==    by 0x4B2846A: start_thread (in /lib/tls/i686/cmov/libpthread-2.6.1.so)
==7142==    by 0x4C0E6DD: clone (in /lib/tls/i686/cmov/libc-2.6.1.so)
==7142== 
==7142== ERROR SUMMARY: 528 errors from 37 contexts (suppressed: 1231 from 1)
==7142== malloc/free: in use at exit: 1,776,696 bytes in 28,069 blocks.
==7142== malloc/free: 183,273 allocs, 155,204 frees, 25,278,189 bytes allocated.
==7142== For counts of detected errors, rerun with: -v
==7142== searching for pointers to 28,069 not-freed blocks.
==7142== checked 13,893,488 bytes.
==7142== 
==7142== LEAK SUMMARY:
==7142==    definitely lost: 144,341 bytes in 2,649 blocks.
==7142==      possibly lost: 215,885 bytes in 637 blocks.
==7142==    still reachable: 1,416,470 bytes in 24,783 blocks.
==7142==         suppressed: 0 bytes in 0 blocks.
==7142== Rerun with --leak-check=full to see details of leaked memory.
Killed
Comment 8 Étienne Bersac 2007-08-29 15:09:44 UTC
Hi,

Ok, this help a bit. I guess this is due to the undocumented paper-size option. Gnome Scan provide it's own paper-size option (but GtkPaperSize, not string). I'll have to add one more workaround to get a decent paper size handling.

I've commited a patch making MetaParamArea swallow epson paper-size. I hope you'll still be able to use gnome-scan. This should be possible if epson provide {tl,br}-{x,y} options.

Please test latest SVN and report :)

Regards,
Étienne.
Comment 9 Luigi Maselli 2007-08-29 20:59:51 UTC
** (flegita:19601): DEBUG:  default = "3x5" ; flags = {writable}
** (flegita:19601): DEBUG: 


** (flegita:19601): DEBUG: gsane-meta-param.c:217: Warning : ignoring paper-size option


** (flegita:19601): DEBUG: Threshold (threshold):
** (flegita:19601): DEBUG:  gdouble percent (GSParamRangeSpec), [0,000000;1,000000;100,000000]
** (flegita:19601): DEBUG:  default = 50,000000 ; flags = {}
** (flegita:19601): DEBUG: 
Segmentation fault (core dumped)

It hasn't changed very much, it's just added a warning.
Comment 10 Luigi Maselli 2007-08-29 21:09:06 UTC
I don't know if it is relevant but also xsane from current Ubuntu Gutsy segfaults

I currently use my scanner with:

scanimage -d lexmark >scan.pnm 2>scan.log

And it works quite well (even if the carriage stops in strange positions)


$ scanimage -T

X1200-75DPI-RVB(0x00,255)=0x00 0x43 0x7d 0x7d 0x7d 0x7d 0x7d 0x7d 0x08 0x0f 0x0d 0x70 0x28 0xa4 0x00 0x00 0x00 0x01 0x0f 0x01 0x00 0x01 0x0f 0x00 0x00 0x00 0x00 0x00 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xf5 0xf7 0xf5 0x17 0x0d 0x4f 0x86 0x11 0x48 0x01 0x40 0x01 0x03 0x01 0x04 0x01 0x03 0x0f 0x20 0x37 0x88 0x08 0x00 0x00 0x80 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x1a 0x5b 0x1b 0x5b 0x05 0x3f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x15 0x00 0x6d 0x03 0x01 0x80 0x68 0x00 0x00 0x00 0x00 0x00 0x58 0x14 0x00 0x00 0x00 0x00 0x35 0x00 0x4e 0x00 0x00 0x00 0x00 0x08 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x02 0x03 0x00 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0xff 0x02 0x01 0x60 0x80 0x00 0x00 0x00 0x06 0x0e 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x0d 0x5e 0x23 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x2c 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0x83 0x20 0x0a 0x09 0x00 0x04 0x3b 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x2b 0x0a 0x7f 0x01 0xbb 0x09 0x0e 0x2b 0x03 0x05 0xa0 0x01 0x01 0x00 0x00 0x01 0x00 0x00 0x00 0xf8 0x7f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
scanimage: scanning image of size 638x856 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 1914 bytes...  PASS
scanimage: reading one byte...          PASS
scanimage: stepped read, 2 bytes...     PASS
scanimage: stepped read, 4 bytes...     PASS
scanimage: stepped read, 8 bytes...     PASS
scanimage: stepped read, 16 bytes...    PASS
scanimage: stepped read, 32 bytes...    PASS
scanimage: stepped read, 64 bytes...    PASS
scanimage: stepped read, 128 bytes...   PASS
scanimage: stepped read, 256 bytes...   PASS
scanimage: stepped read, 512 bytes...   PASS
scanimage: stepped read, 1024 bytes...  PASS
scanimage: stepped read, 2048 bytes...  PASS
scanimage: stepped read, 2047 bytes...  PASS
scanimage: stepped read, 1023 bytes...  PASS
scanimage: stepped read, 511 bytes...   PASS
scanimage: stepped read, 255 bytes...   PASS
scanimage: stepped read, 127 bytes...   PASS
scanimage: stepped read, 63 bytes...    PASS
scanimage: stepped read, 31 bytes...    PASS
scanimage: stepped read, 15 bytes...    PASS
scanimage: stepped read, 7 bytes...     PASS
scanimage: stepped read, 3 bytes...     PASS
Comment 11 Luigi Maselli 2007-09-16 12:32:14 UTC
news? Probably it's a libsane bug
Comment 12 Luigi Maselli 2007-09-25 22:41:18 UTC
$ dpkg -l|grep flegita
ii  flegita                                       0.5.3+r455-0ubuntu1~ppa1        Gnome Scan Utility
ii  flegita-gimp                                  0.5.3+r455-0ubuntu1~ppa1        Gimp scan plugin

$ flegita
** (flegita:10116): DEBUG: gsane-module.c:39: SANE version is 1.0.18
** (flegita:10116): DEBUG: flegita-action-selector.c:108: 2 actions

(flegita:10116): Gtk-WARNING **: Errore nel caricare l'icona: Apertura del file "/usr/share/icons/hicolor/scalable/actions/scan.svg" fallita: Nessun file o directory
** (flegita:10116): DEBUG: flegita-sink.c:179:fs_configure
** (flegita:10116): DEBUG: flegita-sink.c:179:fs_configure
** (flegita:10116): DEBUG: flegita-sink.c:179:fs_configure
** (flegita:10116): DEBUG: Number of options ():
Segmentation fault (core dumped)
Comment 13 Étienne Bersac 2007-09-25 23:12:09 UTC
Hi,

You didn't install previous gnome-scan installation :). I will update debugging informations to state exactly which version is running. Sorry for the confusion.

Execute find /usr/ -name "flegita" -o -name "*gnome*scan*" an you'll see that :)

Regards,
Étienne.
Comment 14 Étienne Bersac 2007-09-26 13:20:51 UTC
Hi,

I meant "You didn't *uninstall* previous gnome-scan installation".

Regards,
Comment 15 Scott Bronson 2007-10-01 03:20:36 UTC
I think I'm experiencing this same bug.  It happens both using your Gutsy repo and when running directly from svn.

In gsane-meta-param.c, I get a segmentation fault at the marked line.  I assume it's because spec is null but I'm not sure because:

   (gdb) p spec->maximum
   No symbol "spec" in current context.


Anyhow, here's the code:

static gboolean
meta_param_paper_size_get_params			(MetaParam *mp)
{
	GParamSpec *pspec;
	GValue *integer = g_new0 (GValue, 1);
	GSParamSpecRange* spec;
	MetaParamPaperSize *mpps;
	GeglRectangle rect, deft;
	gint i;
	mpps = GSANE_META_PARAM_PAPER_SIZE (mp);

	g_value_init (integer, G_TYPE_INT);
#define set_int(val,var)	g_value_transform (val, integer); var = g_value_get_int (integer)
	spec = GS_PARAM_SPEC_RANGE (mpps->tl_x);
	/* 	set_int (spec->minimum, rect.x); /\* usualy 0 *\/ */
-->     set_int (spec->maximum, rect.width);
	set_int (spec->default_value, deft.x);


And here's the backtrace:

  • #0 meta_param_paper_size_get_params
    at gsane-meta-param.c line 237
  • #1 g_hash_table_foreach
    from /usr/lib/libglib-2.0.so.0
  • #2 gss_init
    at gsane-scanner.c line 724
  • #3 ??
    from /usr/lib/libglib-2.0.so.0
  • #4 start_thread
    from /lib/libpthread.so.0
  • #5 clone
    from /lib/libc.so.6
  • #6 ??


Any idea how to fix this?  Is there anything I should look at?  It may be a gsane bug but it's preventing me from using gnome-scan.  xsane works fine.
Comment 16 Étienne Bersac 2007-10-01 11:47:35 UTC
Hi,

Can you attach the entire debugging (SVN version please).

Thanks.
Comment 17 Scott Bronson 2007-10-01 18:57:38 UTC
Created attachment 96478 [details]
Script of gdb session on svn r458 crash

Unfortunately there isn't much more information to be had.  Can you tell me specifically what gdb info you need?

I'll try again with -O0 and a breakpoint just before the crash and see if I can get more info.
Comment 18 Scott Bronson 2007-10-01 19:14:57 UTC
Created attachment 96479 [details]
gdb script created with -r458 and -O0

This should be better.  I created a breakpoint and collected all backtrace information just before the crash.

svn -r458, created with: CFLAGS="-g -O0" ./autogen.sh --prefix=/tmp/gs

Tell me if there's anything more you could use.
Comment 19 Scott Bronson 2007-10-01 19:51:33 UTC
Created attachment 96481 [details]
gdb script created with -r458 and -O0

Dammit, I forgot to stop script before clicking upload.  Here's a full trace.
Comment 20 Étienne Bersac 2007-10-01 21:22:47 UTC
Thanks Scott,

Obviously, this is the "epson backend declare option-count option as boolean" known bug. Welcome to the heaven of SANE backends quirks. This is not the same bug as the luigi's one except if lexmark also has this bug. (see bug #355482 ).

Note: If you don't want to scan from your webcams, just comment out v4l driver in /etc/sane.d/dll.conf

Scott, the bug is here :

** (flegita:17650): DEBUG: Number of options ((null)):
** (flegita:17650): DEBUG:  gboolean none (GParamBoolean), (null)
** (flegita:17650): DEBUG:  default = TRUE ; flags = {writable}

Obviously, a "Number of options" option must *not* be a boolean. I though i commited a workaround ( according  http://bugzilla.gnome.org/show_bug.cgi?id=355482#c2 ). I may loss it one way. :/ . According to http://www.sane-project.org/html/doc011.html#s4.2.9.3 , the Option Value Type of "Number of options" option *must* be an integer. Seems the 'type' field is just let unset.

The code to get number of options is 

  spec = gss_option_get_param_spec (gss, 0);
  value = gsane_scanner_option_get_value(gss, spec);
  n = g_value_get_int (value);

GSane might be the only SANE frontend to realy only on Option Value Type even for option 0 (aka Number of Options : see http://www.sane-project.org/html/doc014.html#s4.5 ). I will add a workaround, but you understand i want to avoid workaround (you need *tons* of workaround when you write a SANE frontend).

Next issue, epson backend is not developed by SANE, but by Epson. Scott, can you please report that bug to epson ?

Thanks for your usefull backtrace. :)

Cheers !
Étienne.
Comment 21 Luigi Maselli 2007-10-02 22:54:58 UTC
ok I removed manually the rest of gnomescan.
now the window starts with the scanner plugged it, but when I press Scan I get this:

$ flegita
** (flegita:14168): DEBUG: flegita-action-selector.c:115: 1 actions

** (flegita:14168): CRITICAL **: gnome_scan_plugin_configure: assertion `GNOME_IS_SCAN_PLUGIN (plugin) && GNOME_IS_SCAN_SETTINGS (settings)' failed

** (flegita:14168): CRITICAL **: gnome_scan_plugin_get_child_nodes: assertion `GNOME_IS_SCAN_PLUGIN (plugin)' failed

** (flegita:14168): WARNING **: Failed to set operation type convert-format, using a passthrough op instead
Segmentation fault (core dumped)
Comment 22 Étienne Bersac 2007-10-03 14:38:21 UTC
Hi Luigi,

seems you stripped a huge part of the log. I'd prefer you to attach the entire debug output than select some part *you* might think useful.

I wonder which version of gegl you have. PPA gegl version provide convert-format.so. Thus, it seems you also have a lost gegl installation in /usr/local . Please check it.

Regards,
Étienne.
Comment 23 Étienne Bersac 2007-10-26 17:05:20 UTC
Hi,

This bug is fixed upstream. :) I won't add a workaround.

Regards,