-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
8u102
-
windows
FULL PRODUCT VERSION :
JRE 8u102 b14
ADDITIONAL OS VERSION INFORMATION :
MS Windows 10 OS
A DESCRIPTION OF THE PROBLEM :
The deadlock between locks on an instance of "com.sun.jnlp.JNLPClassLoader" class and a thread context class loader occurs during execution of Java Web Start application starting from JRE 8u102.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
---------- Call stacks of 2 threads blocking each other ----------
Found one Java-level deadlock:
=============================
"<APPLICATION_THREAD>":
waiting to lock monitor 0x45dda9ec (object 0x1ae44d00, a com.sun.jnlp.JNLPClassLoader),
which is held by "javawsApplicationMain"
"javawsApplicationMain":
waiting to lock monitor 0x45ddb23c (object 0x1af0bc80, a com.sun.jnlp.JNLPClassLoader),
which is held by "<APPLICATION_THREAD>"
Java stack information for the threads listed above:
===================================================
"<APPLICATION_THREAD>":
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
- waiting to lock <0x1ae44d00> (a com.sun.jnlp.JNLPClassLoader)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
- locked <0x1af0bc80> (a com.sun.jnlp.JNLPClassLoader)
at com.sun.jnlp.JNLPClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at <APPLICATION_PACKAGE>.AbstractActionProcessor$ActionProcessorSysBean.getSysBeanAttributes(AbstractActionProcessor.java:790)
at <APPLICATION_PACKAGE>.SysBeanAdapter.<init>(SysBeanAdapter.java:37)
at <APPLICATION_PACKAGE>.SysBeanAdapterRegistry.addMBean(SysBeanAdapterRegistry.java:65)
at <APPLICATION_PACKAGE>.SysBeanAdapterRegistry.add(SysBeanAdapterRegistry.java:35)
at <APPLICATION_PACKAGE>.SysBeanAdapterRegistry.add(SysBeanAdapterRegistry.java:15)
at <APPLICATION_PACKAGE>.AbstractActionProcessor.registerRegistry(AbstractActionProcessor.java:153)
at <APPLICATION_PACKAGE>.AbstractActionProcessor.access$2300(AbstractActionProcessor.java:37)
at <APPLICATION_PACKAGE>.AbstractActionProcessor$RegisterProcess.register(AbstractActionProcessor.java:1483)
at <APPLICATION_PACKAGE>.AbstractActionProcessor$RegisterProcess.start(AbstractActionProcessor.java:1376)
at <APPLICATION_PACKAGE>.AbstractActionProcessor.doProcess(AbstractActionProcessor.java:435)
at <APPLICATION_PACKAGE>.AbstractActionProcessor.access$600(AbstractActionProcessor.java:37)
at <APPLICATION_PACKAGE>.AbstractActionProcessor$2.execute(AbstractActionProcessor.java:588)
at <APPLICATION_PACKAGE>.ExecutorScheduler$ExecuteCommand.run(ExecutorScheduler.java:123)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"javawsApplicationMain":
at java.lang.ClassLoader.loadClass(Unknown Source)
- waiting to lock <0x1af0bc80> (a com.sun.jnlp.JNLPClassLoader)
at com.sun.jnlp.JNLPClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
- locked <0x1ae44d00> (a com.sun.jnlp.JNLPClassLoader)
at com.sun.jnlp.JNLPClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at javax.swing.SwingUtilities.loadSystemClass(Unknown Source)
at javax.swing.UIDefaults.getUIClass(Unknown Source)
at javax.swing.UIDefaults.getUI(Unknown Source)
at javax.swing.UIManager.getUI(Unknown Source)
at javax.swing.JPopupMenu.updateUI(Unknown Source)
at javax.swing.JPopupMenu.<init>(Unknown Source)
at javax.swing.JPopupMenu.<init>(Unknown Source)
at javax.swing.plaf.basic.BasicComboPopup.<init>(Unknown Source)
at javax.swing.plaf.basic.BasicComboBoxUI.createPopup(Unknown Source)
at javax.swing.plaf.metal.MetalComboBoxUI.createPopup(Unknown Source)
at javax.swing.plaf.basic.BasicComboBoxUI.installUI(Unknown Source)
at javax.swing.JComponent.setUI(Unknown Source)
at javax.swing.JComboBox.setUI(Unknown Source)
at javax.swing.JComboBox.updateUI(Unknown Source)
at javax.swing.JComboBox.init(Unknown Source)
at javax.swing.JComboBox.<init>(Unknown Source)
at <APPLICATION_PACKAGE>.GuiUtil.<clinit>(GuiUtil.java:51)
at <APPLICATION_PACKAGE>.JavaClient.<init>(JavaClient.java:274)
at <APPLICATION_PACKAGE>.JavaClient.main(JavaClient.java:541)
at <APPLICATION_PACKAGE>.CMSExplorer.main(CMSExplorer.java:9)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at <APPLICATION_PACKAGE>.Start.invokeStaticMethod(Start.java:111)
at <APPLICATION_PACKAGE>.Start.main(Start.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
JRE 8u102 b14
ADDITIONAL OS VERSION INFORMATION :
MS Windows 10 OS
A DESCRIPTION OF THE PROBLEM :
The deadlock between locks on an instance of "com.sun.jnlp.JNLPClassLoader" class and a thread context class loader occurs during execution of Java Web Start application starting from JRE 8u102.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
---------- Call stacks of 2 threads blocking each other ----------
Found one Java-level deadlock:
=============================
"<APPLICATION_THREAD>":
waiting to lock monitor 0x45dda9ec (object 0x1ae44d00, a com.sun.jnlp.JNLPClassLoader),
which is held by "javawsApplicationMain"
"javawsApplicationMain":
waiting to lock monitor 0x45ddb23c (object 0x1af0bc80, a com.sun.jnlp.JNLPClassLoader),
which is held by "<APPLICATION_THREAD>"
Java stack information for the threads listed above:
===================================================
"<APPLICATION_THREAD>":
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
- waiting to lock <0x1ae44d00> (a com.sun.jnlp.JNLPClassLoader)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
- locked <0x1af0bc80> (a com.sun.jnlp.JNLPClassLoader)
at com.sun.jnlp.JNLPClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at <APPLICATION_PACKAGE>.AbstractActionProcessor$ActionProcessorSysBean.getSysBeanAttributes(AbstractActionProcessor.java:790)
at <APPLICATION_PACKAGE>.SysBeanAdapter.<init>(SysBeanAdapter.java:37)
at <APPLICATION_PACKAGE>.SysBeanAdapterRegistry.addMBean(SysBeanAdapterRegistry.java:65)
at <APPLICATION_PACKAGE>.SysBeanAdapterRegistry.add(SysBeanAdapterRegistry.java:35)
at <APPLICATION_PACKAGE>.SysBeanAdapterRegistry.add(SysBeanAdapterRegistry.java:15)
at <APPLICATION_PACKAGE>.AbstractActionProcessor.registerRegistry(AbstractActionProcessor.java:153)
at <APPLICATION_PACKAGE>.AbstractActionProcessor.access$2300(AbstractActionProcessor.java:37)
at <APPLICATION_PACKAGE>.AbstractActionProcessor$RegisterProcess.register(AbstractActionProcessor.java:1483)
at <APPLICATION_PACKAGE>.AbstractActionProcessor$RegisterProcess.start(AbstractActionProcessor.java:1376)
at <APPLICATION_PACKAGE>.AbstractActionProcessor.doProcess(AbstractActionProcessor.java:435)
at <APPLICATION_PACKAGE>.AbstractActionProcessor.access$600(AbstractActionProcessor.java:37)
at <APPLICATION_PACKAGE>.AbstractActionProcessor$2.execute(AbstractActionProcessor.java:588)
at <APPLICATION_PACKAGE>.ExecutorScheduler$ExecuteCommand.run(ExecutorScheduler.java:123)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"javawsApplicationMain":
at java.lang.ClassLoader.loadClass(Unknown Source)
- waiting to lock <0x1af0bc80> (a com.sun.jnlp.JNLPClassLoader)
at com.sun.jnlp.JNLPClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
- locked <0x1ae44d00> (a com.sun.jnlp.JNLPClassLoader)
at com.sun.jnlp.JNLPClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at javax.swing.SwingUtilities.loadSystemClass(Unknown Source)
at javax.swing.UIDefaults.getUIClass(Unknown Source)
at javax.swing.UIDefaults.getUI(Unknown Source)
at javax.swing.UIManager.getUI(Unknown Source)
at javax.swing.JPopupMenu.updateUI(Unknown Source)
at javax.swing.JPopupMenu.<init>(Unknown Source)
at javax.swing.JPopupMenu.<init>(Unknown Source)
at javax.swing.plaf.basic.BasicComboPopup.<init>(Unknown Source)
at javax.swing.plaf.basic.BasicComboBoxUI.createPopup(Unknown Source)
at javax.swing.plaf.metal.MetalComboBoxUI.createPopup(Unknown Source)
at javax.swing.plaf.basic.BasicComboBoxUI.installUI(Unknown Source)
at javax.swing.JComponent.setUI(Unknown Source)
at javax.swing.JComboBox.setUI(Unknown Source)
at javax.swing.JComboBox.updateUI(Unknown Source)
at javax.swing.JComboBox.init(Unknown Source)
at javax.swing.JComboBox.<init>(Unknown Source)
at <APPLICATION_PACKAGE>.GuiUtil.<clinit>(GuiUtil.java:51)
at <APPLICATION_PACKAGE>.JavaClient.<init>(JavaClient.java:274)
at <APPLICATION_PACKAGE>.JavaClient.main(JavaClient.java:541)
at <APPLICATION_PACKAGE>.CMSExplorer.main(CMSExplorer.java:9)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at <APPLICATION_PACKAGE>.Start.invokeStaticMethod(Start.java:111)
at <APPLICATION_PACKAGE>.Start.main(Start.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- duplicates
-
JDK-8161700 Deadlock in Java Web Start application involving JNLPClassLoader
- Resolved