United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-6697256 : MultiJRE : 1.4.2_17 applets not loading in the same browser session, with 6u10 installed

Details
Type:
Bug
Submit Date:
2008-05-02
Status:
Closed
Updated Date:
2014-02-06
Project Name:
JDK
Resolved Date:
2008-06-25
Component:
deploy
OS:
windows_xp,windows
Sub-Component:
plugin
CPU:
x86,generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
6u10
Fixed Versions:
6u10 (b26)

Related Reports
Duplicate:
Relates:

Sub Tasks

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
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;
                                     
2008-05-20
SUGGESTED FIX

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



Hardware and Software, Engineered to Work Together