Above and Beyond from Sun and Apple

I had a problem with Sun’s JVisualVM tool, when trying to profile Poker Copilot. It seems that one of the libraries I use stops JVisualVM was working fully on Mac OS X. I asked on Apple’s java-dev mailing list if anyone else had encountered and had a work-around.

I got a personal reply from Tomas Hurka, the Sun employee who created JVisualVM. We interchanged several e-mails over two days until we had a small test case that reproduced the problem.

I now expected the problem to go into the ether, maybe to be solved in a year or two. How cynical of me.

Over the next two weeks I received continual updates from the Sun employee on the progress of this issue. He worked together with an Apple engineer to determine that the problem lay in Apple’s Java virtual machine (JVM), in an obscure but essential aspect of the JVM called class verification.

The Apple engineer found a work-around and shared it with the Sun employee. He then forwarded it to me. Problem identified and solved. Total time elapsed: 15 days.

This is not the level of attention I’ve come to expect from large organisations. 🙂

For the record: the library that causes the problem is Spring. The work-around is adding -Xverify:none to the JVM command line arguments.