JDK-6697256 : MultiJRE : 1.4.2_17 applets not loading in the same browser session, with 6u10 installed
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u10
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows,windows_xp
  • CPU: generic,x86
  • Submitted: 2008-05-02
  • Updated: 2014-02-06
  • Resolved: 2008-06-25
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 6
6u10 b26Fixed
Related Reports
Duplicate :  
Relates :  
Description
Description: 1.4.2_17 applets are not loading with 6u10 installed on the machine, in the same browser session

Configuration tested - Win XP Pro / IE 7
build tested - 6u10 b23 promoted build from the following location
/net/koori/onestop/jdk/6u10/promoted/beta/b23/bundles/windows-i586

Steps to reproduce:

Install 1.4.2_17
Install 1.5.0_16
Install 6u10 b23

Invoke the following applet -
http://sqeweb/deployment2/jitu/deployment_mustang_exec_ws/deployment/src/plugin/MultiJRE/MultiJRE/html/JREMultiFamilyTest.html

1.4.2 applets are not loaded. If the browser is reloaded, or with a page switch, the following exception is thrown:
java.lang.IllegalStateException: Applet's parent container not set up
	at sun.plugin2.applet.Plugin2Manager.start(Unknown Source)
	at sun.plugin2.main.client.PluginMain$StartAppletRunner.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.NullPointerException: disposed component
	at sun.awt.windows.Win32SurfaceData.initOps(Native Method)
	at sun.awt.windows.Win32SurfaceData.<init>(Unknown Source)
	at sun.awt.windows.Win32SurfaceData.create

Data(Unknown Source)
	at sun.awt.windows.WComponentPeer.<init>(Unknown Source)
	at sun.awt.windows.WCanvasPeer.<init>(Unknown Source)
	at sun.awt.windows.WPanelPeer.<init>(Unknown Source)
	at sun.awt.windows.WWindowPeer.<init>(Unknown Source)
	at sun.awt.windows.WFramePeer.<init>(Unknown Source)
	at sun.awt.windows.WEmbeddedFramePeer.<init>(Unknown Source)
	at sun.awt.windows.WToolkit.createEmbeddedFrame(Unknown Source)
	at sun.awt.windows.WEmbeddedFrame.<init>(Unknown Source)
	at sun.plugin2.main.client.PluginEmbeddedFrame.<init>(Unknown Source)
	at sun.plugin2.main.client.PluginMain$StartAppletRunner.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
PluginMain: could not create embedded frame
java.lang.NullPointerException: null pData
	at sun.awt.windows.WComponentPeer._requestFocus(Native Method)
	at sun.awt.windows.WComponentPeer.requestFocus(Unknown Source)
	at java.awt.Component.requestFocusHelper(Unknown Source)
	at java.awt.Component.requestFocusInWindow(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.SequencedEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)


The browser also hangs at times. Here is the stach trace when there is a browser hang :
2008-05-02 16:00:23
Full thread dump Java HotSpot(TM) Client VM (11.0-b11 mixed mode, sharing):

