Posted by rlhaggard
on January 13, 2010 at 8:31 AM PST
Where can I find the source code to a particular JVM.DLL revision?
I'm working on a bug that seems to be related to code in JVM.DLL It looks like the JVM is trying to make use of a thread pointer to a virtual DOS machine (VDM) but because it is a NULL pointer, bad things happen. I think that the JVM is trying to make use of TEB->VDM because I disassembled the customer's crash dump in WinDbg and can see JVM code getting fs:[0x18] (the linear address of a thread execution block) and then the code adds 0xf18 to that. The value at this location is supposed to be a thread's VDM. A VDM is normally assumed to be a virtual DOS machine. Does the JVM normally store its own virtual machine pointer here? In any case, our diagnostics say that the following modules are installed:
J2SE Runtime Environment 5.0 Update 6 18.104.22.168
Java(TM) 6 Update 11 6.0.110
Java(TM) 6 Update 2 22.214.171.124
Java(TM) 6 Update 3 126.96.36.199
Java(TM) 6 Update 5 188.8.131.52
Which one of these is related to JVM.DLL and where can I find the source code for that version? I've downloaded a number of JDK's but the crash dump I'm working from can't be made to agree with the C++ source of any of them so I guess I haven't found the right source code yet Any suggestions on where I might find the source code that corresponds to the above list of possible revisions would be greatly appreciated.
Richard Lewis Haggard