Hotspot Debugger on Mac OS X Java 1.6 32-bit
Thomas.Rodriguez at Sun.COM
Wed Feb 3 11:32:09 PST 2010
I assume the bits used by MacPorts are coming from http://hg.openjdk.java.net/bsd-port/bsd-port? That's the only working port of openjdk on the mac as far as I know. I know there are issues with 16 byte alignment in hotspot but I assume all of them had been fixed in the bsd-port. If this is something they missed I'm sure they'd like to know. You might try their alias at http://mail.openjdk.java.net/mailman/listinfo/bsd-port-dev. As far as HSDB I don't believe it's been ported to bsd/mac. It needs either a core file reader, which would be different on the mac since I assume it's Mach-O, or an API for control a live process like ptrace, and I don't think either has been written. If you have a debug build of hotspot there are functions that are callable from the debugger which can be used to figure some things out, like findpc which will try to indentify what a piece of generated code is and ps which will dump a Java stack trace. The full set is in src/share/vm/utilities/debug.cpp.
On Feb 3, 2010, at 8:06 AM, Daniel D. Daugherty wrote:
> Forwarding to hotspot-dev at ...
> Derek Shinaberry wrote:
>> I am so far out of my depth here that I am not even sure which mailing list to start with, but the serviceability-dev seemed as good a place as any to begin.
>> First of all, I am NOT well versed in Java, particularly the minutia and all things VM related. I am well versed in C++, which led me to believe that I might have half a chance when it comes to debugging a problem inside the VM.
>> I'm running Mac OS X 10.5.8 on a 32-bit Core Duo processor, which doesn't support Java 6. So, I'm attempting to use OpenJDK 6 installed using MacPorts.
>> After some issues getting the build to work, I figured out what needed patching and succeeded in building and installing openjdk6. So far, so good.
>> The program I'm running that required Java 6, called Marketcetera, crashes fairly frequently. Using gdb to investigate the crash, I figured out that it has to do with 16-byte stack alignment requirements on Mac OS X. I discovered a patch by Landon Fuller that attempts to address the issues. I fought for a while to get that patch integrated and building, but it finally built and installed. Still having the same crash and it is still related to stack alignment.
>> I've tracked it down to code that is being generated at runtime, so gdb isn't much use in discovering exactly what code is the source of the problem. Enter the Hotspot Debugger. (Finally, he gets to the point!)
>> It doesn't appear that HSDB is built by MacPorts on Mac OS X. It doesn't even look like there is a bsd directory which would presumably contain that code. Has anyone successfully used HSDB on Mac OS X? Can anyone point me in the right direction for being able to understand what is going on inside the VM on Mac OS X? Any help would be much appreciated.
More information about the hotspot-dev