JDK-8161945 : REGRESSION: 8u91 update of 32 bit JRE removes preferences of the 64 bit JRE
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 9
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2016-07-20
  • Updated: 2017-11-29
  • Resolved: 2016-08-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 JDK 9
8u131Fixed 9 b131Fixed
Related Reports
Duplicate :  
Description
J2SE Version (please include all output from java -version flag):
1.8.0_91 (32 bit)

Does this problem occur on J2SE 7ux, 8ux? Yes / No (be specific version#)
It does not occur with old updates.


If this is a regression what release did the code last work?
Yes.


Operating System Configuration Information (be specific):
Windows 64 bit

Bug Description:
  An update of a 32 bit Java VM delete the Java preferences of the 64 bit
Java VMs. This break all application with a bundle Java VM. On a server
system it is typical that the server applications run with a 64 bit Java
bundle edition. The 32 bit edition is used only in the browser.

Related bugs: JDK-8146305, JDK-8135254

Steps to Reproduce (be specific):
* Create some Java preferences settings with a 64 bit Java which is not
installed.
* Update the 32 bit Java for the browser --> the settings was lost.
Comments
SQE-OK with critical request in CPU17_02 Low risk, and high impact if we don't get the fix in the wild well before the JDK 9 GA.
09-01-2017

CPU17_02-critical-request justification: - Fix for Release : 8u131 - Justification : Regression, low-risk fix for a high impact bug ('M' likehood) - Risk Analysis : Low - Webrev : https://java.se.oracle.com/code/cru/CR-JDK9CLIENT-2216 - Testing (done/to-be-done) : 9 promotion/PIT, 8u-cpu promotion - Back ports (done/to-be-done) : 8u131 only - FX Impact : NA
09-01-2017

Hi [~rcalnan] / [~paulk], Could you pls. provide a justification? This is a bug reported by CAP, so it should be part of PSU? We don't have PSU until 17_Oct. Given that, I can't give it a Go if no justification.
09-01-2017

It is a bug reported by CAP user. Scope limited. SQE OK to defer it to 17_01 PSU.
17-08-2016

PSU16_04-defer request for JDK 8u112 backport: Not a critical issue in the Oct timeline (corner case) Already fixed in 8u122.
16-08-2016

Test scenario is not correct. You can't verify the fix with au from 8u65 to 9+130 because AU will run uninstaller for 8u65 which will clean the registry unconditionally. This is confirmed with the attached jusched.log: --- [2016/08/08 09:35:17.582, MSIF1C.tmp (PID: 2168, TID: 2132), uninstaller.cpp:32 (WinMain)] TRACE: Entered uninstaller.exe WinMain with command line=<ProductCode={26A24AE4-039D-4CA4-87B4-2F83218065F0} /s> ... [2016/08/08 09:35:18.003, MSIF1C.tmp (PID: 2168, TID: 2132), Registry.cpp:535 (Registry::deleteKeyTree)] TRACE: Deleted all child elements of [HKLM64\Software\JavaSoft] key ... --- Registry clean up occurred from 8u65 uninstaller. It actually doesn't matter if 8u65 is uninstalled after or before 9+130 is installed, it will clean the registry anyways. So the right AU scenario to verify the fix should be: - install 9+130; - create registry keys that should survive 9+130 uninstall; - AU to 9+130 next ver.
10-08-2016

Locke, This is expected. If there is no "JavaSoft\Prefs" subkey, "JavaSoft" key is deleted recursively as it was prior to the fix.
10-08-2016

Hi Alexey, Just had a discussion with James about this. http://closedjdk.us.oracle.com/jdk9/dev/install/rev/a40e48a9d62b it is fixed in the RegistryUtils.cpp file. However in the log, [2016/08/08 09:35:18.003, MSIF1C.tmp (PID: 2168, TID: 2132), Registry.cpp:535 (Registry::deleteKeyTree)] TRACE: Deleted all child elements of [HKLM64\Software\JavaSoft] key [2016/08/08 09:35:18.003, MSIF1C.tmp (PID: 2168, TID: 2132), Registry.cpp:484 (Registry::deleteSubkey)] TRACE: Deleted [HKLM64\Software\JavaSoft] key [2016/08/08 09:35:18.003, MSIF1C.tmp (PID: 2168, TID: 2132), Registry.cpp:535 (Registry::deleteKeyTree)] TRACE: Deleted all child elements of [HKLM32\Software\JavaSoft] key [2016/08/08 09:35:18.003, MSIF1C.tmp (PID: 2168, TID: 2132), Registry.cpp:484 (Registry::deleteSubkey)] TRACE: Deleted [HKLM32\Software\JavaSoft] key It is deleted by Registry::deleteSubkey and Registry::deleteKeyTree
09-08-2016

Review published https://java.se.oracle.com/code/cru/CR-JDK9CLIENT-2216
21-07-2016