JDK-6532730 : VM crash from javaws in MSCredentialManager.getLoginUID on 64-bit windows
  • Type: Bug
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 6
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_2003
  • CPU: x86
  • Submitted: 2007-03-09
  • Updated: 2012-01-11
  • Resolved: 2008-05-22
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.
6u10 b12Fixed 7Fixed
javaws will consistently crash when launched by an unprivileged user on AMD 64-bit Windows Server 2003 SP1.  The folowing command using the webpad.jnlp file from a local copy of the jdk sample directory will generate an access violation:

  $ javaws webpad.jnlp

The crash appears to occur extremely early during startup.  The crash is reproducible regardless of which .jnlp file is used (even a non-existent one).  It does not occur if the the user is a local administrator on the machine.  The crash also does not occur in jdk1.5.0_09/64-bit Windows 2003 or jdk1.6.0-b105/32-bit Windows XP regardless of privilege.

# An unexpected error has been detected by Java Runtime Environment:
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7d8e6201, pid=3380,
# Java VM: Java HotSpot(TM) Client VM (1.6.0-b105 mixed mode, sharing)
# Problematic frame:
# C  [Secur32.dll+0x16201]
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp

---------------  T H R E A D  ---------------

Current thread (0x03dfa800):  JavaThread "Java Web Start Main Thread"
[_thread_in_native, id=5044]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000000

EAX=0x00000000, EBX=0x0455f164, ECX=0x00000016, EDX=0x00000000
ESP=0x0455eef8, EBP=0x0455f158, ESI=0x00000000, EDI=0x0455f0f8
EIP=0x7d8e6201, EFLAGS=0x00010246

Top of Stack: (sp=0x0455eef8)
0x0455eef8:   77f657f7 00000000 00500028 00000002
0x0455ef08:   00000d34 00000000 000013b4 00000000
0x0455ef18:   0000e898 00000000 00000000 00000000
0x0455ef28:   00000021 c0000022 00000001 00000000
0x0455ef38:   00000000 00000000 000ece0c 00000000
0x0455ef48:   00000000 00000000 00000000 00000000
0x0455ef58:   00000000 00000000 00000000 00000000
0x0455ef68:   00000000 00000000 00000000 00000000

Instructions: (pc=0x7d8e6201)
0x7d8e61f1:   00 00 8b 85 f0 fd ff ff 6a 16 8b f0 59 8d 7d a0
0x7d8e6201:   f3 a5 8b 4d a4 89 48 04 8b 4d a8 89 48 08 66 8b

