On Tue, 2010-06-29 at 18:33 +0200, Julien BLACHE wrote:
> Sam Morris <[email protected]> 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 <[email protected]>
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]