JDK-5056714 : SWAT: Invoking Plugin crashes browser on Win 98 SE
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 5.0
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: x86
  • Submitted: 2004-06-03
  • Updated: 2004-07-26
  • Resolved: 2004-06-08
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.
Other
5.0 b55Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
OS - Win 98 SE
Browser - IE6, MZ1.4
Build tested - Tiger b-54 SWAT build at -
/net/mizu.sfbay/usr/re/jdk6/jdk1.5.0/bundles/windows-i586/b54-2004-06-02

Invoking Java Plugin-in on Windows 98 SE crashed the browser. 

It worked fine on Windows XP Home and Win 2000 Pro. 

To reproduce, please install JRE/JDK 1.5.0 b-54 (SWAT build on 06-02-2004) on Win 98 SE machine. Invoke the Internet Explorer or Mozilla1.4 browser and try to run the following applet -

http://sqeweb/st1/plugin-home/tiger/mimetypes/pluginhtml-default/Default_MimeType_150.html

The browser crashes with a core dump. Below is the error log -

----------------------------------------------------------------------
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x032cda04, pid=-506577, tid=4294394567
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0-beta3-b54 mixed mode)
# Problematic frame:
# j  java.net.HttpURLConnection.getHeaderFieldDate(Ljava/lang/String;J)J+9
#

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

Current thread (0x006d2a20):  JavaThread "Thread-4" [_thread_in_Java, id=-572729]

siginfo: ExceptionCode=0xc0000005, reading address 0xffffffff

Registers:
EAX=0x04000000, EBX=0x1601a550, ECX=0x00000000, EDX=0x7c800001
ESP=0x0627f354, EBP=0x0627f378, ESI=0x1672dfa9, EDI=0x0627f394
EIP=0x032cda04, EFLAGS=0x00010206

Top of Stack: (sp=0x0627f354)
0x0627f354:   032c29fa 00000000 0627f35c 1672dfa9
0x0627f364:   0627f394 1672eb90 00000000 1672dfd8
0x0627f374:   0627f388 0627f3b4 032c29a4 00000000
0x0627f384:   00000000 00000000 00000000 16747bc8
0x0627f394:   100607f0 0627f398 163c3e74 0627f3bc
0x0627f3a4:   163c6150 00000000 163c3e78 0627f3bc
0x0627f3b4:   0627f3e0 032c29a4 100607f0 10060508
0x0627f3c4:   0627f3c4 16746bcd 0627f3f0 16747558 

Instructions: (pc=0x032cda04)
0x032cd9f4:   75 e8 8b c2 81 e0 00 00 00 04 0f 84 05 00 00 00
0x032cda04:   3b 01 ff 63 30 8b 41 04 8b 9c 98 08 01 00 00 8b 


