On Tue, 2010-06-29 at 18:33 +0200, Julien BLACHE wrote: > Sam Morris <s...@robots.org.uk> wrote: > > Hi Sam, > > >> What does the net backend config file (/etc/sane.d/net.conf) look like? > > > > The only uncommented line is 'localhost'. Commenting that out does fix > > the crash. > > Could you keep the current net.conf (with localhost enabled), disable > all backends in dll.conf and dll.d/* except the net backend, then see if > it still segfaults and send me that backtrace?
Here you go: $ gdb --args scanimage -L /home/sam/.gdbinit:10: Error in sourced command file: Undefined command: "python". Try "help". (gdb) r Starting program: /usr/bin/scanimage -L [sanei_debug] Setting debug level of dll to 5. [dll] sane_init: SANE dll backend version 1.0.12 from sane-backends 1.0.21 [dll] sane_init/read_dlld: processing /etc/sane.d/dll.d ... [dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/libsane-extras [dll] sane_init/read_config: reading dll.d/libsane-extras [dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/hplip [dll] sane_init/read_config: reading dll.d/hplip [dll] sane_init/read_dlld: done. [dll] sane_init/read_config: reading dll.conf [dll] add_backend: adding backend `net' [dll] sane_get_devices [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' [Thread debugging using libthread_db enabled] Error while reading shared library symbols: Cannot find new threads: generic error Cannot find new threads: generic error (gdb) info threads Cannot find new threads: generic error (gdb) bt full #0 dl_open_worker (a=<value optimized out>) at dl-open.c:330 args = (struct dl_open_args *) 0x7fff5f219140 file = <value optimized out> mode = -2147483647 call_map = <value optimized out> __PRETTY_FUNCTION__ = "dl_open_worker" new = (struct link_map *) 0x1c92320 r = <value optimized out> reloc_mode = <value optimized out> l = <value optimized out> any_tls = <value optimized out> #1 0x00007fd0fb8b95b6 in _dl_catch_error (objname=<value optimized out>, errstring=<value optimized out>, mallocedp=<value optimized out>, operate=<value optimized out>, args=<value optimized out>) at dl-error.c:178 errcode = <value optimized out> old = (struct catch * volatile) 0x7fff5f219240 c = { objname = 0x3000000018 <Address 0x3000000018 out of bounds>, errstring = 0x0, malloced = 208, env = {{ __jmpbuf = {2147483649, 7587589709248741286, -2, 140535547989114, 2, 140734789424032, 7587589709271809958, 7571608668391096230}, __mask_was_saved = 0, __saved_mask = { __val = {0, 140535550135754, 0, 140734789423408, 0, 140734789423408, 140535552243072, 5, 4177789447, 140535550137584, 0, 7, 65277960, 140535545860904, 140734789423760, 140535545860936} } }} } #2 0x00007fd0fb8bd5da in _dl_open (file=0x7fff5f2193a0 "/usr/lib/sane/libsane-net.so.1", mode=-2147483647, caller_dlopen=0x7fd0fb6a8c7a, nsid=-2, argc=2, argv=0x101010101010101, env=0x7fff5f21c6a0) at dl-open.c:583 args = { file = 0x7fff5f2193a0 "/usr/lib/sane/libsane-net.so.1", mode = -2147483647, caller_dlopen = 0x7fd0fb6a8c7a, caller_dl_open = 0x7fd0fb4a1f66, map = 0x1c92320, nsid = 0, argc = 2, argv = 0x7fff5f21c688, env = 0x7fff5f21c6a0 } objname = <value optimized out> errstring = <value optimized out> malloced = <value optimized out> errcode = <value optimized out> __PRETTY_FUNCTION__ = "_dl_open" #3 0x00007fd0fb4a1f66 in dlopen_doit (a=<value optimized out>) at dlopen.c:67 args = (struct dlopen_args *) 0x7fff5f219360 #4 0x00007fd0fb8b95b6 in _dl_catch_error (objname=<value optimized out>, errstring=<value optimized out>, mallocedp=<value optimized out>, operate=<value optimized out>, args=<value optimized out>) at dl-error.c:178 errcode = <value optimized out> old = (struct catch * volatile) 0x0 c = { objname = 0x2d35aae3 <Address 0x2d35aae3 out of bounds>, errstring = 0x0, malloced = false, env = {{ __jmpbuf = {140535547969728, 7571607006554767270, 140734789423968, 0, 29958192, 0, 7587589709341015974, 7571608668391096230}, __mask_was_saved = -72578696, __saved_mask = { __val = {140734789428176, 4294967295, 206158430232, 1, 2122904, 0, 29958192, 0, 140535547973632, 140535550153666, 140531329925121, 0, 140535542771296, 140535545861704, 140734789424032, 29958768} } }} } #5 0x00007fd0fb4a22ec in _dlerror_run (operate=0x7fd0fb4a1f00 <dlopen_doit>, args=0x7fff5f219360) at dlerror.c:164 result = (struct dl_action_result *) 0x7fd0fb6a40c0 #6 0x00007fd0fb4a1ee1 in __dlopen (file=<value optimized out>, mode=<value optimized out>) at dlopen.c:88 args = { file = 0x7fff5f2193a0 "/usr/lib/sane/libsane-net.so.1", mode = 1, new = 0x7fd0fb6aa2ed, caller = 0x7fd0fb6a8c7a } #7 0x00007fd0fb6a8c7a in load (be=0x1c92270) at dll.c:497 mode = 1 src = 0x0 orig_src = <value optimized out> dir = <value optimized out> path = <value optimized out> libname = "/usr/lib/sane/libsane-net.so.1", '\0' <repeats 1650 times>, "\004\200��", '\0' <repeats 28 times>, "0z!_�\177\000\0006z!_�\177\000\0000\232!_�\177", '\0' <repeats 138 times>, "����", '\0' <repeats 20 times>, "�\233I��\177\000\000`�I��\177", '\0' <repeats 26 times>, "PL\031��\177\000\000`�I��\177\000\000\004\200��", '\0' <repeats 20 times>, "`�i��\177\000\...@{!_�\177\000\000q{!_�\177\000\000@\233!_�\177\000\000>\036\030��\177", '\0' <repeats 130 times>... fp = (FILE *) 0x1c92030 #8 0x00007fd0fb6a8e84 in init (be=0x0) at dll.c:606 status = <value optimized out> version = 0 #9 0x00007fd0fb6a91ad in sane_dll_get_devices (device_list=<value optimized out>, local_only=<value optimized out>) at dll.c:1034 be_list = (const SANE_Device **) 0x0 be = (struct backend *) 0x1c92270 status = <value optimized out> full_name = 0x7fff5f21c55c "" i = 1596049032 num_devs = <value optimized out> #10 0x0000000000403ad2 in main (argc=2, argv=0x7fff5f21c688) at scanimage.c:1771 i = <value optimized out> ch = -72568576 i = <value optimized out> index = <value optimized out> opt = <value optimized out> device_list = <value optimized out> num_dev_options = 0 devname = 0x0 defdevname = 0x0 format = 0x0 readbuf = "\000" readbuf2 = <value optimized out> batch = 0 batch_prompt = 0 batch_count = -1 batch_start_at = 1 batch_increment = 1 status = <value optimized out> version_code = <value optimized out> > > If it doesn't segfault, you're in for some fun hunting down the faulty > backend; re-enable each backend one by one (keeping the net backend > enabled) until it segfaults again. I truly hope it won't come down to > that :/ Phew! :) > Thanks, > > JB. PS -- once I got these messages before the segfault: process 29221: arguments to dbus_connection_close() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file dbus-connection.c line 2775. This is normally a bug in some application using the D-Bus library. process 29221: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file dbus-connection.c line 2646. This is normally a bug in some application using the D-Bus library. -- Sam Morris <s...@robots.org.uk> -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org