Stack: [0x04510000,0x04560000),  sp=0x0455eef8,  free space=315k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native
C  [Secur32.dll+0x16201]
C  [Secur32.dll+0x19de4]
C  [deploy.dll+0x29e3]
j  com.sun.deploy.security.MSCredentialManager.getLoginUID()J+0
j  com.sun.deploy.security.MSCredentialManager.<clinit>()V+65
v  ~StubRoutines::call_stub
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.sun.deploy.security.MSCredentialManager.getLoginUID()J+0
j  com.sun.deploy.security.MSCredentialManager.<clinit>()V+65
v  ~StubRoutines::call_stub
j  com.sun.deploy.security.DeployAuthenticator.<init>()V+40
j  com.sun.javaws.JAuthenticator.<init>()V+1
j  com.sun.javaws.Main.initializeExecutionEnvironment()V+200
j  com.sun.javaws.Main.continueInSecureThread([Ljava/lang/String;)V+160
j  com.sun.javaws.Main$1.run()V+16
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x03e42800 JavaThread "CacheCleanUpThread" daemon [_thread_blocked,
  0x03e41000 JavaThread "Image Fetcher 1" daemon [_thread_in_vm, id=3904]
  0x03e45c00 JavaThread "Image Fetcher 0" daemon [_thread_in_vm, id=4532]
  0x03e07c00 JavaThread "traceMsgQueueThread" daemon [_thread_blocked,
  0x00397c00 JavaThread "DestroyJavaVM" [_thread_blocked, id=4576]
=>0x03dfa800 JavaThread "Java Web Start Main Thread" [_thread_in_native,
  0x03dc5400 JavaThread "AWT-Windows" daemon [_thread_in_native, id=4540]
  0x03dc4400 JavaThread "AWT-Shutdown" [_thread_blocked, id=460]
  0x03dc3800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=2980]
  0x03dae800 JavaThread "Low Memory Detector" daemon [_thread_blocked,
  0x03da9800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=4984]
  0x03da8800 JavaThread "Attach Listener" daemon [_thread_blocked, id=4928]
  0x03da7800 JavaThread "Signal Dispatcher" daemon [_thread_blocked,
  0x03da3000 JavaThread "Finalizer" daemon [_thread_blocked, id=3724]
  0x03d9ec00 JavaThread "Reference Handler" daemon [_thread_blocked,

Other Threads:
  0x03d95800 VMThread [id=4968]
  0x03db0000 WatcherThread [id=3312]
VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

 def new generation   total 960K, used 468K [0x23cd0000, 0x23dd0000,
  eden space 896K,  45% used [0x23cd0000, 0x23d35080, 0x23db0000)
  from space 64K, 100% used [0x23dc0000, 0x23dd0000, 0x23dd0000)
  to   space 64K,   0% used [0x23db0000, 0x23db0000, 0x23dc0000)
 tenured generation   total 4096K, used 402K [0x241b0000, 0x245b0000,
   the space 4096K,   9% used [0x241b0000, 0x242148e0, 0x24214a00,
 compacting perm gen  total 12288K, used 789K [0x27cd0000, 0x288d0000,
   the space 12288K,   6% used [0x27cd0000, 0x27d955a0, 0x27d95600,
    ro space 8192K,  62% used [0x2bcd0000, 0x2c1cb9c8, 0x2c1cba00,
    rw space 12288K,  52% used [0x2c4d0000, 0x2cb0e348, 0x2cb0e400,

Dynamic libraries:
0x00400000 - 0x00423000  C:\Program Files (x86)\Java\jre1.6.0\bin\javaw.exe
0x7d600000 - 0x7d6f0000  C:\WINDOWS\system32\ntdll.dll
0x7d4c0000 - 0x7d5f0000  C:\WINDOWS\syswow64\kernel32.dll
0x77f50000 - 0x77fec000  C:\WINDOWS\syswow64\ADVAPI32.dll
0x7da20000 - 0x7db00000  C:\WINDOWS\syswow64\RPCRT4.dll
0x7d930000 - 0x7da00000  C:\WINDOWS\syswow64\USER32.dll
0x7d800000 - 0x7d890000  C:\WINDOWS\syswow64\GDI32.dll
0x7dee0000 - 0x7df40000  C:\WINDOWS\system32\IMM32.DLL
0x7dbc0000 - 0x7dbc9000  C:\WINDOWS\system32\LPK.DLL
0x75490000 - 0x754f1000  C:\WINDOWS\system32\USP10.dll
0x77ba0000 - 0x77bfa000  C:\WINDOWS\syswow64\msvcrt.dll
0x7c340000 - 0x7c396000  C:\Program Files
0x6d7c0000 - 0x6da07000  C:\Program Files
0x76aa0000 - 0x76acd000  C:\WINDOWS\system32\WINMM.dll
0x71bc0000 - 0x71bc8000  C:\WINDOWS\system32\rdpsnd.dll
0x771f0000 - 0x77201000  C:\WINDOWS\system32\WINSTA.dll
0x71c40000 - 0x71c98000  C:\WINDOWS\syswow64\NETAPI32.dll
0x76b70000 - 0x76b7b000  C:\WINDOWS\system32\PSAPI.DLL
0x6d310000 - 0x6d318000  C:\Program Files (x86)\Java\jre1.6.0\bin\hpi.dll
0x6d770000 - 0x6d77c000  C:\Program Files (x86)\Java\jre1.6.0\bin\verify.dll
0x6d3b0000 - 0x6d3cf000  C:\Program Files (x86)\Java\jre1.6.0\bin\java.dll
0x6d7b0000 - 0x6d7bf000  C:\Program Files (x86)\Java\jre1.6.0\bin\zip.dll
0x6d000000 - 0x6d1c3000  C:\Program Files (x86)\Java\jre1.6.0\bin\awt.dll
0x73070000 - 0x73097000  C:\WINDOWS\system32\WINSPOOL.DRV
0x77670000 - 0x777a4000  C:\WINDOWS\syswow64\ole32.dll
0x73860000 - 0x738ac000  C:\WINDOWS\system32\ddraw.dll
0x73b30000 - 0x73b36000  C:\WINDOWS\system32\DCIMAN32.dll
0x4b8d0000 - 0x4b921000  C:\WINDOWS\SysWOW64\MSCTF.dll
0x75e60000 - 0x75e87000  C:\WINDOWS\system32\apphelp.dll
0x4dc30000 - 0x4dc5e000  C:\WINDOWS\system32\msctfime.ime
0x6d250000 - 0x6d261000  C:\Program Files (x86)\Java\jre1.6.0\bin\deploy.dll
0x761b0000 - 0x76243000  C:\WINDOWS\syswow64\CRYPT32.dll
0x76190000 - 0x761a2000  C:\WINDOWS\syswow64\MSASN1.dll
0x7c8d0000 - 0x7d0d4000  C:\WINDOWS\syswow64\SHELL32.dll
0x045a0000 - 0x045f2000  C:\WINDOWS\syswow64\SHLWAPI.dll
0x04600000 - 0x0468c000  C:\WINDOWS\syswow64\OLEAUT32.dll
0x71720000 - 0x717ef000  C:\WINDOWS\syswow64\WININET.dll
0x04690000 - 0x04699000  C:\WINDOWS\syswow64\Normaliz.dll
0x6e850000 - 0x6e895000  C:\WINDOWS\syswow64\iertutil.dll
0x726d0000 - 0x727f4000  C:\WINDOWS\syswow64\urlmon.dll
0x7dbd0000 - 0x7dcd3000 C:\WINDOWS\WinSxS\WOW64_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.3790.2778_x-ww_3020900A\comctl32.dll
0x6d2b0000 - 0x6d303000  C:\Program Files
0x7d8d0000 - 0x7d920000  C:\WINDOWS\system32\Secur32.dll
0x71c00000 - 0x71c17000  C:\WINDOWS\system32\ws2_32.dll
0x71bf0000 - 0x71bf8000  C:\WINDOWS\system32\WS2HELP.dll
0x76e90000 - 0x76ecf000  C:\WINDOWS\system32\RASAPI32.dll
0x76e40000 - 0x76e52000  C:\WINDOWS\system32\rasman.dll
0x76e60000 - 0x76e8f000  C:\WINDOWS\system32\TAPI32.dll
0x76e30000 - 0x76e3c000  C:\WINDOWS\system32\rtutils.dll
0x76920000 - 0x769e4000  C:\WINDOWS\system32\USERENV.dll
0x722f0000 - 0x722f5000  C:\WINDOWS\system32\sensapi.dll
0x71e00000 - 0x71e14000  C:\WINDOWS\system32\msapsspc.dll
0x78080000 - 0x78091000  C:\WINDOWS\system32\MSVCRT40.dll
0x71e20000 - 0x71e70000  C:\WINDOWS\system32\msnsspc.dll
0x76c90000 - 0x76cb7000  C:\WINDOWS\SysWOW64\msv1_0.DLL
0x76cf0000 - 0x76d0a000  C:\WINDOWS\system32\iphlpapi.dll

VM Arguments:
jvm_args: -Xbootclasspath/a:C:\Program Files
(x86)\Java\jre1.6.0\lib\javaws.jar;C:\Program Files
(x86)\Java\jre1.6.0\lib\deploy.jar -Djava.security.policy=file:C:\Program
(x86)\Java\jre1.6.0\lib\security\javaws.policy -DtrustProxy=true -Xverify:remote
 -Djnlpx.home=C:\Program Files
(x86)\Java\jre1.6.0\bin -Djnlpx.remove=true -Djnlp.publish-url=$$context/publish
 -Djnlpx.splashport=2205 -Djnlpx.jvm="C:\Program Files
java_command: com.sun.javaws.Main C:\DOCUME~1\calvin\LOCALS~1\Temp\1\javaws5
Launcher Type: SUN_STANDARD

Environment Variables:
Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft
Platform SDK for Windows Server 2003 R2\Bin\.;C:\Program Files\Microsoft
Platform SDK for Windows Server 2003 R2\Bin\WinNT\.;C:\Program
Files\Microsoft Compute Cluster Pack\Bin\;C:\Program Files (x86)\Microsoft
SQL Server\80\Tools\Binn\;C:\Program Files\Microsoft SQL
Server\90\DTS\Binn\;C:\Program Files\Microsoft SQL
Files (x86)\Java\jre1.6.0\bin"
PROCESSOR_IDENTIFIER=AMD64 Family 15 Model 31 Stepping 0, AuthenticAMD

---------------  S Y S T E M  ---------------

OS: Windows Server 2003 family Build 3790 Service Pack 1

CPU:total 1 family 15, cmov, cx8, fxsr, mmx, sse, sse2, mmxext, 3dnowext,

Memory: 4k page, physical 2096516k(1286648k free), swap 4059272k(3098296k

vm_info: Java HotSpot(TM) Client VM (1.6.0-b105) for windows-x86, built on
Nov 29 2006 00:48:48 by "java_re" with unknown MS VC++:1310

EVALUATION A fix will be in 6u10 b12, I can't reproduce this bug in house, but has sent dll to customer to verify that the fix works.

EVALUATION I am unable to reproduce this bug in house. I have talked to the submitter, he said the issue may only happened when multi-user login to the machine. It looks like some Microsoft API has changed behavior in 64bit OS, our CredentialManager is depend on those API therefore there maybe issue for 64bit OS only. But I need have a reproduced testcase to go on.