"thread applet-MimeTypes.class-8" prio=4 tid=0x02ee6800 nid=0x13f0 in Object.wait() [0x0335f000..0x0335fc94]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	- locked <0x229a6508> (a java.lang.Object)
	at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"AWT-EventQueue-6" prio=4 tid=0x03049c00 nid=0xadc in Object.wait() [0x0380f000..0x0380fd94]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at java.awt.EventQueue.getNextEvent(Unknown Source)
	- locked <0x229b5480> (a java.awt.EventQueue)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"Applet 18 LiveConnect Worker Thread" prio=4 tid=0x03940400 nid=0x944 in Object.wait() [0x0376f000..0x0376fd14]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker.run(Unknown Source)
	- locked <0x229b39e8> (a java.lang.Object)
	at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"TimerQueue" daemon prio=6 tid=0x039a4000 nid=0x588 in Object.wait() [0x0439f000..0x0439fb14]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x22fef5a8> (a javax.swing.TimerQueue)
	at javax.swing.TimerQueue.run(Unknown Source)
	- locked <0x22fef5a8> (a javax.swing.TimerQueue)
	at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"Windows Tray Icon Thread" prio=6 tid=0x03944400 nid=0x105c runnable [0x0420f000..0x0420fc94]
   java.lang.Thread.State: RUNNABLE
	at com.sun.deploy.ui.WindowsJavaTrayIcon.mainLoop(Native Method)
	at com.sun.deploy.ui.WindowsJavaTrayIcon.access$700(Unknown Source)
	at com.sun.deploy.ui.WindowsJavaTrayIcon$2.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"ConsoleWriterThread" daemon prio=6 tid=0x03972000 nid=0xed4 in Object.wait() [0x0416f000..0x0416fd14]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at com.sun.deploy.util.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)
	- locked <0x22ed5728> (a java.lang.Object)

   Locked ownable synchronizers:
	- None

"Browser Side Object Cleanup Thread" prio=6 tid=0x02f14c00 nid=0x1128 in Object.wait() [0x0371f000..0x0371fb94]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x22ed5e08> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	- locked <0x22ed5e08> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	at sun.plugin2.main.client.LiveConnectSupport$BrowserSideObjectCleanupThread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"AWT-EventQueue-1" prio=6 tid=0x02f07400 nid=0x1784 in Object.wait() [0x0352f000..0x0352fc14]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at java.awt.EventQueue.getNextEvent(Unknown Source)
	- locked <0x22e782b8> (a java.awt.EventQueue)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"CacheCleanUpThread" daemon prio=6 tid=0x02f00c00 nid=0x8f4 in Object.wait() [0x0349f000..0x0349fc94]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x22ed6070> (a com.sun.deploy.cache.CleanupThread)
	at java.lang.Object.wait(Object.java:485)
	at com.sun.deploy.cache.CleanupThread.run(Unknown Source)
	- locked <0x22ed6070> (a com.sun.deploy.cache.CleanupThread)

   Locked ownable synchronizers:
	- None