Stack: [0x06230000,0x06290000),  sp=0x0627f354,  free space=316k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
j  java.net.HttpURLConnection.getHeaderFieldDate(Ljava/lang/String;J)J+9
j  java.net.URLConnection.getExpiration()J+4
j  sun.plugin.cache.CachedFileLoader.download()Z+93
j  sun.plugin.cache.CachedFileLoader.load()Lsun/plugin/cache/CachedFile;+26
j  sun.plugin.cache.FileCache.get(Ljava/net/URL;)Lsun/plugin/cache/CachedFile;+52
j  sun.plugin.cache.PluginCacheHandler.get(Ljava/net/URI;Ljava/lang/String;Ljava/util/Map;)Ljava/net/CacheResponse;+19
j  sun.net.www.protocol.http.HttpURLConnection.plainConnect()V+54
j  sun.net.www.protocol.http.HttpURLConnection.connect()V+1
j  sun.net.www.protocol.http.HttpURLConnection.getInputStream()Ljava/io/InputStream;+124
j  java.net.HttpURLConnection.getResponseCode()I+16
j  sun.applet.AppletClassLoader.getBytes(Ljava/net/URL;)[B+18
j  sun.applet.AppletClassLoader.access$100(Ljava/net/URL;)[B+1
j  sun.applet.AppletClassLoader$1.run()Ljava/lang/Object;+18
v  ~StubRoutines::call_stub
V  [JVM.DLL+0x815f0]
V  [JVM.DLL+0xd4114]
V  [JVM.DLL+0x814c1]
C  [JAVA.DLL+0x1061]
j  sun.applet.AppletClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;+91
j  java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;+43
j  sun.applet.AppletClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;+36
j  java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;+3
j  sun.applet.AppletClassLoader.loadCode(Ljava/lang/String;)Ljava/lang/Class;+105
j  sun.applet.AppletPanel.createApplet(Lsun/applet/AppletClassLoader;)Ljava/applet/Applet;+83
j  sun.plugin.AppletViewer.createApplet(Lsun/applet/AppletClassLoader;)Ljava/applet/Applet;+9
j  sun.applet.AppletPanel.runLoader()V+61
j  sun.applet.AppletPanel.run()V+13
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
V  [JVM.DLL+0x815f0]
V  [JVM.DLL+0xd4114]
V  [JVM.DLL+0x814c1]
V  [JVM.DLL+0x8121e]
V  [JVM.DLL+0x9bd05]
V  [JVM.DLL+0xfe4c9]
V  [JVM.DLL+0xfe497]
C  [MSVCRT.DLL+0x265a]
C  [KERNEL32.DLL+0x18f20]
C  [KERNEL32.DLL+0x169ef]


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

Java Threads: ( => current thread )
=>0x006d2a20 JavaThread "Thread-4" [_thread_in_Java, id=-572729]
  0x006d2530 JavaThread "Thread-3" [_thread_blocked, id=-571409]
  0x006d2100 JavaThread "thread applet-MimeTypes.class" [_thread_blocked, id=-573357]
  0x006d0100 JavaThread "TimerQueue" daemon [_thread_blocked, id=-559869]
  0x006c0cc0 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=-561729]
  0x006c06a0 JavaThread "ConsoleWriterThread" daemon [_thread_blocked, id=-561445]
  0x006bdcb0 JavaThread "AWT-EventQueue-1" [_thread_blocked, id=-562385]
  0x006bc720 JavaThread "traceMsgQueueThread" [_thread_blocked, id=-582345]
  0x006ba590 JavaThread "AWT-Windows" daemon [_thread_in_native, id=-584329]
  0x006ba100 JavaThread "AWT-Shutdown" [_thread_blocked, id=-583685]
  0x006b93a0 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=-585617]
  0x006b2b70 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=-574033]
  0x006b2100 JavaThread "CompilerThread0" daemon [_thread_blocked, id=-573933]
  0x006b1aa0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=-575353]
  0x006b09d0 JavaThread "Finalizer" daemon [_thread_blocked, id=-575909]
  0x006cf670 JavaThread "Reference Handler" daemon [_thread_blocked, id=-577329]
  0x006c7350 JavaThread "main" [_thread_in_native, id=-432101]

Other Threads:
  0x006cee00 VMThread [id=-578253]
  0x006b4540 WatcherThread [id=-588997]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 576K, used 452K [0x10010000, 0x100b0000, 0x10770000)
  eden space 512K,  75% used [0x10010000, 0x100713e0, 0x10090000)
  from space 64K, 100% used [0x100a0000, 0x100b0000, 0x100b0000)
  to   space 64K,   0% used [0x10090000, 0x10090000, 0x100a0000)
 tenured generation   total 1408K, used 637K [0x10770000, 0x108d0000, 0x16010000)
   the space 1408K,  45% used [0x10770000, 0x1080f7d0, 0x1080f800, 0x108d0000)
 compacting perm gen  total 8192K, used 7576K [0x16010000, 0x16810000, 0x1a010000)
   the space 8192K,  92% used [0x16010000, 0x167761d8, 0x16776200, 0x16810000)
No shared spaces configured.

