2010-08-26 16 views
6

Ich habe eine Desktop-Java/Swing-Anwendung, die über Java-Webstart (Clients verwenden Java 6u20 unter XP) bereitgestellt wird. Ich habe intermittierende Berichte von Benutzern der Anwendung erhalten. Ich habe es geschafft, mich bei einem solchen System an einem solchen System anzumelden, und festgestellt, dass die Benutzeroberfläche nicht gezeichnet wurde (als wäre EDT blockiert).Hilfe mit dem Verständnis der JStack-Ausgabe

Ich benutzte Jstack, um die Threads aufzulisten; Ich sehe keine Hinweise auf Deadlocks auf der Ausgabe und da ich ziemlich neu bin, bin ich mir nicht sicher, was ich sonst noch suchen sollte.

Ich musste den Stack-Trace so bearbeiten, dass er in die Stackoverflow-Grenzen passt, hoffentlich wurde nichts Bedeutungsvolles weggelassen.

Danke,
Phil

Full thread dump Java HotSpot(TM) Client VM (16.3-b01 mixed mode, sharing): 

"AWT-EventQueue-0" prio=6 tid=0x03e3f000 nid=0xe44 in Object.wait() [0x0516f000] 
    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 <0x1d4b91d8> (a java.awt.EventQueue) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    <SNIP> 

    Locked ownable synchronizers: 
    - None 

"ServerThread" prio=6 tid=0x058f7c00 nid=0xa08 waiting for monitor entry [0x055be000] 
    java.lang.Thread.State: BLOCKED (on object monitor) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.check(Unknown Source) 
    - waiting to lock <0x1d485f80> (a com.sun.deploy.security.CPCallbackHandler$ParentCallback) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.access$1400(Unknown Source) 
    at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source) 
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source) 
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source) 
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.findResource(Unknown Source) 
    at com.sun.deploy.security.DeployURLClassPath.findResource(Unknown Source) 
    at java.net.URLClassLoader$2.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findResource(Unknown Source) 
    at com.sun.jnlp.JNLPClassLoader.findResource(Unknown Source) 
    at java.lang.ClassLoader.getResource(Unknown Source) 
    at com.sun.jnlp.JNLPClassLoader.access$001(Unknown Source) 
    at com.sun.jnlp.JNLPClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.jnlp.JNLPClassLoader.getResource(Unknown Source) 
    at java.lang.ClassLoader.getResourceAsStream(Unknown Source) 
    at java.util.ResourceBundle$Control$1.run(Unknown Source) 
    at java.util.ResourceBundle$Control$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.util.ResourceBundle$Control.newBundle(Unknown Source) 
    at java.util.ResourceBundle.loadBundle(Unknown Source) 
    at java.util.ResourceBundle.findBundle(Unknown Source) 
    at java.util.ResourceBundle.findBundle(Unknown Source) 
    at java.util.ResourceBundle.getBundleImpl(Unknown Source) 
    at java.util.ResourceBundle.getBundle(Unknown Source) 
    at org.apache.derby.iapi.services.i18n.MessageService.getBundleWithEnDefault(Unknown Source) 
    at org.apache.derby.iapi.services.i18n.MessageService.getBundleForLocale(Unknown Source) 
    at org.apache.derby.impl.services.monitor.BaseMonitor.getBundle(Unknown Source) 
    at org.apache.derby.iapi.services.i18n.MessageService.getBundle(Unknown Source) 
    at org.apache.derby.iapi.services.i18n.MessageService.getCompleteMessage(Unknown Source) 
    at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) 
    at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source) 
    at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) 
    at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) 
    at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) 
    at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source) 
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source) 
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source) 
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source) 
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown Source) 
    at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source) 
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) 
    - locked <0x1c233300> (a org.apache.derby.impl.jdbc.EmbedConnection40) 
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) 
    <SNIP> 

    Locked ownable synchronizers: 
    - None 

"ServerThread" prio=6 tid=0x058e7800 nid=0x2c0 waiting for monitor entry [0x082de000] 
    java.lang.Thread.State: BLOCKED (on object monitor) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.check(Unknown Source) 
    - waiting to lock <0x1d485f80> (a com.sun.deploy.security.CPCallbackHandler$ParentCallback) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.access$1400(Unknown Source) 
    <SNIP> 
    at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source) 
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) 
    - locked <0x1c1bf748> (a org.apache.derby.impl.jdbc.EmbedConnection40) 
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) 
    at com.foo.myapp.dataaccess.sql.PriceSql.<init>(PriceSql.java:120) 
    at com.foo.myapp.dataaccess.sql.SqlServer.<init>(SqlServer.java:124) 
    at com.foo.myapp.dataaccess.socket.ServerThread.run(ServerThread.java:154) 

    Locked ownable synchronizers: 
    - None 

