[sane-devel] saned problems with 1.0.10-pre3 (incl. segfault)

Lee Howard faxguy@howardsilvan.com
Tue, 28 Jan 2003 12:25:42 -0800


On 2003.01.28 02:53 Henning Meier-Geinitz wrote:

> Check permissions, i.e. if saned has read/write permissions on
> /dev/usb/scanner0 .

Thanks.  That was that.  The docs didn't mention anything about this, 
and the error message is misleading.

> > Whatever the problem is, it can produce a segmentation fault as in
> > this example (using a mis-constructed device name).  The server
> says:
> 
> > bash-2.04$ /usr/sbin/saned -d128
> [...]
> > [saned] check_host: access by remote host: 192.168.0.1
> > [saned] check_host: remote host is not IN_LOOPBACK
> > [saned] check_host: local hostname: bilbo.x101.com
> > [saned] check_host: local hostname (from DNS): bilbo.x101.com
> > [saned] check_host: local host address (from DNS): 192.168.0.1
> > [saned] check_host: remote host has same addr as local: access
> accepted
> > [saned] init: access by lee@192.168.0.1 accepted
> > [saned] process_request: waiting for request
> > [saned] process_request: got request 2
> > Segmentation fault (core dumped)
> 
> I don't get a segfault here when using a similar command.

It only des it when the permissions on /dev/usb/scanner0 are wrong.

> Please try running saned like this and send the output:
> 
> SANE_DEBUG_DLL=255 /usr/sbin/saned -d128

bash-2.04$ SANE_DEBUG_DLL=255 /usr/sbin/saned -d128
[saned] main: starting debug mode (level 128)
[saned] main: trying to get port for service `sane' (getservbyname)
[saned] main: port is 6566
[saned] main: socket ()
[saned] main: setsockopt ()
[saned] main: bind ()
[saned] main: listen ()
[saned] main: waiting for control connection
[saned] saned from sane-backends 1.0.10-pre3 ready
[saned] check_host: access by remote host: 192.168.0.3
[saned] check_host: remote host is not IN_LOOPBACK
[saned] check_host: local hostname: bilbo.x101.com
[saned] check_host: local hostname (from DNS): bilbo.x101.com
[saned] check_host: local host address (from DNS): 192.168.0.1
[saned] check_host: remote host doesn't have same addr as local
[saned] check_host: opening config file: /etc/hosts.equiv
[saned] check_host: can't open config file: /etc/hosts.equiv (No such 
file or directory)
[saned] check_host: opening config file: saned.conf
[saned] check_host: config file line: `#'
[saned] check_host: config file line: `# saned.conf'
[saned] check_host: config file line: `#'
[saned] check_host: config file line: `# The conents of the saned.conf 
file is a list of host'
[saned] check_host: config file line: `# names or IP addresses that are 
permitted by saned to'
[saned] check_host: config file line: `# use local SANE devices in a 
networked configuration.'
[saned] check_host: config file line: `# The hostname matching is not 
case-sensitive.'
[saned] check_host: config file line: `#'
[saned] check_host: config file line: `#scan-client.somedomain.firm'
[saned] check_host: config file line: `#192.168.0.1'
[saned] check_host: config file line: `#'
[saned] check_host: config file line: `# NOTE: /etc/inetd.conf (or 
/etc/xinetd.conf) and'
[saned] check_host: config file line: `# /etc/services must also be 
properly configured to start'
[saned] check_host: config file line: `# the saned daemon as documented 
in saned(1), services(4)'
[saned] check_host: config file line: `# and inetd.conf(4) (or 
xinetd.conf(5)).'
[saned] check_host: config file line: `'
[saned] check_host: config file line: `192.168.0.1'
[saned] check_host: config file line: `192.168.0.2'
[saned] check_host: config file line: `192.168.0.3'
[saned] init: access by root@192.168.0.3 accepted
[sanei_debug] Setting debug level of dll to 255.
[dll] sane_init: SANE dll backend version 1.0.8 from sane-backends 
1.0.10-pre3
[dll] add_backend: adding backend `net'
[dll] add_backend: adding backend `plustek'
[saned] process_request: waiting for request
[saned] process_request: got request 2
[dll] load: searching backend `plustek' in `/usr/lib/sane'
[dll] load: trying to load `/usr/lib/sane/libsane-plustek.so.1'
[dll] load: dlopen()ing `/usr/lib/sane/libsane-plustek.so.1'
[dll] init: initializing backend `plustek'
[dll] init: backend `plustek' is version 1.0.0
[dll] load: searching backend `net' in `/usr/lib/sane'
[dll] load: trying to load `/usr/lib/sane/libsane-net.so.1'
[dll] load: dlopen()ing `/usr/lib/sane/libsane-net.so.1'
[dll] init: initializing backend `net'
[dll] init: backend `net' is version 1.0.10
Segmentation fault (core dumped)
bash-2.04$

> Could you try to run saned in gdb directly? Maybe that gives more
> information.

I'm not a gdb expert.  How do I do this?

Thanks.

Lee.