Dynamic libraries:
0x6d4d0000 - 0x6d4d9000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\NIO.DLL
0x6d4b0000 - 0x6d4c3000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\NET.DLL
0x6d3d0000 - 0x6d3e4000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\JPICOM32.DLL
0x6d5c0000 - 0x6d5dd000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\REGUTILS.DLL
0x6d1f0000 - 0x6d203000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\DEPLOY.DLL
0x5cf00000 - 0x5cf5e000 	C:\WINDOWS\SYSTEM\CRYPT32.DLL
0x79e00000 - 0x79e25000 	C:\WINDOWS\SYSTEM\MSOSS.DLL
0x6d240000 - 0x6d27d000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\FONTMANAGER.DLL
0x7eac0000 - 0x7eb63000 	C:\WINDOWS\SYSTEM\D3DIM.DLL
0xbaaa0000 - 0xbaaed000 	C:\WINDOWS\SYSTEM\DDRAW.DLL
0xbfee0000 - 0xbfee5000 	C:\WINDOWS\SYSTEM\NTDLL.DLL
0x6d000000 - 0x6d166000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\AWT.DLL
0x7f2d0000 - 0x7f30d000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\UNICOWS.DLL
0x7f690000 - 0x7f6a1000 	C:\WINDOWS\SYSTEM\AVICAP32.DLL
0x79630000 - 0x79654000 	C:\WINDOWS\SYSTEM\MSVFW32.DLL
0xbfde0000 - 0xbfde5000 	C:\WINDOWS\SYSTEM\WOW32.DLL
0x7e080000 - 0x7e086000 	C:\WINDOWS\SYSTEM\DCIMAN32.DLL
0x7fe50000 - 0x7fe76000 	C:\WINDOWS\SYSTEM\OLEDLG.DLL
0x7fc30000 - 0x7fc75000 	C:\WINDOWS\SYSTEM\MSVCRT20.DLL
0x7fe10000 - 0x7fe3d000 	C:\WINDOWS\SYSTEM\COMDLG32.DLL
0x6d620000 - 0x6d62f000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\ZIP.DLL
0x6d2f0000 - 0x6d30d000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\JAVA.DLL
0x6d600000 - 0x6d60c000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\VERIFY.DLL
0x6d280000 - 0x6d288000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\HPI.DLL
0x6d630000 - 0x6d7b4000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\CLIENT\JVM.DLL
0x6d440000 - 0x6d458000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\JPISHARE.DLL
0x6d3f0000 - 0x6d407000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\JPIEXP32.DLL
0x6d580000 - 0x6d591000 	C:\PROGRAM FILES\JAVA\JRE1.5.0\BIN\NPJPI150.DLL
0x5f300000 - 0x5f329000 	C:\WINDOWS\SYSTEM\OLEPRO32.DLL
0x70f10000 - 0x70f76000 	C:\WINDOWS\SYSTEM\MSHTMLED.DLL
0x10000000 - 0x1000b000 	C:\WINDOWS\SYSTEM\DISPEX.DLL
0x703b0000 - 0x703c6000 	C:\WINDOWS\SYSTEM\ACTXPRXY.DLL
0xbfdf0000 - 0xbfe00000 	C:\WINDOWS\SYSTEM\WINMM.DLL
0x7fbf0000 - 0x7fbfe000 	C:\WINDOWS\SYSTEM\MPR.DLL
0x70f90000 - 0x70fcc000 	C:\WINDOWS\SYSTEM\IEPEERS.DLL
0x7fe40000 - 0x7fe49000 	C:\WINDOWS\SYSTEM\WINSPOOL.DRV
0x6b600000 - 0x6b676000 	C:\WINDOWS\SYSTEM\VBSCRIPT.DLL
0x6b700000 - 0x6b790000 	C:\WINDOWS\SYSTEM\JSCRIPT.DLL
0xbfe20000 - 0xbfe24000 	C:\WINDOWS\SYSTEM\IMM32.DLL
0x7a410000 - 0x7a438000 	C:\WINDOWS\SYSTEM\MSLS31.DLL
0x70000000 - 0x702a4000 	C:\WINDOWS\SYSTEM\MSHTML.DLL
0x783c0000 - 0x783cf000 	C:\WINDOWS\SYSTEM\RNR20.DLL
0x7b410000 - 0x7b41b000 	C:\WINDOWS\SYSTEM\MSAFD.DLL
0x75fa0000 - 0x75faa000 	C:\WINDOWS\SYSTEM\WSOCK32.DLL
0x794d0000 - 0x794e5000 	C:\WINDOWS\SYSTEM\MSWSOCK.DLL
0x76000000 - 0x76012000 	C:\WINDOWS\SYSTEM\WS2_32.DLL
0x75fe0000 - 0x75fe6000 	C:\WINDOWS\SYSTEM\WS2HELP.DLL
0x70420000 - 0x704a8000 	C:\WINDOWS\SYSTEM\MLANG.DLL
0x71810000 - 0x71872000 	C:\WINDOWS\SYSTEM\SHDOCLC.DLL
0x1a400000 - 0x1a473000 	C:\WINDOWS\SYSTEM\URLMON.DLL
0x792f0000 - 0x79301000 	C:\WINDOWS\SYSTEM\MYDOCS.DLL
0x0bde0000 - 0x0bfcc000 	C:\WINDOWS\SYSTEM\MSI.DLL
0x79e60000 - 0x79ee5000 	C:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\WEB FOLDERS\MSONSEXT.DLL
0xbfe70000 - 0xbfe76000 	C:\WINDOWS\SYSTEM\VERSION.DLL
0x65340000 - 0x653d2000 	C:\WINDOWS\SYSTEM\OLEAUT32.DLL
0x718d0000 - 0x718d8000 	C:\WINDOWS\SYSTEM\SHFOLDER.DLL
0x63000000 - 0x63079000 	C:\WINDOWS\SYSTEM\WININET.DLL
0x7f960000 - 0x7f97e000 	C:\WINDOWS\SYSTEM\TAPI32.DLL
0x7fb90000 - 0x7fbe2000 	C:\WINDOWS\SYSTEM\RPCRT4.DLL
0x71890000 - 0x7189b000 	C:\WINDOWS\SYSTEM\BROWSELC.DLL
0x71110000 - 0x711d9000 	C:\WINDOWS\SYSTEM\BROWSEUI.DLL
0x7ff20000 - 0x7ffe1000 	C:\WINDOWS\SYSTEM\OLE32.DLL
0x71500000 - 0x7161c000 	C:\WINDOWS\SYSTEM\SHDOCVW.DLL
0x66800000 - 0x66955000 	C:\WINDOWS\SYSTEM\SHELL32.DLL
0xbfb70000 - 0xbfbfe000 	C:\WINDOWS\SYSTEM\COMCTL32.DLL
0x78000000 - 0x78040000 	C:\WINDOWS\SYSTEM\MSVCRT.DLL
0x00400000 - 0x00412000 	C:\PROGRAM FILES\INTERNET EXPLORER\IEXPLORE.EXE
0x70bd0000 - 0x70c1c000 	C:\WINDOWS\SYSTEM\SHLWAPI.DLL
0xbff50000 - 0xbff61000 	C:\WINDOWS\SYSTEM\USER32.DLL
0xbff20000 - 0xbff46000 	C:\WINDOWS\SYSTEM\GDI32.DLL
0xbfe80000 - 0xbfe90000 	C:\WINDOWS\SYSTEM\ADVAPI32.DLL
0xbff70000 - 0xbffe3000 	C:\WINDOWS\SYSTEM\KERNEL32.DLL

