Bug#586665: Better backtrace
Version: 1.0.21-9 According to http://stackoverflow.com/questions/2702628/gdb-cannot-find-new-threads-generic-error, the gdb problems are caused by scanimage's use of libpthreads.so.0 via dlopen. Workaround that gives a much better backtrace: $ SANE_DEBUG_DLL=3 LD_PRELOAD=/lib/libpthread.so.0 gdb --args scanimage -L Reading symbols from /usr/bin/scanimage...(no debugging symbols found)...done. (gdb) r Starting program: /usr/bin/scanimage -L [Thread debugging using libthread_db enabled] [sanei_debug] Setting debug level of dll to 3. [dll] sane_init: SANE dll backend version 1.0.12 from sane-backends 1.0.21 [dll] add_backend: adding backend `ls5000' [dll] add_backend: adding backend `hpaio' [dll] add_backend: adding backend `net' [dll] add_backend: adding backend `abaton' [dll] add_backend: adding backend `agfafocus' [dll] add_backend: adding backend `apple' [dll] add_backend: adding backend `avision' [dll] add_backend: adding backend `artec' [dll] add_backend: adding backend `artec_eplus48u' [dll] add_backend: adding backend `as6e' [dll] add_backend: adding backend `bh' [dll] add_backend: adding backend `canon' [dll] add_backend: adding backend `canon630u' [dll] add_backend: adding backend `canon_dr' [dll] add_backend: adding backend `cardscan' [dll] add_backend: adding backend `coolscan' [dll] add_backend: adding backend `coolscan3' [dll] add_backend: adding backend `dell1600n_net' [dll] add_backend: adding backend `dmc' [dll] add_backend: adding backend `epjitsu' [dll] add_backend: adding backend `epson2' [dll] add_backend: adding backend `fujitsu' [dll] add_backend: adding backend `genesys' [dll] add_backend: adding backend `gt68xx' [dll] add_backend: adding backend `hp' [dll] add_backend: adding backend `hp3900' [dll] add_backend: adding backend `hpsj5s' [dll] add_backend: adding backend `hp3500' [dll] add_backend: adding backend `hp4200' [dll] add_backend: adding backend `hp5400' [dll] add_backend: adding backend `hp5590' [dll] add_backend: adding backend `hpljm1005' [dll] add_backend: adding backend `hs2p' [dll] add_backend: adding backend `ibm' [dll] add_backend: adding backend `kodak' [dll] add_backend: adding backend `kvs1025' [dll] add_backend: adding backend `leo' [dll] add_backend: adding backend `lexmark' [dll] add_backend: adding backend `ma1509' [dll] add_backend: adding backend `matsushita' [dll] add_backend: adding backend `microtek' [dll] add_backend: adding backend `microtek2' [dll] add_backend: adding backend `mustek' [dll] add_backend: adding backend `mustek_usb' [dll] add_backend: adding backend `mustek_usb2' [dll] add_backend: adding backend `nec' [dll] add_backend: adding backend `niash' [dll] add_backend: adding backend `pie' [dll] add_backend: adding backend `pixma' [dll] add_backend: adding backend `plustek' [dll] add_backend: adding backend `qcam' [dll] add_backend: adding backend `ricoh' [dll] add_backend: adding backend `rts8891' [dll] add_backend: adding backend `s9036' [dll] add_backend: adding backend `sceptre' [dll] add_backend: adding backend `sharp' [dll] add_backend: adding backend `sm3600' [dll] add_backend: adding backend `sm3840' [dll] add_backend: adding backend `snapscan' [dll] add_backend: adding backend `sp15c' [dll] add_backend: adding backend `tamarack' [dll] add_backend: adding backend `teco1' [dll] add_backend: adding backend `teco2' [dll] add_backend: adding backend `teco3' [dll] add_backend: adding backend `u12' [dll] add_backend: adding backend `umax' [dll] add_backend: adding backend `umax1220u' [dll] add_backend: adding backend `v4l' [dll] add_backend: adding backend `xerox_mfp' [dll] sane_get_devices [dll] load: searching backend `xerox_mfp' in `/usr/lib/sane' [dll] load: dlopen()ing `/usr/lib/sane/libsane-xerox_mfp.so.1' [dll] init: initializing backend `xerox_mfp' [dll] load: searching backend `v4l' in `/usr/lib/sane' [dll] load: dlopen()ing `/usr/lib/sane/libsane-v4l.so.1' [dll] init: initializing backend `v4l' [dll] load: searching backend `umax1220u' in `/usr/lib/sane' [dll] load: dlopen()ing `/usr/lib/sane/libsane-umax1220u.so.1' [dll] init: initializing backend `umax1220u' [dll] load: searching backend `umax' in `/usr/lib/sane' [dll] load: dlopen()ing `/usr/lib/sane/libsane-umax.so.1' [dll] init: initializing backend `umax' [dll] load: searching backend `u12' in `/usr/lib/sane' [dll] load: dlopen()ing `/usr/lib/sane/libsane-u12.so.1' [dll] init: initializing backend `u12' [dll] load: searching backend `teco3' in `/usr/lib/sane' [dll] load: dlopen()ing `/usr/lib/sane/libsane-teco3.so.1' [dll] init: initializing backend `teco3' [dll] load: searching backend `teco2' in `/usr/lib/sane' [dll] load: dlopen()ing `/usr/lib/sane/libsane-teco2.so.1' [dll] init: initializing backend `teco2' [dll] load: searching backend `teco1' in `/usr/lib/sane' [dll] load: dlopen()ing `/usr/lib/sane/libsane-teco1.so.1' [dll] init: initializing backend `teco1' [dll] load: searching backend `tamarack' in `/usr/lib/sane' [dll] load: dlopen()ing
Bug#586665: Better backtrace
Sam Morris s...@robots.org.uk wrote: Hi Sam, [dll] sane_exit: calling backend `net's exit function Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffeca0a700 (LWP 18984)] 0x7fffeca2fe91 in ?? () from /usr/lib/libdbus-1.so.3 (gdb) where #0 0x7fffeca2fe91 in ?? () from /usr/lib/libdbus-1.so.3 #1 0x7fffeca1a22a in dbus_connection_dispatch () from /usr/lib/libdbus-1.so.3 #2 0x7fffecc558b6 in dispatch_timeout_callback (t=value optimized out, userdata=0x6577c0) at ../avahi-common/dbus-watch-glue.c:107 #3 0x7fffece619c8 in avahi_simple_poll_dispatch (s=0x657090) at simple-watch.c:562 #4 0x7fffece61f5d in avahi_simple_poll_loop (s=0x657090) at simple-watch.c:638 #5 0x7fffece62aae in thread (userdata=0x657040) at thread-watch.c:73 #6 0x77bc98ba in start_thread (arg=value optimized out) at pthread_create.c:300 #7 0x7752602d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 Very interesting. It's the Avahi poll thread that is crashing when the net backend exits. Does it still happen if you disable the hpaio backend (I'm asking because this backend also uses DBus)? Does it still happen if only the net backend is enabled? JB. -- Julien BLACHE - Debian GNU/Linux Developer - jbla...@debian.org Public key available on http://www.jblache.org - KeyID: F5D6 5169 GPG Fingerprint : 935A 79F1 C8B3 3521 FD62 7CC7 CD61 4FD7 F5D6 5169 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#586665: Better backtrace
On Fri, Mar 25, 2011 at 05:43:06PM +0100, Julien BLACHE wrote: Sam Morris s...@robots.org.uk wrote: Hi Sam, [dll] sane_exit: calling backend `net's exit function Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffeca0a700 (LWP 18984)] 0x7fffeca2fe91 in ?? () from /usr/lib/libdbus-1.so.3 (gdb) where #0 0x7fffeca2fe91 in ?? () from /usr/lib/libdbus-1.so.3 #1 0x7fffeca1a22a in dbus_connection_dispatch () from /usr/lib/libdbus-1.so.3 #2 0x7fffecc558b6 in dispatch_timeout_callback (t=value optimized out, userdata=0x6577c0) at ../avahi-common/dbus-watch-glue.c:107 #3 0x7fffece619c8 in avahi_simple_poll_dispatch (s=0x657090) at simple-watch.c:562 #4 0x7fffece61f5d in avahi_simple_poll_loop (s=0x657090) at simple-watch.c:638 #5 0x7fffece62aae in thread (userdata=0x657040) at thread-watch.c:73 #6 0x77bc98ba in start_thread (arg=value optimized out) at pthread_create.c:300 #7 0x7752602d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 Very interesting. It's the Avahi poll thread that is crashing when the net backend exits. Does it still happen if you disable the hpaio backend (I'm asking because this backend also uses DBus)? Does it still happen if only the net backend is enabled? I ran a few more tests and the backtrace alternated between the one you quoted above, and one that crashed in hpaio's exit function. Disabling 'net' got rid of the crash. I then upgraded libavahi-client3 to version 0.6.27-2+squeeze1 which seems to have resolved the bug. I don't know whether the real bug was in Avahi, or Sane's use of Avahi; however since this seems to be solved in squeeze, I'll close this bug in a few days if I can no longer reproduce the crash at all. JB. -- Regards, Sam -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#586665: Better backtrace
Sam Morris s...@robots.org.uk wrote: Hi Sam, I ran a few more tests and the backtrace alternated between the one you quoted above, and one that crashed in hpaio's exit function. Disabling Aha, interesting, exactly what I suspected. It may have to do with having several DBus connections in the same process. 'net' got rid of the crash. I then upgraded libavahi-client3 to version 0.6.27-2+squeeze1 which seems to have resolved the bug. I don't see why it would fix this issue, but if it does, I'm certainly fine with this :) JB. -- Julien BLACHE - Debian GNU/Linux Developer - jbla...@debian.org Public key available on http://www.jblache.org - KeyID: F5D6 5169 GPG Fingerprint : 935A 79F1 C8B3 3521 FD62 7CC7 CD61 4FD7 F5D6 5169 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org