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.spit...@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...@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