On Tue, Sep 01, 2009 at 05:42:51PM -0400, Dominique Brazziel wrote: > >From gdb run with one of the identical core dumps: > > gdb /usr/lib/iceweasel/firefox-bin ./core.firefox-bin.32265 > > <*snip*> > > #0 0xb7cc8d91 in *__GI_getenv (name=0xb7ef4642 "DSP_DEBUG") at > getenv.c:90 > 90 getenv.c: No such file or directory. > in getenv.c > (gdb) where > #0 0xb7cc8d91 in *__GI_getenv (name=0xb7ef4642 "DSP_DEBUG") at > getenv.c:90 > #1 0xb7eef0e0 in ?? () from /usr/lib/libpulsedsp.so > #2 0xb7ef2e89 in close () from /usr/lib/libpulsedsp.so > #3 0xb5cbf746 in ?? () from /usr/lib/libORBit-2.so.0 > #4 0xb5cbfc3f in ?? () from /usr/lib/libORBit-2.so.0 > #5 0xb5cbffc2 in link_connection_state_changed () > from /usr/lib/libORBit-2.so.0 > #6 0xb5cc01dd in link_connection_exec_disconnect () > from /usr/lib/libORBit-2.so.0 > #7 0xb5cbea4c in ?? () from /usr/lib/libORBit-2.so.0 > #8 0xb5cbed37 in link_exec_command () from /usr/lib/libORBit-2.so.0 > #9 0xb5cbf961 in link_connection_disconnect () > from /usr/lib/libORBit-2.so.0 > #10 0xb5c9d176 in giop_connection_close () from /usr/lib/libORBit-2.so.0 > #11 0xb5c9d20a in ?? () from /usr/lib/libORBit-2.so.0 > #12 0xb698211f in g_object_run_dispose () > from /usr/lib/libgobject-2.0.so.0 > #13 0xb5cbf17a in link_connections_close () > from /usr/lib/libORBit-2.so.0 > #14 0xb5c9d857 in giop_shutdown () from /usr/lib/libORBit-2.so.0 > #15 0xb5ca23c9 in CORBA_ORB_shutdown () from /usr/lib/libORBit-2.so.0 > #16 0xb5ca252f in CORBA_ORB_destroy () from /usr/lib/libORBit-2.so.0 > #17 0xb5ca3cbf in ?? () from /usr/lib/libORBit-2.so.0 > #18 0xb7cc9589 in *__GI_exit (status=154756776) at exit.c:75 > #19 0xb7caf7ad in __libc_start_main (main=0x8048d62 <set...@plt+246>, > argc=5, ubp_av=0xbfb285f4, init=0x804dae0 <set...@plt+20084>, > fini=0x804dad0 <set...@plt+20068>, rtld_fini=0xb7f1a6e0 <_dl_fini>, > stack_end=0xbfb285ec) at libc-start.c:254 > > Looking at the code (padsp.c), it seems like this should only happen > if the DSP_DEBUG value is not set but the check for non-null > pointer passes: > > static void debug(int level, const char *format, ...) { > va_list ap; > const char *dlevel_s; > int dlevel; > > dlevel_s = getenv("PADSP_DEBUG"); > if (!dlevel_s) > return; > > dlevel = atoi(dlevel_s); <== Segfault if pointer 'dlevel_s' is NULL > > Or is the segfault occuring in the getenv call? So many levels of > indirection, exec'ing, environments, my head starts to spin...
It looks like it is happening in the getenv call. In getenv.c, line 90. Mike -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org