freebsd-java Digest, Vol 108, Issue 2

xordos dos xordos at gmail.com
Thu Apr 21 15:11:00 PDT 2005


> On Wed, Apr 20, 2005 at 03:42:05PM +0100, Ian G wrote:
> > Guido van Rooij wrote:
> >
> > >                psCompact.execute();
> > >
> > >The execute just hangs.
> >
> > If you send a sig 3 (I think, experiment) to the JVM, it
> > will dump the stack and thread traces and stuff, this may
> > give you enough information to work out where it is
> > hanging.
> 
> Unfortunately not. Here is the trace.
> Apparently I'm reading it wrong:
> "TimerQueue" daemon prio=5 tid=0x0816cc00 nid=0x8403800 in Object.wait() [bf822000..bf822d00]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2d04d7c8> (a javax.swing.TimerQueue)
>         at javax.swing.TimerQueue.run(TimerQueue.java:231)
>         - locked <0x2d04d7c8> (a javax.swing.TimerQueue)
>         at java.lang.Thread.run(Thread.java:534)
> This seem like a deadlock to me, because it has 0x2d04d7c8 locked but it
> is also waiting for it. However if this is truel the trace is full of deadlocks.
> 
> -Guido
> 
> Full thread dump Java HotSpot(TM) Client VM (1.4.2-p6-devet_09_dec_2004_22_03 mixed mode):
> 
> "Thread-4" prio=3 tid=0x080e3600 nid=0x8372600 runnable [bf8a4000..bf8a4d00]
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
>         - locked <0x2d05b8c8> (a java.io.BufferedInputStream)
>         at java.io.FilterInputStream.read(FilterInputStream.java:66)
>         at org.hsqldb.lib.InOutUtil.readInt(Unknown Source)
>         at org.hsqldb.Result.read(Unknown Source)
>         at org.hsqldb.HSQLClientConnection.read(Unknown Source)
>         at org.hsqldb.HSQLClientConnection.execute(Unknown Source)
>         - locked <0x2d05b930> (a org.hsqldb.HSQLClientConnection)
>         at org.hsqldb.jdbc.jdbcPreparedStatement.execute(Unknown Source)
>         at org.parosproxy.paros.db.DatabaseServer.shutdown(Unknown Source)
>         at org.parosproxy.paros.db.Database.close(Unknown Source)
>         at org.parosproxy.paros.model.Model.copySessionDb(Unknown Source)
>         at org.parosproxy.paros.model.Model.moveSessionDb(Unknown Source)
>         at org.parosproxy.paros.model.Session.save(Unknown Source)
>         at org.parosproxy.paros.model.Session.access$000(Unknown Source)
>         at org.parosproxy.paros.model.Session$2.run(Unknown Source)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "TimerQueue" daemon prio=5 tid=0x0816cc00 nid=0x8403800 in Object.wait() [bf822000..bf822d00]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2d04d7c8> (a javax.swing.TimerQueue)
>         at javax.swing.TimerQueue.run(TimerQueue.java:231)
>         - locked <0x2d04d7c8> (a javax.swing.TimerQueue)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "DestroyJavaVM" prio=5 tid=0x08058a00 nid=0x8058000 waiting on condition [0..bfbfd830]
> 
> "Thread-3" daemon prio=10 tid=0x084bf000 nid=0x84bf200 runnable [bf598000..bf598d00]
>         at java.net.PlainSocketImpl.socketAccept(Native Method)
>         at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
>         - locked <0x2cfdf298> (a java.net.PlainSocketImpl)
>         at java.net.ServerSocket.implAccept(ServerSocket.java:448)
>         at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.accept(DashoA6275)
>         at org.parosproxy.paros.core.proxy.ProxyServer.run(Unknown Source)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "Thread-2" daemon prio=10 tid=0x084b8c00 nid=0x84b8e00 runnable [bf5d9000..bf5d9d00]
>         at java.net.PlainSocketImpl.socketAccept(Native Method)
>         at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
>         - locked <0x2cfdf458> (a java.net.PlainSocketImpl)
>         at java.net.ServerSocket.implAccept(ServerSocket.java:448)
>         at java.net.ServerSocket.accept(ServerSocket.java:419)
>         at org.parosproxy.paros.core.proxy.ProxyServer.run(Unknown Source)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "Thread-1" daemon prio=5 tid=0x084a0a00 nid=0x84a0c00 waiting on condition [bf61a000..bf61ad00]
>         at java.lang.Thread.sleep(Native Method)
>         at org.parosproxy.paros.extension.filter.ExtensionFilter.run(Unknown Source)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "HSQLDB Connection @1c18a4c" prio=5 tid=0x08465600 nid=0x8465800 runnable [bf65b000..bf65bd00]
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
>         - locked <0x2ce777c8> (a java.io.BufferedInputStream)
>         at org.hsqldb.lib.InOutUtil.readInt(Unknown Source)
>         at org.hsqldb.Result.read(Unknown Source)
>         at org.hsqldb.ServerConnection.run(Unknown Source)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "HSQLDB Connection @1a0ae6" prio=5 tid=0x08465200 nid=0x8465400 runnable [bf69c000..bf69cd00]
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
>         - locked <0x2ce780e0> (a java.io.BufferedInputStream)
>         at org.hsqldb.lib.InOutUtil.readInt(Unknown Source)
>         at org.hsqldb.Result.read(Unknown Source)
>         at org.hsqldb.ServerConnection.run(Unknown Source)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "HSQLDB Connection @457d21" prio=5 tid=0x08463e00 nid=0x8465000 runnable [bf6dd000..bf6ddd00]
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
>         - locked <0x2ce789e8> (a java.io.BufferedInputStream)
>         at org.hsqldb.lib.InOutUtil.readInt(Unknown Source)
>         at org.hsqldb.Result.read(Unknown Source)
>         at org.hsqldb.ServerConnection.run(Unknown Source)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "HSQLDB Connection @4ed904" prio=5 tid=0x0845a600 nid=0x845a800 runnable [bf71e000..bf71ed00]
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
>         - locked <0x2ce64670> (a java.io.BufferedInputStream)
>         at org.hsqldb.lib.InOutUtil.readInt(Unknown Source)
>         at org.hsqldb.Result.read(Unknown Source)
>         at org.hsqldb.ServerConnection.run(Unknown Source)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "HSQLDB Timer @61373f" daemon prio=5 tid=0x08450800 nid=0x8450a00 in Object.wait() [bf75f000..bf75fd00]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2cd17308> (a org.hsqldb.lib.HsqlTimer)
>         at java.lang.Object.wait(Object.java:429)
>         at org.hsqldb.lib.HsqlTimer.nextTask(Unknown Source)
>         - locked <0x2cd17308> (a org.hsqldb.lib.HsqlTimer)
>         at org.hsqldb.lib.HsqlTimer$TaskRunner.run(Unknown Source)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "HSQLDB Server @b957ea" prio=5 tid=0x08430c00 nid=0x8430e00 runnable [bf7a0000..bf7a0d00]
>         at java.lang.Object.wait(Native Method)
>         at org.hsqldb.Server.shutdown(Unknown Source)
>         at org.hsqldb.Server.run(Unknown Source)
>         at org.hsqldb.Server.access$000(Unknown Source)
>         at org.hsqldb.Server$ServerThread.run(Unknown Source)
> 
> "AWT-EventQueue-0" prio=6 tid=0x08413400 nid=0x8413600 in Object.wait() [bf7e1000..bf7e1d00]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2cc9f9c0> (a java.awt.EventQueue)
>         at java.lang.Object.wait(Object.java:429)
>         at java.awt.EventQueue.getNextEvent(EventQueue.java:339)
>         - locked <0x2cc9f9c0> (a java.awt.EventQueue)
>         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:162)
>         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
>         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:141)
>         at java.awt.Dialog$1.run(Dialog.java:540)
>         at java.awt.Dialog.show(Dialog.java:561)
>         at java.awt.Component.show(Component.java:1133)
>         at java.awt.Component.setVisible(Component.java:1088)
>         at org.parosproxy.paros.extension.AbstractDialog.setVisible(Unknown Source)
>         at org.parosproxy.paros.control.MenuFileControl.saveAsSession(Unknown Source)
>         at org.parosproxy.paros.view.MainMenuBar$4.actionPerformed(Unknown Source)
>         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
>         at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
>         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
>         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
>         at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
>         at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113)
>         at javax.swing.plaf.basic.BasicMenuItemUI$MenuDragMouseHandler.menuDragMouseReleased(BasicMenuItemUI.java:1006)
>         at javax.swing.JMenuItem.fireMenuDragMouseReleased(JMenuItem.java:584)
>         at javax.swing.JMenuItem.processMenuDragMouseEvent(JMenuItem.java:481)
>         at javax.swing.JMenuItem.processMouseEvent(JMenuItem.java:428)
>         at javax.swing.MenuSelectionManager.processMouseEvent(MenuSelectionManager.java:277)
>         at javax.swing.plaf.basic.BasicMenuUI$MouseInputHandler.mouseReleased(BasicMenuUI.java:360)
>         at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
>         at java.awt.Component.processMouseEvent(Component.java:5100)
>         at java.awt.Component.processEvent(Component.java:4897)
>         at java.awt.Container.processEvent(Container.java:1569)
>         at java.awt.Component.dispatchEventImpl(Component.java:3615)
>         at java.awt.Container.dispatchEventImpl(Container.java:1627)
>         at java.awt.Component.dispatchEvent(Component.java:3477)
>         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
>         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
>         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
>         at java.awt.Container.dispatchEventImpl(Container.java:1613)
>         at java.awt.Window.dispatchEventImpl(Window.java:1606)
>         at java.awt.Component.dispatchEvent(Component.java:3477)
>         at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
>         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
>         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
>         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
>         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
>         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
> 
> "Java2D Disposer" daemon prio=10 tid=0x0838b400 nid=0x838b600 in Object.wait() [bf863000..bf863d00]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2ccd8c30> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
>         - locked <0x2ccd8c30> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
>         at sun.java2d.Disposer.run(Disposer.java:100)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "AWT-Motif" daemon prio=6 tid=0x08372000 nid=0x8372200 runnable [bf8e5000..bf8e5d00]
>         at sun.awt.motif.MToolkit.run(Native Method)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "AWT-Shutdown" prio=5 tid=0x08366c00 nid=0x8366e00 in Object.wait() [bf926000..bf926d00]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2cc55dc8> (a java.lang.Object)
>         at java.lang.Object.wait(Object.java:429)
>         at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
>         - locked <0x2cc55dc8> (a java.lang.Object)
>         at java.lang.Thread.run(Thread.java:534)
> 
> "Signal Dispatcher" daemon prio=10 tid=0x08100600 nid=0x8100800 waiting on condition [0..0]
> 
> "Finalizer" daemon prio=8 tid=0x08100000 nid=0x8100200 in Object.wait() [bfa6b000..bfa6bd00]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2cbebea8> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
>         - locked <0x2cbebea8> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
>         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
> 
> "Reference Handler" daemon prio=10 tid=0x080b4c00 nid=0x80b4e00 in Object.wait() [bfaac000..bfaacd00]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2cbebf10> (a java.lang.ref.Reference$Lock)
>         at java.lang.Object.wait(Object.java:429)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
>         - locked <0x2cbebf10> (a java.lang.ref.Reference$Lock)
> 
> "VM Thread" prio=5 tid=0x080f5300 nid=0x80b4a00 runnable
> 
> "VM Periodic Task Thread" prio=10 tid=0x08108e80 nid=0x8058c00 waiting on condition
> "Suspend Checker Thread" prio=10 tid=0x08108a80 nid=0x8100400 runnable
> ^C21.642u 0.731s 0:29.88 74.8%  34+5827k 0+20io 0pf+0w
> [~/work/Paros/paros-3.2.0] guido at beck> ^Dexit
> 
> Script done on Thu Apr 21 09:13:05 2005
> 
> ------------------------------
> 
> _______________________________________________
> freebsd-java at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-java
> To unsubscribe, send any mail to "freebsd-java-unsubscribe at freebsd.org"
> 
> End of freebsd-java Digest, Vol 108, Issue 2
> ********************************************
> 
No, there is no deadlock. The thread simply goto wait state, and wait
some other thread to notify it.

I may guess it is a DB connection problem. 
Just my 2 cents.

Xordos.


More information about the freebsd-java mailing list