All I know for certain about the source is that MacPorts pulls the source tarball from the link http://download.java.net/openjdk/jdk6/promoted/b16/openjdk-6-src-b16-24_apr_2009.tar.gz . It looks like there is now a b17, but I have no idea whether it would build on a Mac or if it would work if it did build. Maybe that's the source of my troubles. I think maybe I'll give that a try. I was afraid that maybe HSDB hadn't been ported. Thanks for the info about the debug callable functions. Those might go a long way towards understanding what's going on. I tried to peek at some of the data structures, but quickly descended into casting and pointer dereferencing hell.
On Feb 3, 2010, at 7:32 PM, Tom Rodriguez wrote: > 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. > > tom > > On Feb 3, 2010, at 8:06 AM, Daniel D. Daugherty wrote: > >> Forwarding to hotspot-...@... >> >> Dan >> >> >> 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. >>> >>> Cheers, >>> Derek > >