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

Reply via email to