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

Reply via email to