"CacheMemoryCleanUpThread" prio=6 tid=0x02f12c00 nid=0xfc8 in Object.wait() [0x0344f000..0x0344fd14]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x22e78358> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	- locked <0x22e78358> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"Java Plug-In Heartbeat Thread" prio=6 tid=0x02b0e400 nid=0xb68 waiting on condition [0x033ff000..0x033ffb14]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at sun.plugin2.main.client.PluginMain$HeartbeatThread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"AWT-EventQueue-0" prio=6 tid=0x02ee8000 nid=0x126c in Object.wait() [0x033af000..0x033afb94]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x22e78508> (a java.awt.EventQueue)
	at java.lang.Object.wait(Object.java:485)
	at java.awt.EventQueue.getNextEvent(Unknown Source)
	- locked <0x22e78508> (a java.awt.EventQueue)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"AWT-Windows" daemon prio=6 tid=0x02ee5000 nid=0xd90 runnable [0x032bf000..0x032bfc94]
   java.lang.Thread.State: RUNNABLE
	at sun.awt.windows.WToolkit.eventLoop(Native Method)
	at sun.awt.windows.WToolkit.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"AWT-Shutdown" prio=6 tid=0x02ee3800 nid=0x10f4 in Object.wait() [0x0326f000..0x0326fd14]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at sun.awt.AWTAutoShutdown.run(Unknown Source)
	- locked <0x22e78630> (a java.lang.Object)
	at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"Java2D Disposer" daemon prio=10 tid=0x02ee2800 nid=0x838 in Object.wait() [0x0321f000..0x0321fd94]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	- locked <0x22e786c0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	at sun.java2d.Disposer.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"Java Plug-In Pipe Worker Thread (Client-Side)" prio=6 tid=0x02b14c00 nid=0x13dc runnable [0x0317f000..0x0317fa14]
   java.lang.Thread.State: RUNNABLE
	at sun.plugin2.os.windows.Windows.ReadFile0(Native Method)
	at sun.plugin2.os.windows.Windows.ReadFile(Unknown Source)
	at sun.plugin2.ipc.windows.WindowsNamedPipe.read(Unknown Source)
	at sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.read(Unknown Source)
	at sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.readByte(Unknown Source)
	at sun.plugin2.message.AbstractSerializer.readInt(Unknown Source)
	at sun.plugin2.message.transport.SerializingTransport.read(Unknown Source)
	at sun.plugin2.message.Pipe$WorkerThread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"traceMsgQueueThread" daemon prio=6 tid=0x02b0c400 nid=0x1740 in Object.wait() [0x030df000..0x030dfb14]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source)
	- locked <0x22e7a970> (a java.util.ArrayList)
	at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"Timer-0" prio=6 tid=0x02ada000 nid=0x1400 in Object.wait() [0x02e6f000..0x02e6fb94]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x22e78900> (a java.util.TaskQueue)
	at java.lang.Object.wait(Object.java:485)
	at java.util.TimerThread.mainLoop(Unknown Source)
	- locked <0x22e78900> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"Low Memory Detector" daemon prio=6 tid=0x02a62000 nid=0x7e8 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"CompilerThread0" daemon prio=10 tid=0x02a5c800 nid=0x864 waiting on condition [0x00000000..0x02d0f940]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Attach Listener" daemon prio=10 tid=0x02a5a000 nid=0x1bc waiting on condition [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Signal Dispatcher" daemon prio=10 tid=0x02a58c00 nid=0xae0 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Finalizer" daemon prio=8 tid=0x02a54000 nid=0x10d4 in Object.wait() [0x02c1f000..0x02c1fa94]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	- locked <0x22e78b18> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"Reference Handler" daemon prio=10 tid=0x02a4f400 nid=0x17fc in Object.wait() [0x02bcf000..0x02bcfb14]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
	- locked <0x22e78290> (a java.lang.ref.Reference$Lock)

   Locked ownable synchronizers:
	- None

"main" prio=6 tid=0x00296c00 nid=0x14fc in Object.wait() [0x0090f000..0x0090fe54]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at sun.plugin2.message.Queue.waitForMessage(Unknown Source)
	- locked <0x22e43980> (a sun.plugin2.message.Queue)
	at sun.plugin2.message.Pipe.receive(Unknown Source)
	at sun.plugin2.main.client.PluginMain.mainLoop(Unknown Source)
	at sun.plugin2.main.client.PluginMain.run(Unknown Source)
	at sun.plugin2.main.client.PluginMain.main(Unknown Source)

   Locked ownable synchronizers:
	- None

"VM Thread" prio=10 tid=0x02a4dc00 nid=0xdf8 runnable 

"VM Periodic Task Thread" prio=10 tid=0x02a63800 nid=0xf3c waiting on condition 

JNI global references: 1442

Comments
SUGGESTED FIX http://sa.sfbay.sun.com/projects/deployment_data/6u10/6697256.1
20-05-2008

EVALUATION The problem is due to in JDK 1.4.2, the sun.net.ProgressMonitor class doesn't exist resulting in an uncaught exception in PluginMain and preventing the applet from being loaded using JRE 1.4.2 update release. JRE 1.4.2.17: java.lang.NoClassDefFoundErrorJRE 1.4.2.17: at sun.plugin2.main.client.PluginMain.class$(PluginMain.java:206) at sun.plugin2.main.client.PluginMain$1.run(PluginMain.java:206) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: sun/net/ProgressMonitor at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) ... 3 more A simple fix is to remove the extra line of code in PluginMain: Class snpmClz = sun.net.ProgressMonitor.class;
20-05-2008