We are observing a hotspot VM crash with EXCEPTION_ILLEGAL_INSTRUCTION. The dump generated by the VM is at the bottom of this Description section.
This crash occurs as a result of attempting to obtain random bits from a SecureRandom instance which has not been explicitly seeded.
In other words, the following sequence triggers the crash:
SecureRandom rng = new SecureRandom();
long seed = rng.nextLong();
If the code is modified to set a seed first, the crash is not observed. So the following sequence of events does NOT crash:
SecureRandom rng = new SecureRandom();
rng.setSeed(1L);
long seed = rng.nextLong();
(While our code used nextLong(), any retrieval of random bits will cause the crash as well, e.g. nextInt()).
While we have no information whether this is truly correlated, it is worth noting that this has only ever been observed on an AMD processor PC.
Furthermore, if the VM is run with -Xdebug option, the crash will not occur. So it seems there is an interaction between the hotspot compilation(??) and the secure random internal seeding, perhaps only on AMD processors(?) which triggers the fault.
Unfortunately I have not been able to come up with any small test case to demonstrate this behavior. If I take the above lines of code and wrap them in a main(), it will work just fine.
The above sequence of operations occurs during the server startup of the SunONE Application Server 7 and there is where this crash is observed. It may be that triggering the bug requires a large number of classes being loaded. The SecureRandom use in the AS7 occurs early in the startup process of the server.
The AS7 beta is available and could be used as a testcase to demonstrate this bug.
Unexpected Signal : EXCEPTION_ILLEGAL_INSTRUCTION occurred at PC=0x2D3A542
Function=run (compiled Java code)
Library=(N/A)
Current Java thread:
Dynamic libraries:
0x00400000 - 0x00406000 C:\Sun\AppServer7\appserv\bin\appservd.exe
0x77F80000 - 0x77FFB000 C:\WINNT\System32\ntdll.dll
0x10000000 - 0x100EB000 C:\Sun\AppServer7\appserv\bin\ns-httpd40.dll
0x00230000 - 0x0024A000 C:\Sun\AppServer7\appserv\bin\ssl3.dll
0x00250000 - 0x002C7000 C:\Sun\AppServer7\appserv\bin\nss3.dll
0x30000000 - 0x30007000 C:\Sun\AppServer7\appserv\bin\libplc4.dll
0x002D0000 - 0x002FE000 C:\Sun\AppServer7\appserv\bin\libnspr4.dll
0x77DB0000 - 0x77E0C000 C:\WINNT\system32\ADVAPI32.dll
0x77E80000 - 0x77F35000 C:\WINNT\system32\KERNEL32.DLL
0x77D40000 - 0x77DB0000 C:\WINNT\system32\RPCRT4.DLL
0x75050000 - 0x75058000 C:\WINNT\system32\WSOCK32.dll
0x75030000 - 0x75043000 C:\WINNT\system32\WS2_32.DLL
0x78000000 - 0x78046000 C:\WINNT\system32\MSVCRT.DLL
0x75020000 - 0x75028000 C:\WINNT\system32\WS2HELP.DLL
0x74FF0000 - 0x75002000 C:\WINNT\system32\MSWSOCK.dll
0x77E10000 - 0x77E74000 C:\WINNT\system32\USER32.DLL
0x77F40000 - 0x77F7C000 C:\WINNT\system32\GDI32.DLL
0x77980000 - 0x779A4000 C:\WINNT\system32\DNSAPI.DLL
0x00300000 - 0x00306000 C:\Sun\AppServer7\appserv\bin\libplds4.dll
0x00310000 - 0x00318000 C:\Sun\AppServer7\appserv\bin\nsfc.dll
0x00320000 - 0x00326000 C:\Sun\AppServer7\appserv\bin\nstime.dll
0x00330000 - 0x0033A000 C:\Sun\AppServer7\appserv\bin\nsprwrap.dll
0x00340000 - 0x0034C000 C:\Sun\AppServer7\appserv\bin\support.dll
0x00350000 - 0x00355000 C:\Sun\AppServer7\appserv\bin\nstp.dll
0x00360000 - 0x00365000 C:\Sun\AppServer7\appserv\bin\getprop.dll
0x00370000 - 0x00385000 C:\Sun\AppServer7\appserv\bin\libsi18n.dll
0x00390000 - 0x0039A000 C:\Sun\AppServer7\appserv\bin\libdbm.dll
0x003A0000 - 0x003A5000 C:\Sun\AppServer7\appserv\bin\ares3.dll
0x782F0000 - 0x7852F000 C:\WINNT\system32\SHELL32.dll
0x70BD0000 - 0x70C1C000 C:\WINNT\system32\SHLWAPI.dll
0x716F0000 - 0x7177A000 C:\WINNT\system32\COMCTL32.dll
0x003B0000 - 0x003B8000 C:\Sun\AppServer7\appserv\bin\NSSLDAP32V50.dll
0x003C0000 - 0x003C6000 C:\Sun\AppServer7\appserv\bin\NSLDAPPR32V50.dll
0x003D0000 - 0x003F5000 C:\Sun\AppServer7\appserv\bin\NSLDAP32V50.dll
0x00410000 - 0x004A1000 C:\Sun\AppServer7\appserv\bin\xerces-c.dll
0x004B0000 - 0x004C1000 C:\Sun\AppServer7\appserv\bin\nsres3231.dll
0x004D0000 - 0x004EC000 C:\Sun\AppServer7\appserv\bin\nsuni3231.dll
0x004F0000 - 0x00500000 C:\Sun\AppServer7\appserv\bin\nscnv3231.dll
0x780A0000 - 0x780B2000 C:\Sun\AppServer7\appserv\bin\MSVCIRT.dll
0x00500000 - 0x00521000 C:\Sun\AppServer7\appserv\bin\nsfmt3231.dll
0x75E60000 - 0x75E7A000 C:\WINNT\System32\IMM32.DLL
0x785C0000 - 0x785CC000 C:\WINNT\System32\rnr20.dll
0x77340000 - 0x77353000 C:\WINNT\system32\iphlpapi.dll
0x77520000 - 0x77525000 C:\WINNT\system32\ICMP.DLL
0x77320000 - 0x77337000 C:\WINNT\system32\MPRAPI.DLL
0x75150000 - 0x75160000 C:\WINNT\system32\SAMLIB.DLL
0x75170000 - 0x751BF000 C:\WINNT\system32\NETAPI32.DLL
0x77BE0000 - 0x77BEF000 C:\WINNT\system32\SECUR32.DLL
0x751C0000 - 0x751C6000 C:\WINNT\system32\NETRAP.DLL
0x77950000 - 0x7797A000 C:\WINNT\system32\WLDAP32.DLL
0x77A50000 - 0x77B46000 C:\WINNT\system32\OLE32.DLL
0x779B0000 - 0x77A4B000 C:\WINNT\system32\OLEAUT32.DLL
0x773B0000 - 0x773DE000 C:\WINNT\system32\ACTIVEDS.DLL
0x77380000 - 0x773A2000 C:\WINNT\system32\ADSLDPC.DLL
0x77830000 - 0x7783E000 C:\WINNT\system32\RTUTILS.DLL
0x77880000 - 0x7790D000 C:\WINNT\system32\SETUPAPI.DLL
0x77C10000 - 0x77C6E000 C:\WINNT\system32\USERENV.DLL
0x774E0000 - 0x77512000 C:\WINNT\system32\RASAPI32.DLL
0x774C0000 - 0x774D1000 C:\WINNT\system32\rasman.dll
0x77530000 - 0x77552000 C:\WINNT\system32\TAPI32.dll
0x77360000 - 0x77379000 C:\WINNT\system32\DHCPCSVC.DLL
0x775A0000 - 0x77625000 C:\WINNT\system32\CLBCATQ.DLL
0x777E0000 - 0x777E8000 C:\WINNT\System32\winrnr.dll
0x777F0000 - 0x777F5000 C:\WINNT\system32\rasadhlp.dll
0x01AC0000 - 0x01ACF000 C:\Sun\AppServer7\appserv\bin\j2eeplugin.dll
0x6D450000 - 0x6D6AD000 C:\Sun\AppServer7\jdk\jre\bin\server\jvm.dll
0x77570000 - 0x775A0000 C:\WINNT\System32\WINMM.dll
0x681A0000 - 0x681A7000 C:\WINNT\System32\serwvdrv.dll
0x66740000 - 0x66747000 C:\WINNT\System32\umdmxfrm.dll
0x74FD0000 - 0x74FEF000 C:\WINNT\system32\msafd.dll
0x75010000 - 0x75017000 C:\WINNT\System32\wshtcpip.dll
0x6D1D0000 - 0x6D1D7000 C:\Sun\AppServer7\jdk\jre\bin\hpi.dll
0x6D300000 - 0x6D30D000 C:\Sun\AppServer7\jdk\jre\bin\verify.dll
0x6D210000 - 0x6D228000 C:\Sun\AppServer7\jdk\jre\bin\java.dll
0x6D320000 - 0x6D32D000 C:\Sun\AppServer7\jdk\jre\bin\zip.dll
0x6D2D0000 - 0x6D2DD000 C:\Sun\AppServer7\jdk\jre\bin\net.dll
0x77920000 - 0x77943000 C:\WINNT\system32\imagehlp.dll
0x72A00000 - 0x72A2D000 C:\WINNT\system32\DBGHELP.dll
0x731B0000 - 0x731BA000 C:\Sun\AppServer7\appserv\bin\PSAPI.DLL
Local Time = Wed Jun 26 20:49:48 2002
Elapsed Time = 23
#
# HotSpot Virtual Machine Error : EXCEPTION_ILLEGAL_INSTRUCTION
# Error ID : 4F530E43505002D5
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Java VM: Java HotSpot(TM) Server VM (1.4.0_01-b03 mixed mode)
#
###@###.### 2002-06-27
--
- duplicates
-
JDK-4697159 Java2Demo crash on pentium machine
-
- Closed
-
- relates to
-
JDK-4709878 SecureRandom seeding hangs on S8 with /dev/random
-
- Closed
-