Fwd: Re: Review Request: 7009098: SA cannot open core files larger than 2GB on Linux 32-bit
yumin.qi at oracle.com
yumin.qi at oracle.com
Fri Feb 10 08:31:26 PST 2012
Send on open alias.
On 2/9/2012 9:45 PM, Yumin Qi wrote:
> looks good.
>
> Thanks
> Yumin
>
> On 2012/2/9 21:05, Poonam Bajaj wrote:
>> Not sure if everyone is subscribed to
>> serviceability-dev at openjdk.java.net..so forwarding it. ]
>>
>> I got one review from David Holmes and need one more review to push
>> this change to hsx/hotspot-rt. Could someone please review this change.
>>
>> Thanks,
>> Poonam
>>
>> -------- Original Message --------
>> Subject: Re: Review Request: 7009098: SA cannot open core files
>> larger than 2GB on Linux 32-bit
>> Date: Fri, 10 Feb 2012 10:30:52 +0530
>> From: Poonam Bajaj <poonam.bajaj at oracle.com>
>> Organization: Oracle Corporation
>> To: serviceability-dev at openjdk.java.net
>>
>>
>>
>> Hi,
>>
>> Could I have one more review for this change, please.
>>
>> 7009098: SA cannot open core files larger than 2GB on Linux 32-bit
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7009098
>> <http://monaco.sfbay.sun.com/detail.jsf?cr=7009098>
>> Webrev: http://cr.openjdk.java.net/~poonam/7009098/webrev.00/
>> <http://cr.openjdk.java.net/%7Epoonam/7009098/webrev.00/>
>>
>>
>> Thanks,
>> Poonam
>>
>> On 2/9/2012 12:29 PM, Poonam Bajaj wrote:
>>>
>>> On 2/9/2012 12:21 PM, David Holmes wrote:
>>>> Hi Poonam,
>>>>
>>>> On 9/02/2012 4:42 PM, Poonam Bajaj wrote:
>>>>>>> There is one more change with which SA should first load libraries
>>>>>>> from the path specified with SA_ALTROOT rather than loading from
>>>>>>> the host system.
>>>>>>
>>>>>> Where does this come from? It is not related to this CR. Is there
>>>>>> another CR indicating the current behaviour is incorrect? Or a spec
>>>>>> for it that indicates it is incorrect?
>>>>>>
>>>>> This change became necessary to open the same customer provided core
>>>>> which required the first change. There is no separate bug filed
>>>>> for this
>>>>> change.
>>>>
>>>> Actually there is: 7009089
>>>>
>>> Thanks for finding this bug number. I will link both the bugs.
>>>
>>>> Thanks for all the info. Your change agrees with the proposed fix
>>>> in 7009089, and it seems consist with how Solaris checks the
>>>> alt-root path first.
>>>>
>>>> So this looks good to me.
>>>>
>>> Thanks,
>>> Poonam
>>>
>>>> David
>>>> -----
>>>>
>>>>
>>>>>
>>>>> There is a document in the hotspot repository
>>>>> hotspot/agent/doc/transported_core.html which talks about the
>>>>> transported cores and the use of SA_ALTROOT.
>>>>>
>>>>> " The best possible way to debug a transported core dump is to
>>>>> match the
>>>>> debugger machine to that of core dump machine. i.e., have same Kernel
>>>>> and libthread patch level between the machines. mdb (Solaris modular
>>>>> debugger) may be used to find the Kernel patch level of core dump
>>>>> machine and debugger machine may be brought to the same level.
>>>>>
>>>>> If the matching machine is "far off" in your network, then
>>>>>
>>>>> * consider using rlogin and CLHSDB - SA command line HSDB interface
>>>>> <http://cafebabe.uk.oracle.com/lxr/source/hotspot/agent/doc/clhsdb.html>
>>>>>
>>>>> or
>>>>> * use SA remote debugging and debug the core from core machine
>>>>> remotely.
>>>>>
>>>>> But, it may not be feasible to find matching machine to debug. If so,
>>>>> you can copy all application shared objects (and libthread_db.so, if
>>>>> needed) from the core dump machine into your debugger machine's
>>>>> directory, say, /export/applibs. Now, set *SA_ALTROOT* environment
>>>>> variable to point to /export/applibs directory. Note that
>>>>> /export/applibs should either contain matching 'full path' of
>>>>> libraries.
>>>>> i.e., /usr/lib/libthread_db.so from core machine should be under
>>>>> /export/applibs/use/lib directory and
>>>>> /use/java/jre/lib/sparc/client/libjvm.so from core machine should be
>>>>> under /export/applibs/use/java/jre/lib/sparc/client so on or
>>>>> /export/applibs should just contain libthread_db.so, libjvm.so etc.
>>>>> directly. "
>>>>>
>>>>> " On Linux, SA parses core and shared library ELF files. SA *does
>>>>> not*
>>>>> use libthread_db.so or rtld_db.so for core dump debugging (although
>>>>> libthread_db.so is used for live process debugging). But, you may
>>>>> still
>>>>> face problems with transported core dumps, because matching shared
>>>>> objects may not be in the path(s) specified in core dump file. To
>>>>> workaround this, you can define environment variable *SA_ALTROOT*
>>>>> to be
>>>>> the directory where shared libraries are kept. The semantics of this
>>>>> env. variable is same as that for Solaris (please refer above)."
>>>>>
>>>>> So, if SA_ALTROOT is specified, libraries from this path should get
>>>>> loaded and not from the path embedded in the core file.
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Poonam
>>>>>
>>>>>
>>>>>> David
>>>>>> -----
>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Poonam
>>>>>>> --
>>>>>>>
>>>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20120210/f95b65cf/attachment.html
More information about the serviceability-dev
mailing list