RFR: 8003348: SA can not read core file on OS X

Yumin Qi yumin.qi at oracle.com
Tue Mar 5 16:26:26 PST 2013


Hi, Serguei and Staffan

   Based on reply from Staffan, I made changes and it is in same link:
   http://cr.openjdk.java.net/~minqi/8003348/

   For __APPLE__ def, I changed most of the places where it is used. 
Still exists '#ifndef' because of lonely code which does not belong to 
"APPLE".

   I accidently removed ptrace_attach, now restore it.

Thanks
Yumin

On 3/5/2013 12:09 PM, serguei.spitsyn at oracle.com wrote:
> Hi Yumin,
>
> I'm reviewing it.
> Thank you for doing this for the Serviceability team!
>
> Thanks,
> Serguei
>
> On 3/2/13 11:57 PM, Yumin Qi wrote:
>> Hi, all
>>
>>    Please review at the new changes. Include
>>    1) use unique_thread_id (which is a 64 bit integer on Macosx) to 
>> identify thread. Add a function in BsdDebuggerLocal to call the newly 
>> added function BsdThread.getUniqueThreadId to get this id. Meanwhile, 
>> move the code of forming threadList in native part to 
>> BsdDebuggerLocal.java since the thread ids of all java threads can be 
>> obtained from Threads and coding is much easier and clear.
>>
>>     2) To have better performance, get all java thread ids, stack 
>> infos (stack begin, stack end) into one array of long which is 
>> decoded in native code and used to set thread ids. This save much 
>> more time first time to fill java thread ids.
>>
>>     3) remove DarwinVtblAccess.java which added in last version , its 
>> functionality moved to BsdVtblAccess.java
>>
>>    4) BugSpotAgent.java no long exists, remove the changes.
>>
>>     5) remove unsupported platform defs.
>>
>>      http://cr.openjdk.java.net/~minqi/8003348/
>>
>> Thanks
>> Yumin
>>
>> On 1/22/2013 10:35 PM, Yumin Qi wrote:
>>> Hi, Staffan (and Serguei)
>>>
>>>   Made some clean for code.
>>>   1) added mach-o file fat header parsing as you suggested.
>>>   2) modified get_real_path as you indicated it could run with 
>>> jre/bin/java
>>>   3) moved output information from CommandProcessor.java to 
>>> PStack.java for printing  out  pstack not available for Darwin.
>>>   4) code clean, file header update.
>>>
>>> Please take a look at same location.
>>>
>>> Thanks
>>> Yumin
>>>
>>> On 1/18/2013 3:58 AM, Staffan Larsen wrote:
>>>> Thanks for doing this Yumin!
>>>>
>>>> I tried to apply you patch and run it, but I can't get SA to open a 
>>>> core file. You can see the exception I get below. Is there some 
>>>> kind of setup I need to do? This is against a jvmg build of Hotspot.
>>>>
>>>> I also noticed that you forgot to update BugSpotAgent.java with the 
>>>> same changes as in HotspotAgent.java. This makes the jstack tool fail.
>>>>
>>>> I will look at the changes more closely.
>>>>
>>>> Thanks,
>>>> /Staffan
>>>>
>>>>
>>>>
>>>> Opening core file, please wait...
>>>> Unable to open core file
>>>> /cores/core.79028:
>>>>
>>>> Doesn't appear to be a HotSpot VM (could not find symbol 
>>>> "gHotSpotVMTypes" in
>>>> remote process)
>>>> sun.jvm.hotspot.debugger.DebuggerException: Doesn't appear to be a 
>>>> HotSpot VM (could not find symbol "gHotSpotVMTypes" in remote process)
>>>>     at sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:385)
>>>>     at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:287)
>>>>     at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:146)
>>>>     at sun.jvm.hotspot.CLHSDB.attachDebugger(CLHSDB.java:188)
>>>>     at sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:55)
>>>>     at sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:35)
>>>> hsdb>  Input stream closed.
>>>>
>>>>
>>>> On 17 jan 2013, at 22:23, Yumin Qi<yumin.qi at oracle.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>>     Please review for the changes for SA to read core file on Mac 
>>>>> OS X, this is feature is not implemented on previous releases.
>>>>>     This change made for SA to work on core file on Darwin, but 
>>>>> still some function not fixed, such as 'pstack'. This is intended 
>>>>> to integrate into 8.
>>>>>
>>>>>      http://cr.openjdk.java.net/~minqi/8003348/
>>>>>
>>>>>      Please take some time since the code change is a little bigger.
>>>>>
>>>>> Thanks very much
>>>>> Yumin
>>
>



More information about the serviceability-dev mailing list