"ServerThread" prio=6 tid=0x04337000 nid=0xff4 waiting for monitor entry [0x0828e000] 
    java.lang.Thread.State: BLOCKED (on object monitor) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.check(Unknown Source) 
    - waiting to lock <0x1d485f80> (a com.sun.deploy.security.CPCallbackHandler$ParentCallback) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.access$1400(Unknown Source) 
    <SNIP> 
    at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source) 
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) 
    - locked <0x1c176a80> (a org.apache.derby.impl.jdbc.EmbedConnection40) 
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) 
    at com.foo.myapp.dataaccess.sql.PriceSql.<init>(PriceSql.java:201) 
    at com.foo.myapp.dataaccess.sql.SqlServer.<init>(SqlServer.java:124) 
    at com.foo.myapp.dataaccess.socket.ServerThread.run(ServerThread.java:154) 

    Locked ownable synchronizers: 
    - None 

"ServerThread" prio=6 tid=0x05913400 nid=0xd5c in Object.wait() [0x0823e000] 
    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.javaws.ui.JavawsSysRun.delegate(Unknown Source) 
    - locked <0x1d430890> (a java.lang.Object) 
    at com.sun.deploy.util.DeploySysRun.execute(Unknown Source) 
    at com.sun.deploy.util.DeploySysRun$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.deploy.util.DeploySysRun.executePrivileged(Unknown Source) 
    at com.sun.deploy.ui.UIFactory.showMixedCodeDialog(Unknown Source) 
    at com.sun.deploy.security.CPCallbackHandler.showMixedTrustDialog(Unknown Source) 
    at com.sun.deploy.security.CPCallbackHandler.access$1000(Unknown Source) 
    <SNIP> 
    at com.foo.myapp.dataaccess.sql.SqlServer.<init>(SqlServer.java:124) 
    at com.foo.myapp.dataaccess.socket.ServerThread.run(ServerThread.java:154) 

    Locked ownable synchronizers: 
    - None 

"ServerThread" prio=6 tid=0x043bd400 nid=0xb44 waiting for monitor entry [0x081ee000] 
    java.lang.Thread.State: BLOCKED (on object monitor) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.check(Unknown Source) 
    - waiting to lock <0x1d485f80> (a com.sun.deploy.security.CPCallbackHandler$ParentCallback) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.access$1400(Unknown Source) 
    <SNIP> 
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) 
    - locked <0x1c01d1f0> (a org.apache.derby.impl.jdbc.EmbedConnection40) 
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) 
    at com.foo.myapp.dataaccess.sql.SkuSql.<init>(SkuSql.java:539) 
    at com.foo.myapp.dataaccess.sql.TransactionEntrySql.<init>(TransactionEntrySql.java:143) 
    at com.foo.myapp.dataaccess.sql.SqlServer.<init>(SqlServer.java:137) 
    at com.foo.myapp.dataaccess.socket.ServerThread.run(ServerThread.java:154) 

    Locked ownable synchronizers: 
    - None 

"ServerThread" prio=6 tid=0x0438a800 nid=0xccc waiting for monitor entry [0x0819e000] 
    java.lang.Thread.State: BLOCKED (on object monitor) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.check(Unknown Source) 
    - waiting to lock <0x1d485f80> (a com.sun.deploy.security.CPCallbackHandler$ParentCallback) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.access$1400(Unknown Source) 
    <SNIP> 
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) 
    - locked <0x1b043cb0> (a org.apache.derby.impl.jdbc.EmbedConnection40) 
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) 
    at com.foo.myapp.dataaccess.sql.HierarchyGroupSql.<init>(HierarchyGroupSql.java:53) 
    at com.foo.myapp.dataaccess.sql.SqlServer.<init>(SqlServer.java:144) 
    at com.foo.myapp.dataaccess.socket.ServerThread.run(ServerThread.java:154) 

    Locked ownable synchronizers: 
    - None 