VM Arguments:
jvm_args: -Xbootclasspath/a:C:\PROGRA~1\JAVA\JRE15~1.0\lib\deploy.jar;C:\PROGRA~1\JAVA\JRE15~1.0\lib\plugin.jar -Xmx96m -Djavaplugin.maxHeapSize=96m -Xverify:remote -Djavaplugin.version=1.5.0 -Djavaplugin.nodotversion=150 -Dbrowser=sun.plugin -DtrustProxy=true -Dapplication.home=C:\PROGRA~1\JAVA\JRE15~1.0 -Djava.protocol.handler.pkgs=sun.plugin.net.protocol -Djavaplugin.vm.options=-Djava.class.path=C:\PROGRA~1\JAVA\JRE15~1.0\classes -Xbootclasspath/a:C:\PROGRA~1\JAVA\JRE15~1.0\lib\deploy.jar;C:\PROGRA~1\JAVA\JRE15~1.0\lib\plugin.jar -Xmx96m -Djavaplugin.maxHeapSize=96m -Xverify:remote -Djavaplugin.version=1.5.0 -Djavaplugin.nodotversion=150 -Dbrowser=sun.plugin -DtrustProxy=true -Dapplication.home=C:\PROGRA~1\JAVA\JRE15~1.0 -Djava.protocol.handler.pkgs=sun.plugin.net.protocol  vfprintf
java_command: <unknown>

Environment Variables:
PATH=C:\PROGRA~1\JAVA\JRE15~1.0\bin;C:\PROGRA~1\INTERN~1\;;C:\MKS\MKSNT;C:\WINDOWS;C:\WINDOWS\COMMAND;;.
SHELL=C:/MKS/mksnt/sh.exe


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

OS: Windows 98 Build 67766446  A 

CPU:total 1 family 6, cmov, cx8, fxsr, mmx, sse

Memory: 4k page, physical 261260k(36k free), swap 207200k(124784k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0-beta3-b54) for windows-x86, built on Jun  2 2004 02:20:13 by "java_re" with MS VC++ 6.0


---------------------------------------------------------------------
###@###.### 2004-06-03

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger-rc FIXED IN: tiger-rc INTEGRATED IN: tiger-b55 tiger-b56 tiger-rc VERIFIED IN: tiger-rc
13-09-2004

EVALUATION The problem is java.net.HttpURLConnection.getHeaderFieldDate calls getHeaderField which returns null dateString. The code does not check whether the returned value is null or not before using it. This is why it crashes. I put the checking logic there and it works fine. Before b54, the same code gets executed and the dateString returned is also null, but due to some unknown reason, it does not crash. Also in Windows XP, I did not see the crash either even the same code gets executed. Nothing can be done in Plug-in code, reassign it to networking team. ###@###.### 2004-06-03 When getHeaderField returns null for dateString. Date.parse(dateString) would throw an IllegalArgumentException, which got caught in getHeaderFieldDate() and a default value is returned. The only change made in Date class recently is to generify it. I am not clear what the root cause of the crash is. ###@###.### 2004-06-03 Issue occurs when: 9: invokevirtual #278; //Method java/lang/String.trim:()Ljava/lang/String ; is called on a null object. This should generate a NPE, not a VM crash. String foo = null; foo.trim(); Yingxian reports that Xiaobin was able to duplicate the issue by taking all of the network code out, so it's not a network code problem. ###@###.### 2004-06-04 There is more information about possible machine setup problems, you might talk to Xiaobin about more of the specifics. ###@###.### 2004-06-04 ###@###.### helped me get a small and reproducible test case which unfortunately only failed in the plug-in, but to make a long story short this bug was caused by the fix for 5023643. See the comments. ###@###.### 2004-06-04
04-06-2004