Details
-
Bug
-
Resolution: Fixed
-
P3
-
6u2
-
b07
-
generic
-
windows
-
Not verified
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2199072 | 7 | Calvin Cheung | P3 | Closed | Fixed | b64 |
Description
The Deploy workspace build has a "rebase-dlls" target that rebases everything in $outputdir/bin/*.dll, including ssv.dll. Now the Install workspace also has a "rebase" target. The Install workspace appears to rebase everything in j2re-image/*.dll, *except* ssv.dll. This can be seen in the build log file. Based on this, it is possible (with some bad luck) to get another dll conflicting with ssv.dll.
It appears this is what happened in 1.6.0_02, with jvm.dll and ssv.dll:
C:\Program Files\Java\jre1.6.0_02\bin> dumpbin /headers ssv.dll | grep 'image base'
6D7C0000 image base (6D7C0000 to 6D838FFF)
C:\Program Files\Java\jre1.6.0_02\bin> dumpbin /headers client\jvm.dll | grep 'image base'
6D7C0000 image base (6D7C0000 to 6DA08FFF)
So in 6u2, jvm.dll will get relocated if it's loaded in a browser process where ssv.dll is already present. Loading up a browser process under windbg and using the "!imgreloc" command confirms this. Image relocation can potentially affect startup time and to a lesser extent, maximum size of the Java heap.
We should probably do the rebase in one place only.
It appears this is what happened in 1.6.0_02, with jvm.dll and ssv.dll:
C:\Program Files\Java\jre1.6.0_02\bin> dumpbin /headers ssv.dll | grep 'image base'
6D7C0000 image base (6D7C0000 to 6D838FFF)
C:\Program Files\Java\jre1.6.0_02\bin> dumpbin /headers client\jvm.dll | grep 'image base'
6D7C0000 image base (6D7C0000 to 6DA08FFF)
So in 6u2, jvm.dll will get relocated if it's loaded in a browser process where ssv.dll is already present. Loading up a browser process under windbg and using the "!imgreloc" command confirms this. Image relocation can potentially affect startup time and to a lesser extent, maximum size of the Java heap.
We should probably do the rebase in one place only.
Attachments
Issue Links
- backported by
-
JDK-2199072 ssv.dll base address may conflict with other JRE DLLs
-
- Closed
-
- relates to
-
JDK-6617071 jvm.dll and d3d8thk.dll have conflicting base addresses on Windows
-
- Closed
-
-
JDK-6623709 ddrawex.dll address range conflicts with jpicom.dll causing jpicom.dll to be relocated
-
- Resolved
-