[dtrace-discuss] How to analyze the core stack like this?
Mike Gerdts
mgerdts at gmail.com
Fri Sep 19 07:22:08 PDT 2008
On Fri, Sep 19, 2008 at 12:22 AM, Alfred Peng <Alfred.Peng at sun.com> wrote:
> Mike Gerdts wrote:
>> On Thu, Sep 18, 2008 at 9:57 PM, Alfred Peng <Alfred.Peng at sun.com> wrote:
>>> Hi guys,
>>>
>>> Here is a core stack from running "Songbird --version" on JDS Nevada b99:
>>>
>>> bash-3.2$ songbird --version
>>> POTI, Inc. Songbird 0.7.0, Copyright(c) 2005-2008 POTI, Inc.
>>> Segmentation Fault (core dumped)
>>> bash-3.2$ pstack core
>>> core 'core' of 2911: songbird --version
>>> fecb617b findenv (808f324, fef7aa18, 1, 8046fb4) + 54
>>> fecb6623 getenv (fef7aa18) + 31
>>> fef78c17 dprintf (1, fef7a864, 0) + 27
>>> fef78f54 dtrace_dof_fini (feffb7dc, fefb0620, fef79074, 8047044,
>>>
>>
>> For this to happen, it looks as though songbird must have whacked the
>> environment - perhaps unintentionally.
>>
>>
>> http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libdtrace/common/drti.c#66
>>
>> It would seem to make sense for drti.c to read all of the environment
>> variables during dof_init() and store them in static global variables.
>> It doesn't change the fact that the app is quite likely buggy but it
>> does keep the blame from being put in the wrong place.
>
> Hi Mike,
>
> Thanks for the reply.
>
> Just tried to set DTRACE_DOF_INIT_DEBUG and rerun the command:
>
> bash-3.2$ songbird --version
> dtrace DOF libCrun.so.1: DTrace ioctl succeeded for DOF at fef7aa68
> dtrace DOF libmozjs.so: DTrace ioctl succeeded for DOF at fec0eb30
> POTI, Inc. Songbird 0.7.0, Copyright(c) 2005-2008 POTI, Inc.
> dtrace DOF libmozjs.so: DTrace ioctl removed DOF (0)
> Segmentation Fault (core dumped)
What does "pargs -ae core" say? It would probably be easiest to read
if you can reproduce with the following:
$ env -i PATH=$PATH songbird --version
--
Mike Gerdts
http://mgerdts.blogspot.com/
More information about the dtrace-discuss
mailing list