[sane-devel] saned problems with 1.0.10-pre3 (incl. segfault)
Henning Meier-Geinitz
henning@meier-geinitz.de
Tue, 28 Jan 2003 11:53:00 +0100
Hi,
On Mon, Jan 27, 2003 at 01:35:50PM -0800, Lee Howard wrote:
> So, next step was to get saned running so that the network workstations
> could use the scanner also. That's when I ran into trouble. Now,
> ultimately I'll be using saned from xinetd, but, for debugging purposes
> I am running saned from the command-prompt. I'm not sure what
> "correct" debugging information should look like, but when I run saned
> from root, it *seems* to go fine. The server says this:
>
> [root@bilbo saned]# /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: 127.0.0.1
> [saned] check_host: remote host is IN_LOOPBACK: access accepted
> [saned] init: access by lee@127.0.0.1 accepted
> [saned] process_request: waiting for request
> [saned] process_request: got request 1
> [saned] process_request: waiting for request
> [saned] process_request: got request 10
> [saned] quit: exiting
> [root@bilbo saned]#
Looks fine.
> When I run saned from user "saned", this is what I see instead. The
> server says:
[the same]
> The client says this:
>
> [lee@bilbo lee]$ scanimage -L
> device `plustek:/dev/usb/scanner0' is a Epson Perfection 1260/Photo USB
> flatbed scanner
> [lee@bilbo lee]
>
> So it appears that saned is not working the same when running as the
> "saned" user.
Check permissions, i.e. if saned has read/write permissions on
/dev/usb/scanner0 .
> 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.
Please try running saned like this and send the output:
SANE_DEBUG_DLL=255 /usr/sbin/saned -d128
Using device names without a backend name should result in opening the
first backend, that's v4l in my configuration.
> The client says:
>
> [lee@bilbo lee]$ scanimage --help -d "net:192.168.0.1"
[...]
> scanimage: open of device net:192.168.0.1 failed: Invalid argument
Maybe one of the backends doesn't like empty device names. However,
running with -d "plustek" doesn't result in segfaults here.
> [root@bilbo saned]# gdb /usr/sbin/saned core
Could you try to run saned in gdb directly? Maybe that gives more
information.
Bye,
Henning