"ServerThread" prio=6 tid=0x04324c00 nid=0x214 waiting for monitor entry [0x0814e000] 
    java.lang.Thread.State: BLOCKED (on object monitor) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.check(Unknown Source) 
    - waiting to lock <0x1d485f80> (a com.sun.deploy.security.CPCallbackHandler$ParentCallback) 
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.access$1400(Unknown Source) 
    <SNIP> 
    at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source) 
    - locked <0x1bc4c8b8> (a org.apache.derby.impl.jdbc.EmbedConnection40) 
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source) 
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeQuery(Unknown Source) 
    at com.foo.myapp.dataaccess.sql.SkuSql.updateProductDescriptors(SkuSql.java:1050) 
    at com.foo.myapp.dataaccess.sql.SkuSql.run(SkuSql.java:918) 
    at com.foo.myapp.dataaccess.sql.SqlServerBase.exec(SqlServerBase.java:68) 
    at com.foo.myapp.dataaccess.socket.ServerThread.processTransaction(ServerThread.java:215) 
    at com.foo.myapp.dataaccess.socket.ServerThread.run(ServerThread.java:161) 

    Locked ownable synchronizers: 
    - None 

"Timer-1232" prio=6 tid=0x042e5400 nid=0xcbc in Object.wait() [0x080ff000] 
    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.util.TimerThread.mainLoop(Unknown Source) 
    - locked <0x1b849c78> (a java.util.TaskQueue) 
    at java.util.TimerThread.run(Unknown Source) 

    Locked ownable synchronizers: 
    - None 

"Timer-1225" prio=6 tid=0x04227800 nid=0xcc in Object.wait() [0x0800f000] 
    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.util.TimerThread.mainLoop(Unknown Source) 
    - locked <0x1b5147f8> (a java.util.TaskQueue) 
    at java.util.TimerThread.run(Unknown Source) 

    Locked ownable synchronizers: 
    - None 

"Timer-1200" prio=6 tid=0x041bec00 nid=0x9cc in Object.wait() [0x080af000] 
    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.util.TimerThread.mainLoop(Unknown Source) 
    - locked <0x1a977a20> (a java.util.TaskQueue) 
    at java.util.TimerThread.run(Unknown Source) 

    Locked ownable synchronizers: 
    - None 


[SNIPPED about 70 Timer tasks] 


