JDK-7105248 : Cannot install JRE 1.6.29 x86 on Windows 7 x64 with Hardware Enabled DEP
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 6u29
  • Priority: P3
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: windows_7
  • CPU: x86
  • Submitted: 2011-10-26
  • Updated: 2012-06-14
  • Resolved: 2012-06-14
Related Reports
Relates :  
Relates :  
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Windows 7 x64 Core2Duo. Hardware DEP enabled.


EXTRA RELEVANT SYSTEM CONFIGURATION :
Issue is seen with all 32 bit JRE 1.6.22 - 1.6.29 installers.

A DESCRIPTION OF THE PROBLEM :
Cannot install JRE 1.6.29 32 bit on Windows 7 x64 with Hardware Enabled DEP

When the installer is launched, the UAC prompt is shown but the installation does not proceed furthur.

The issue is not seen with the x64 installer.


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Enable Hardware DEP.
Download online installer/offline installer for 32 bit JRE 1.6.29
Run it.
The installer crashes and installation fails.

Disable DEP. Restart the machine.
Start the installation. Installation succeeds.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Installation of 32 bit JRE should succeed with hardware DEP enabled.
ACTUAL -
Installation of 32 bit JRE fails with hardware DEP enabled.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception code for DebugDiag:
FAULTING_IP:
+94092d526df3
00ac04d0 c744240450fd1800 mov     dword ptr [esp+4],18FD50h

EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000000ac04d0
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000008
   Parameter[1]: 0000000000ac04d0
Attempt to execute non-executable address 0000000000ac04d0

FAULTING_THREAD:  0000000000001684

PROCESS_NAME:  image00000000`00400000

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

EXCEPTION_PARAMETER1:  0000000000000008

EXCEPTION_PARAMETER2:  0000000000ac04d0

WRITE_ADDRESS:  0000000000ac04d0

FOLLOWUP_IP:
+94092d526df3
00ac04d0 c744240450fd1800 mov     dword ptr [esp+4],18FD50h

FAILED_INSTRUCTION_ADDRESS:
+94092d526df3
00ac04d0 c744240450fd1800 mov     dword ptr [esp+4],18FD50h

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG:  470

APPLICATION_VERIFIER_FLAGS:  0

IP_ON_HEAP:  0000000000ac04d0
The fault address in not in any loaded module, please check your build's rebase
log at <releasedir>\bin\build_logs\timebuild\ntrebase.log for module which may
contain the address if it were loaded.

BUGCHECK_STR:  APPLICATION_FAULT_SOFTWARE_NX_FAULT_INVALID_ZEROED_STACK

PRIMARY_PROBLEM_CLASS:  SOFTWARE_NX_FAULT_INVALID

DEFAULT_BUCKET_ID:  SOFTWARE_NX_FAULT_INVALID

STACK_TEXT:
WARNING: Frame IP not in any known module. Following frames may be wrong.
0018aae0 0040300d 00220692 00000030 a90a127b 0xac04d0
0018ab2c 75e1f943 00402fc9 00220692 00000030 image00000000_00400000+0x300d
0018aba8 75e1f784 00000000 00402fc9 00220692 USER32!UserCallDlgProcCheckWow+0x10f
0018abf8 75e0afac 00b62480 00000000 00000030 USER32!DefDlgProcWorker+0xb7
0018ac18 75df62fa 00220692 00000030 a90a127b USER32!DefDlgProcA+0x29
0018ac44 75df6d3a 75e0af83 00220692 00000030 USER32!InternalCallWinProc+0x23
0018acbc 75df965e 00000000 774881ec 00220692 USER32!UserCallWinProcCheckWow+0x109
0018ad00 75e21e05 00b62480 00000000 774881ec USER32!SendMessageWorker+0x581
0018add4 75e1cf4b 00400000 00000006 00000000 USER32!InternalCreateDialog+0x7e1
0018ae0c 75e1ce8a 00400000 004a2b98 00000000 USER32!InternalDialogBox+0xc1
0018ae2c 75e3ce7f 00400000 004a2b98 00000000 USER32!DialogBoxIndirectParamAorW+0x37
0018ae4c 00407b86 00400000 004a2b98 00000000 USER32!DialogBoxIndirectParamA+0x1b
0018ae84 0040dc8e 00400000 00000069 00000000 image00000000_00400000+0x7b86
0018fe08 0041a32c 00433d48 0018fe50 00419058 image00000000_00400000+0xdc8e
00000000 00000000 00000000 00000000 00000000 image00000000_00400000+0x1a32c


SYMBOL_NAME:  ANALYSIS_INCONCLUSIVE

FOLLOWUP_NAME:  MachineOwner

IMAGE_NAME:  Unknown_Image

DEBUG_FLR_IMAGE_TIMESTAMP:  0

STACK_COMMAND:  ~0s ; kb

FAILURE_BUCKET_ID:  SOFTWARE_NX_FAULT_INVALID_c0000005_Unknown_Image!Unloaded

BUCKET_ID:  X64_APPLICATION_FAULT_SOFTWARE_NX_FAULT_INVALID_ZEROED_STACK_BAD_IP_ANALYSIS_INCONCLUSIVE

MODULE_NAME: ANALYSIS_INCONCLUSIVE



Windows Error Message:

[Window Title]
Java(TM) Platform SE binary

[Main Instruction]
Java(TM) Platform SE binary has stopped working

[Content]
Windows can check online for a solution to the problem.

[V] View problem details  [Check online for a solution and close the program] [Close the program] [Debug the program]

REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
Workaround:
Disable Hardware Data Execution Prevention, restart PC and then install JRE.

Comments
EVALUATION Closing as not reproducible
14-06-2012

EVALUATION Problems with ATL running in DEP environments have been reported in the plugin (ref see-also). I suspect the different SDKs we're using for 64bit are the reason we're not seeing this in the 64bit installer, as we're using the same ATL code in both 32 and 64bit installers. Is it possible for the user to add the JRE installer process to the DEP exclusion list for 6u29, and/or move to JDK7?
08-11-2011