Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
J2SE Version (please include all output from java -version flag): java version "1.6.0_12" Java(TM) SE Runtime Environment (build 1.6.0_12-b04) Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing) Does this problem occur on J2SE 1.4.x or 5.0.x ? Yes / No (pick one) No, works fine with JDK 6 Operating System Configuration Information (be specific): Windows Vista Business SP1 Hardware Configuration Information (be specific): HP Pavillion dv9000 Windows Vista Business SP1 32 bit 3 GB RAM Intel Core 2 Duo T9300 Bug Description: Complete show stopper. My application starts and tries to create an SSL connection. The certificate is self signed. It gets to the point where a dialog comes up so I can accept the self-signed certificate and I cannot select anything on that dialog. The application is completly locked up. I can even scroll around in the Java console. My only option is to end the process from the TaskManager. Steps to Reproduce (be specific): Here is some information I took from jconsole. The Javaws Secure Thread is in an Invoke and Wait Note the total blocked and total wait counts -------- JConsole Thread Dumps ------------ Name: Reference Handler State: WAITING on java.lang.ref.Reference$Lock@d1afd3 Total blocked: 54 Total waited: 55 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:485) java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) Name: Finalizer State: WAITING on java.lang.ref.ReferenceQueue$Lock@1e88c7f Total blocked: 46 Total waited: 46 Stack trace: java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(Unknown Source) java.lang.ref.ReferenceQueue.remove(Unknown Source) java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) Name: Signal Dispatcher State: RUNNABLE Total blocked: 0 Total waited: 0 Stack trace: Name: Attach Listener State: RUNNABLE Total blocked: 0 Total waited: 0 Stack trace: Name: Java2D Disposer State: WAITING on java.lang.ref.ReferenceQueue$Lock@18771dc Total blocked: 6 Total waited: 7 Stack trace: java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(Unknown Source) java.lang.ref.ReferenceQueue.remove(Unknown Source) sun.java2d.Disposer.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: AWT-Windows State: RUNNABLE Total blocked: 0 Total waited: 0 Stack trace: sun.awt.windows.WToolkit.eventLoop(Native Method) sun.awt.windows.WToolkit.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: Javaws Secure Thread State: WAITING on java.awt.EventQueue$1AWTInvocationLock@f34071 Total blocked: 5 Total waited: 5 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:485) java.awt.EventQueue.invokeAndWait(Unknown Source) javax.swing.SwingUtilities.invokeAndWait(Unknown Source) com.sun.deploy.ui.DialogTemplate.setVisible(Unknown Source) com.sun.deploy.ui.UIFactory$1.execute(Unknown Source) com.sun.javaws.ui.JavawsSysRun$SecureThread.doWork(Unknown Source) com.sun.javaws.ui.JavawsSysRun$SecureThread.run(Unknown Source) - locked java.lang.Object@edd9de Name: DestroyJavaVM State: RUNNABLE Total blocked: 0 Total waited: 0 Stack trace: Name: traceMsgQueueThread State: WAITING on java.util.ArrayList@15cd9a Total blocked: 17 Total waited: 19 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:485) com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: ConsoleWriterThread State: WAITING on java.lang.Object@86b376 Total blocked: 11 Total waited: 17 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:485) com.sun.deploy.util.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source) Name: CacheMemoryCleanUpThread State: WAITING on java.lang.ref.ReferenceQueue$Lock@ba5a81 Total blocked: 17 Total waited: 18 Stack trace: java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(Unknown Source) java.lang.ref.ReferenceQueue.remove(Unknown Source) com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source) Name: CacheCleanUpThread State: WAITING on com.sun.deploy.cache.CleanupThread@825cf3 Total blocked: 15 Total waited: 16 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:485) com.sun.deploy.cache.CleanupThread.run(Unknown Source) Name: TimerQueue State: TIMED_WAITING on javax.swing.TimerQueue@7a4076 Total blocked: 1 Total waited: 19,703 Stack trace: java.lang.Object.wait(Native Method) javax.swing.TimerQueue.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: AWT-Shutdown State: WAITING on java.lang.Object@4391f0 Total blocked: 6 Total waited: 7 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:485) sun.awt.AWTAutoShutdown.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: AWT-EventQueue-1 State: WAITING on java.awt.EventQueue@c1e4d5 Total blocked: 168 Total waited: 168 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:485) java.awt.EventQueue.getNextEvent(Unknown Source) java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) java.awt.EventDispatchThread.pumpEvents(Unknown Source) java.awt.SequencedEvent.dispatch(Unknown Source) java.awt.EventQueue.dispatchEvent(Unknown Source) java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) java.awt.Dialog$1.run(Unknown Source) java.awt.Dialog$3.run(Unknown Source) java.security.AccessController.doPrivileged(Native Method) java.awt.Dialog.show(Unknown Source) java.awt.Component.show(Unknown Source) java.awt.Component.setVisible(Unknown Source) java.awt.Window.setVisible(Unknown Source) java.awt.Dialog.setVisible(Unknown Source) com.sun.deploy.ui.DialogTemplate$10.run(Unknown Source) java.awt.event.InvocationEvent.dispatch(Unknown Source) java.awt.EventQueue.dispatchEvent(Unknown Source) java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) java.awt.EventDispatchThread.pumpEvents(Unknown Source) java.awt.EventDispatchThread.pumpEvents(Unknown Source) java.awt.EventDispatchThread.run(Unknown Source) Name: D3D Screen Updater State: TIMED_WAITING on java.lang.Object@12eabae Total blocked: 60 Total waited: 3,519 Stack trace: java.lang.Object.wait(Native Method) sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: AWT-EventQueue-0 State: WAITING on java.awt.MediaTracker@c6b80e Total blocked: 51 Total waited: 50 Stack trace: java.lang.Object.wait(Native Method) java.awt.MediaTracker.waitForID(Unknown Source) javax.swing.ImageIcon.loadImage(Unknown Source) javax.swing.ImageIcon.<init>(Unknown Source) javax.swing.ImageIcon.<init>(Unknown Source) dsi.client.module.login.LoginPanel.comboBoxEventOccurred(LoginPanel.java:348) dsi.client.awt.DComboBox.fireDComboBoxEvent(DComboBox.java:277) dsi.client.awt.DComboBox$InternalListener.fireSelectionChanged(DComboBox.java:373) dsi.client.awt.DComboBox$InternalListener.contentsChanged(DComboBox.java:344) javax.swing.AbstractListModel.fireContentsChanged(Unknown Source) dsi.client.awt.ModelFactory$DComboBoxModelImpl.setSelectedItem(ModelFactory.java:47) javax.swing.JComboBox.setSelectedItem(Unknown Source) dsi.client.awt.DComboBox.setSelectedItem(DComboBox.java:233) dsi.client.module.login.LoginPanel.<init>(LoginPanel.java:106) dsi.client.module.login.SplashFrame2.initializationComplete(SplashFrame2.java:247) dsi.client.module.StartupInitializer$1.run(StartupInitializer.java:106) java.awt.event.InvocationEvent.dispatch(Unknown Source) java.awt.EventQueue.dispatchEvent(Unknown Source) java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) java.awt.EventDispatchThread.pumpEvents(Unknown Source) java.awt.EventDispatchThread.pumpEvents(Unknown Source) java.awt.EventDispatchThread.run(Unknown Source) Name: Thread-78 State: RUNNABLE Total blocked: 0 Total waited: 0 Stack trace: java.net.PlainSocketImpl.socketAccept(Native Method) java.net.PlainSocketImpl.accept(Unknown Source) - locked java.net.SocksSocketImpl@17ed710 java.net.ServerSocket.implAccept(Unknown Source) java.net.ServerSocket.accept(Unknown Source) com.sun.deploy.si.SingleInstanceImpl$SingleInstanceServer$2.run(Unknown Source) java.security.AccessController.doPrivileged(Native Method) com.sun.deploy.si.SingleInstanceImpl$SingleInstanceServer.run(Unknown Source) Name: TimerQueue State: WAITING on javax.swing.TimerQueue@176eeb9 Total blocked: 3 Total waited: 11 Stack trace: java.lang.Object.wait(Native Method) javax.swing.TimerQueue.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: MultiThreadedHttpConnectionManager cleanup State: TIMED_WAITING on java.lang.ref.ReferenceQueue$Lock@c5da6 Total blocked: 0 Total waited: 360 Stack trace: java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(Unknown Source) org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(Unknown Source) Name: Image Fetcher 0 State: WAITING on java.lang.Object@edd9de owned by: Javaws Secure Thread Total blocked: 5 Total waited: 5 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:485) com.sun.javaws.ui.JavawsSysRun.delegate(Unknown Source) com.sun.deploy.util.DeploySysRun.execute(Unknown Source) com.sun.deploy.util.DeploySysRun$1.run(Unknown Source) java.security.AccessController.doPrivileged(Native Method) com.sun.deploy.util.DeploySysRun.executePrivileged(Unknown Source) com.sun.deploy.ui.UIFactory.showSecurityDialog(Unknown Source) com.sun.deploy.security.TrustDeciderDialog.showDialog(Unknown Source) com.sun.deploy.security.TrustDeciderDialog.showDialog(Unknown Source) com.sun.deploy.security.X509ExtendedDeployTrustManager.checkServerTrusted(Unknown Source) - locked com.sun.deploy.security.X509ExtendedDeployTrustManager@16ff9e0 com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source) com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source) com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source) com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source) com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source) - locked com.sun.net.ssl.internal.ssl.SSLSocketImpl@1ac8b37 - locked java.lang.Object@39471b com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) - locked java.lang.Object@1284903 com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) - locked sun.net.www.protocol.https.DelegateHttpsURLConnection@c1dc0b sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source) - locked sun.net.www.protocol.https.HttpsURLConnectionImpl@db4c8d sun.awt.image.URLImageSource.getDecoder(Unknown Source) sun.awt.image.InputStreamImageSource.doFetch(Unknown Source) sun.awt.image.ImageFetcher.fetchloop(Unknown Source) sun.awt.image.ImageFetcher.run(Unknown Source) Name: RMI TCP Accept-0 State: RUNNABLE Total blocked: 0 Total waited: 0 Stack trace: java.net.PlainSocketImpl.socketAccept(Native Method) java.net.PlainSocketImpl.accept(Unknown Source) - locked java.net.SocksSocketImpl@b7cee4 java.net.ServerSocket.implAccept(Unknown Source) java.net.ServerSocket.accept(Unknown Source) sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(Unknown Source) sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(Unknown Source) sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: RMI TCP Connection(1)-192.9.201.25 State: TIMED_WAITING on com.sun.jmx.remote.internal.ArrayNotificationBuffer@191f022 Total blocked: 0 Total waited: 5 Stack trace: java.lang.Object.wait(Native Method) com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(Unknown Source) com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(Unknown Source) com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(Unknown Source) javax.management.remote.rmi.RMIConnectionImpl$2.run(Unknown Source) javax.management.remote.rmi.RMIConnectionImpl$2.run(Unknown Source) javax.management.remote.rmi.RMIConnectionImpl.fetchNotifications(Unknown Source) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) sun.rmi.transport.Transport$1.run(Unknown Source) java.security.AccessController.doPrivileged(Native Method) sun.rmi.transport.Transport.serviceCall(Unknown Source) sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: RMI Scheduler(0) State: TIMED_WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1e2f6b0 Total blocked: 0 Total waited: 1 Stack trace: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) java.util.concurrent.DelayQueue.take(Unknown Source) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: JMX server connection timeout 126 State: TIMED_WAITING on [I@1b5eba4 Total blocked: 11 Total waited: 12 Stack trace: java.lang.Object.wait(Native Method) com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: RMI TCP Connection(2)-192.9.201.25 State: RUNNABLE Total blocked: 0 Total waited: 0 Stack trace: java.net.SocketInputStream.socketRead0(Native Method) java.net.SocketInputStream.read(Unknown Source) java.io.BufferedInputStream.fill(Unknown Source) java.io.BufferedInputStream.read(Unknown Source) - locked java.io.BufferedInputStream@149959a java.io.FilterInputStream.read(Unknown Source) sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Name: RMI TCP Connection(4)-192.9.201.25 State: RUNNABLE Total blocked: 1 Total waited: 0 Stack trace: java.net.SocketInputStream.socketRead0(Native Method) java.net.SocketInputStream.read(Unknown Source) java.io.BufferedInputStream.fill(Unknown Source) java.io.BufferedInputStream.read(Unknown Source) - locked java.io.BufferedInputStream@6489f0 java.io.FilterInputStream.read(Unknown Source) sun.rmi.transport.tcp.TCPTransport.han More information forwarded by the CAP member: The problem was from (and this is in the stack from the original description) here: java.lang.Object.wait(Native Method) java.awt.MediaTracker.waitForID(Unknown Source) javax.swing.ImageIcon.loadImage(Unknown Source) javax.swing.ImageIcon.<init>(Unknown Source) javax.swing.ImageIcon.<init>(Unknown Source) dsi.client.module.login.LoginPanel.comboBoxEventOccurred(LoginPanel.java:348) This looks benign enough, but because of a setup issue, this image was being loaded from a different server (with a self-signed certificate). I think it was this that brought up the dialog that locked up the system. I have replicated an XP box running 1.6.0_04. I don't know if there is a race condition here that makes it a bit random. It seems, though, that once it happens, it will never work again. (Changing the Image to be on the same server...with the certificate that was already accepted works, however.) EventQueue 0 is waiting on Javaws Secure Thread Image Fetcher 0 is waiting on Javaws Secure Thread Javaws Secure Thread is waiting on something from an EventQueue EventQueue 1 is waiting on something, maybe an AWT event
|