"AWT-EventQueue-1" prio=6 tid=0x0420c800 nid=0xdb4 in Object.wait() [0x0729f000] 
    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 <0x1d492480> (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.SequencedEvent.dispatch(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.Dialog$1.run(Unknown Source) 
    at java.awt.Dialog$3.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.awt.Dialog.show(Unknown Source) 
    at java.awt.Component.show(Unknown Source) 
    at java.awt.Component.setVisible(Unknown Source) 
    at java.awt.Window.setVisible(Unknown Source) 
    at java.awt.Dialog.setVisible(Unknown Source) 
    at com.sun.deploy.ui.DialogTemplate$12.run(Unknown Source) 
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    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 

"SwingWorker-pool-1-thread-1" daemon prio=6 tid=0x03d23400 nid=0xf18 waiting on condition [0x031bf000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x22294b78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(Unknown Source) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) 
    at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

    Locked ownable synchronizers: 
    - None 

"Thread-24" prio=6 tid=0x03f1cc00 nid=0xe20 runnable [0x0565f000] 
    java.lang.Thread.State: RUNNABLE 
    at java.net.PlainSocketImpl.socketAccept(Native Method) 
    at java.net.PlainSocketImpl.accept(Unknown Source) 
    - locked <0x1fc03898> (a java.net.SocksSocketImpl) 
    at java.net.ServerSocket.implAccept(Unknown Source) 
    at java.net.ServerSocket.accept(Unknown Source) 
    at com.foo.myapp.ApplicationRunner$6.run(ApplicationRunner.java:962) 
    at java.lang.Thread.run(Unknown Source) 

    Locked ownable synchronizers: 
    - None 

"Thread-20" prio=6 tid=0x03f2c800 nid=0xba8 waiting on condition [0x0551f000] 
    java.lang.Thread.State: TIMED_WAITING (sleeping) 
    at java.lang.Thread.sleep(Native Method) 
    at com.foo.myapp.UserActivityMonitor.run(UserActivityMonitor.java:42) 

    Locked ownable synchronizers: 
    - None 


"TimerQueue" daemon prio=6 tid=0x02d34400 nid=0x9d8 in Object.wait() [0x04c8f000] 
    java.lang.Thread.State: TIMED_WAITING (on object monitor) 
    at java.lang.Object.wait(Native Method) 
    at javax.swing.TimerQueue.run(Unknown Source) 
    - locked <0x1ea5c8d0> (a javax.swing.TimerQueue) 
    at java.lang.Thread.run(Unknown Source) 

    Locked ownable synchronizers: 
    - None 

"derby.rawStoreDaemon" daemon prio=6 tid=0x03ec8000 nid=0x584 in Object.wait() [0x0525f000] 
    java.lang.Thread.State: TIMED_WAITING (on object monitor) 
    at java.lang.Object.wait(Native Method) 
    at org.apache.derby.impl.services.daemon.BasicDaemon.rest(Unknown Source) 
    - locked <0x1da8f898> (a org.apache.derby.impl.services.daemon.BasicDaemon) 
    at org.apache.derby.impl.services.daemon.BasicDaemon.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

    Locked ownable synchronizers: 
    - None 

"Timer-1" daemon prio=6 tid=0x03ec3000 nid=0x2cc in Object.wait() [0x0520f000] 
    java.lang.Thread.State: WAITING (on object monitor) 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0x1d816590> (a java.util.TaskQueue) 
    at java.lang.Object.wait(Object.java:485) 
    at java.util.TimerThread.mainLoop(Unknown Source) 
    - locked <0x1d816590> (a java.util.TaskQueue) 
    at java.util.TimerThread.run(Unknown Source) 

    Locked ownable synchronizers: 
    - None 

"derby.antiGC" daemon prio=2 tid=0x03e84000 nid=0xf70 in Object.wait() [0x051bf000] 
    java.lang.Thread.State: WAITING (on object monitor) 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0x1d804090> (a org.apache.derby.impl.services.monitor.AntiGC) 
    at java.lang.Object.wait(Object.java:485) 
    at org.apache.derby.impl.services.monitor.AntiGC.run(Unknown Source) 
    - locked <0x1d804090> (a org.apache.derby.impl.services.monitor.AntiGC) 
    at java.lang.Thread.run(Unknown Source) 

    Locked ownable synchronizers: 
    - None 

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

    Locked ownable synchronizers: 
    - None 

"AWT-Shutdown" prio=6 tid=0x03f58000 nid=0xad0 in Object.wait() [0x04bdf000] 
    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 <0x1d480cc8> (a java.lang.Object) 
    at java.lang.Thread.run(Unknown Source) 

    Locked ownable synchronizers: 
    - None 

"NativeSwing Receiver - Swing" daemon prio=6 tid=0x03ed7400 nid=0x80c runnable [0x03dff000] 
    java.lang.Thread.State: RUNNABLE 
    at java.net.SocketInputStream.socketRead0(Native Method) 
    at java.net.SocketInputStream.read(Unknown Source) 
    at java.io.BufferedInputStream.fill(Unknown Source) 
    at java.io.BufferedInputStream.read(Unknown Source) 
    - locked <0x1d840e50> (a java.io.BufferedInputStream) 
    at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source) 
    at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source) 
    at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source) 
    at java.io.ObjectInputStream.readObject0(Unknown Source) 
    at java.io.ObjectInputStream.readUnshared(Unknown Source) 
    at chrriis.dj.nativeswing.swtimpl.OutProcessMessagingInterface.readMessageFromChannel(OutProcessMessagingInterface.java:113) 
    at chrriis.dj.nativeswing.swtimpl.MessagingInterface$2.run(MessagingInterface.java:329) 

    Locked ownable synchronizers: 
    - None 

"NativeSwing Stream Connector" daemon prio=6 tid=0x03ca6800 nid=0xf30 runnable [0x03daf000] 
    java.lang.Thread.State: RUNNABLE 
    at java.io.FileInputStream.readBytes(Native Method) 
    at java.io.FileInputStream.read(Unknown Source) 
    at java.io.BufferedInputStream.read1(Unknown Source) 
    at java.io.BufferedInputStream.read(Unknown Source) 
    - locked <0x1d83c338> (a java.io.BufferedInputStream) 
    at java.io.BufferedInputStream.fill(Unknown Source) 
    at java.io.BufferedInputStream.read1(Unknown Source) 
    at java.io.BufferedInputStream.read(Unknown Source) 
    - locked <0x1d83c358> (a java.io.BufferedInputStream) 
    at java.io.FilterInputStream.read(Unknown Source) 
    at chrriis.dj.nativeswing.swtimpl.NativeInterface$OutProcess$1.run(NativeInterface.java:696) 

    Locked ownable synchronizers: 
    - None 

"NativeSwing Stream Connector" daemon prio=6 tid=0x03ca6400 nid=0xdf4 runnable [0x0382f000] 
    java.lang.Thread.State: RUNNABLE 
    at java.io.FileInputStream.readBytes(Native Method) 
    at java.io.FileInputStream.read(Unknown Source) 
    at java.io.BufferedInputStream.fill(Unknown Source) 
    at java.io.BufferedInputStream.read1(Unknown Source) 
    at java.io.BufferedInputStream.read(Unknown Source) 
    - locked <0x1d83e840> (a java.io.BufferedInputStream) 
    at java.io.FilterInputStream.read(Unknown Source) 
    at chrriis.dj.nativeswing.swtimpl.NativeInterface$OutProcess$1.run(NativeInterface.java:696) 

    Locked ownable synchronizers: 
    - None 

"WebServer" daemon prio=6 tid=0x03caa800 nid=0x464 runnable [0x037cf000] 
    java.lang.Thread.State: RUNNABLE 
    at java.net.PlainSocketImpl.socketAccept(Native Method) 
    at java.net.PlainSocketImpl.accept(Unknown Source) 
    - locked <0x1d83ed08> (a java.net.SocksSocketImpl) 
    at java.net.ServerSocket.implAccept(Unknown Source) 
    at java.net.ServerSocket.accept(Unknown Source) 
    at chrriis.common.WebServer$1.run(WebServer.java:719) 

    Locked ownable synchronizers: 
    - None 

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

    Locked ownable synchronizers: 
    - None 

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

    Locked ownable synchronizers: 
    - None 

"CacheMemoryCleanUpThread" daemon prio=6 tid=0x02dd1800 nid=0x14c in Object.wait() [0x0345f000] 
    java.lang.Thread.State: WAITING (on object monitor) 
    at java.lang.Object.wait(Native Method) 
    at java.lang.ref.ReferenceQueue.remove(Unknown Source) 
    - locked <0x1d430790> (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 

"DestroyJavaVM" prio=6 tid=0x003a8800 nid=0xc00 waiting on condition [0x00000000] 
    java.lang.Thread.State: RUNNABLE 

    Locked ownable synchronizers: 
    - None 

"Javaws Secure Thread" daemon prio=6 tid=0x02dca400 nid=0x750 in Object.wait() [0x033bf000] 
    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.invokeAndWait(Unknown Source) 
    - locked <0x32961e48> (a java.awt.EventQueue$1AWTInvocationLock) 
    at javax.swing.SwingUtilities.invokeAndWait(Unknown Source) 
    at com.sun.deploy.ui.DialogTemplate.setVisible(Unknown Source) 
    at com.sun.deploy.ui.UIFactory$8.execute(Unknown Source) 
    at com.sun.javaws.ui.JavawsSysRun$SecureThread.doWork(Unknown Source) 
    at com.sun.javaws.ui.JavawsSysRun$SecureThread.run(Unknown Source) 
    - locked <0x1d430890> (a java.lang.Object) 

    Locked ownable synchronizers: 
    - None 

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

    Locked ownable synchronizers: 
    - None 

"Java2D Disposer" daemon prio=10 tid=0x02dc6800 nid=0xad4 in Object.wait() [0x032cf000] 
    java.lang.Thread.State: WAITING (on object monitor) 
    at java.lang.Object.wait(Native Method) 
    at java.lang.ref.ReferenceQueue.remove(Unknown Source) 
    - locked <0x1d430968> (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 

"traceMsgQueueThread" daemon prio=6 tid=0x02d3ec00 nid=0xf74 in Object.wait() [0x0322f000] 
    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 <0x1d4309f8> (a java.util.ArrayList) 
    at java.lang.Thread.run(Unknown Source) 

    Locked ownable synchronizers: 
    - None 

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

    Locked ownable synchronizers: 
    - None 

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

    Locked ownable synchronizers: 
    - None 

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

    Locked ownable synchronizers: 
    - None 

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

    Locked ownable synchronizers: 
    - None 

"Finalizer" daemon prio=8 tid=0x02cfec00 nid=0x290 in Object.wait() [0x02ecf000] 
    java.lang.Thread.State: WAITING (on object monitor) 
    at java.lang.Object.wait(Native Method) 
    at java.lang.ref.ReferenceQueue.remove(Unknown Source) 
    - locked <0x1d430c20> (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=0x02cfd400 nid=0x3a4 in Object.wait() [0x02e7f000] 
    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 <0x1d4304a8> (a java.lang.ref.Reference$Lock) 

    Locked ownable synchronizers: 
    - None 

"VM Thread" prio=10 tid=0x02cfc000 nid=0xc30 runnable 

"VM Periodic Task Thread" prio=10 tid=0x02d1a000 nid=0x840 waiting on condition 

JNI global references: 2314 

Antwort

1

Sie wahrscheinlich in Bug ausgeführt haben 6960427, die gegen 1.6.0_20 (Dead-Lock Ausgabe) berichtet wurde.

Sind Sie sicher, dass der Posted Stack Trace abgeschlossen ist? Sie haben mehrere Threads warten auf 0x1d485f80 zu sperren, aber kein Thread mit einer tatsächlichen Sperre auf diesem Monitor.

+0

Es scheint eine andere Sperre zu sein, die das Problem verursacht, aber verwandt ist. –

+0

Hallo, Entschuldigung für die Verzögerung beim Antworten, ich muss jetzt nur die Antworten lesen. In Bezug auf die Sperre auf 0x1d485f80, schneide ich das in Ordnung, es wird von Thread 0x05913400 gehalten. Es sieht wie folgt aus: \t - gesperrt <0x1d485f80> (ein com.sun.deploy.security.CPCallbackHandler $ ParentCallback) – PhilDin

+0

[Bitte ignorieren Sie den obigen Kommentar, hier ist der beabsichtigte] Hallo, Entschuldigung für die Verzögerung in der Antwort, ich habe gerade um die Antworten jetzt zu lesen. In Bezug auf die Sperre auf 0x1d485f80, schneide ich das in Ordnung, es wird von Thread 0x05913400 gehalten. Es sieht wie folgt aus: \t - gesperrt <0x1d485f80> (ein com.sun.deploy.security.CPCallbackHandler $ ParentCallback) Bin ich richtig bei der Interpretation dies bedeutet, dass der Typ des Objekts gesperrt ist ein ParentCallback? Es sieht ähnlich aus wie der Fehler 6960427, aber ich merke, dass es im Fehlerbericht einen Deadlock am Ende auflistet, meine Jstack-Ausgabe identifiziert keine. – PhilDin

1

viel Faden Es ist behauptet

- waiting to lock <0x1d485f80> (a com.sun.deploy.security.CPCallbackHandler$ParentCallback) 

Ist das irgendwo in der snipped Ausgang gehalten?

Es scheint, als ob Sie absichtlich vertrauenswürdigen und nicht vertrauenswürdigen Code ("gemischter Code") mischen, was ein böses Ding ist. Ab 619 wird ein Warndialog angezeigt (eigentlich sollte der Versuch automatisch blockiert werden, aber es scheint viel Code da draußen zu sein, der den Fehler ausnutzt). Dieses Warndialogfeld scheint das Problem zu verursachen.

Um zu beheben, mischen Sie nicht vertrauenswürdigen und nicht vertrauenswürdigen Code. Es ist eine gute Idee, dem Manifest jedes Krams "Nur vertrauenswürdig: Wahr" hinzuzufügen.

+0

Hallo Tom, ich hatte Probleme mit vertrauenswürdigen/nicht vertrauenswürdigen Code Warnungen, aber das ist nicht beabsichtigt. Ich habe alle Gläser (meine eigene + dritte Partei) mit einem selbst signierten Zertifikat unterschrieben, so dass ich nicht erwartet habe, dass dies ein Problem darstellt. Darf ich fragen, wie Sie dies über die Stack-Ausgabe sagen können (ist es die "16.3-b01 Mixed-Mode, Sharing" -Zeile oben?) Zweitens, wie können Sie anhand der Ausgabe feststellen, dass der Warndialog das Problem ist? Vielen Dank. – PhilDin

+0

Die Stack-Traces enthalten "showMixedTrustDialog" und andere Threads blockieren beim Laden von Klassen den Bereitstellungscode. "16.3-b01 mixed mode, sharing" bezieht sich auf die Version von HotSpot (jetzt entkoppelt von der JRE-Version), die Tatsache, dass sowohl der Bytecode-Compiler als auch der Interpreter verwendet wird und die Freigabe von "Class Data Sharing" ist die 'Klassen.JSA-Datei, die eine schnellere Startleistung ermöglicht. Wie ich sage, wenn Sie Ihren Manifesten 'Nur vertrauenswürdig: wahr 'hinzufügen, dann sollte das stillschweigend das Laden von nicht vertrauenswürdigem Code verhindern, unabhängig davon, ob es sich um einen oder einen Widerpart handelt. –