Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Apr 2005 18:10:58 -0400
From:      xordos dos <xordos@gmail.com>
To:        freebsd-java@freebsd.org
Subject:   Re: freebsd-java Digest, Vol 108, Issue 2
Message-ID:  <646f14be05042115106a8d7d33@mail.gmail.com>
In-Reply-To: <20050421120101.C0E0016A4CF@hub.freebsd.org>
References:  <20050421120101.C0E0016A4CF@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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.
>=20
> Unfortunately not. Here is the trace.
> Apparently I'm reading it wrong:
> "TimerQueue" daemon prio=3D5 tid=3D0x0816cc00 nid=3D0x8403800 in Object.w=
ait() [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 dea=
dlocks.
>=20
> -Guido
>=20
> Full thread dump Java HotSpot(TM) Client VM (1.4.2-p6-devet_09_dec_2004_2=
2_03 mixed mode):
>=20
> "Thread-4" prio=3D3 tid=3D0x080e3600 nid=3D0x8372600 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)
>=20
> "TimerQueue" daemon prio=3D5 tid=3D0x0816cc00 nid=3D0x8403800 in Object.w=
ait() [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)
>=20
> "DestroyJavaVM" prio=3D5 tid=3D0x08058a00 nid=3D0x8058000 waiting on cond=
ition [0..bfbfd830]
>=20
> "Thread-3" daemon prio=3D10 tid=3D0x084bf000 nid=3D0x84bf200 runnable [bf=
598000..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(DashoA=
6275)
>         at org.parosproxy.paros.core.proxy.ProxyServer.run(Unknown Source=
)
>         at java.lang.Thread.run(Thread.java:534)
>=20
> "Thread-2" daemon prio=3D10 tid=3D0x084b8c00 nid=3D0x84b8e00 runnable [bf=
5d9000..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)
>=20
> "Thread-1" daemon prio=3D5 tid=3D0x084a0a00 nid=3D0x84a0c00 waiting on co=
ndition [bf61a000..bf61ad00]
>         at java.lang.Thread.sleep(Native Method)
>         at org.parosproxy.paros.extension.filter.ExtensionFilter.run(Unkn=
own Source)
>         at java.lang.Thread.run(Thread.java:534)
>=20
> "HSQLDB Connection @1c18a4c" prio=3D5 tid=3D0x08465600 nid=3D0x8465800 ru=
nnable [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)
>=20
> "HSQLDB Connection @1a0ae6" prio=3D5 tid=3D0x08465200 nid=3D0x8465400 run=
nable [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)
>=20
> "HSQLDB Connection @457d21" prio=3D5 tid=3D0x08463e00 nid=3D0x8465000 run=
nable [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)
>=20
> "HSQLDB Connection @4ed904" prio=3D5 tid=3D0x0845a600 nid=3D0x845a800 run=
nable [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)
>=20
> "HSQLDB Timer @61373f" daemon prio=3D5 tid=3D0x08450800 nid=3D0x8450a00 i=
n 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)
>=20
> "HSQLDB Server @b957ea" prio=3D5 tid=3D0x08430c00 nid=3D0x8430e00 runnabl=
e [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)
>=20
> "AWT-EventQueue-0" prio=3D6 tid=3D0x08413400 nid=3D0x8413600 in Object.wa=
it() [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(EventDis=
patchThread.java:162)
>         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispa=
tchThread.java:151)
>         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispa=
tchThread.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(Unkno=
wn Source)
>         at org.parosproxy.paros.control.MenuFileControl.saveAsSession(Unk=
nown Source)
>         at org.parosproxy.paros.view.MainMenuBar$4.actionPerformed(Unknow=
n Source)
>         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.=
java:1786)
>         at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed=
(AbstractButton.java:1839)
>         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButt=
onModel.java:420)
>         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.j=
ava: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.me=
nuDragMouseReleased(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(MenuSelecti=
onManager.java:277)
>         at javax.swing.plaf.basic.BasicMenuUI$MouseInputHandler.mouseRele=
ased(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.ja=
va:3483)
>         at java.awt.LightweightDispatcher.processMouseEvent(Container.jav=
a:3198)
>         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:31=
28)
>         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(EventDis=
patchThread.java:201)
>         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispa=
tchThread.java:151)
>         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.ja=
va:145)
>         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.ja=
va:137)
>         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
>=20
> "Java2D Disposer" daemon prio=3D10 tid=3D0x0838b400 nid=3D0x838b600 in Ob=
ject.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)
>=20
> "AWT-Motif" daemon prio=3D6 tid=3D0x08372000 nid=3D0x8372200 runnable [bf=
8e5000..bf8e5d00]
>         at sun.awt.motif.MToolkit.run(Native Method)
>         at java.lang.Thread.run(Thread.java:534)
>=20
> "AWT-Shutdown" prio=3D5 tid=3D0x08366c00 nid=3D0x8366e00 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)
>=20
> "Signal Dispatcher" daemon prio=3D10 tid=3D0x08100600 nid=3D0x8100800 wai=
ting on condition [0..0]
>=20
> "Finalizer" daemon prio=3D8 tid=3D0x08100000 nid=3D0x8100200 in Object.wa=
it() [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=
)
>=20
> "Reference Handler" daemon prio=3D10 tid=3D0x080b4c00 nid=3D0x80b4e00 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:11=
5)
>         - locked <0x2cbebf10> (a java.lang.ref.Reference$Lock)
>=20
> "VM Thread" prio=3D5 tid=3D0x080f5300 nid=3D0x80b4a00 runnable
>=20
> "VM Periodic Task Thread" prio=3D10 tid=3D0x08108e80 nid=3D0x8058c00 wait=
ing on condition
> "Suspend Checker Thread" prio=3D10 tid=3D0x08108a80 nid=3D0x8100400 runna=
ble
> ^C21.642u 0.731s 0:29.88 74.8%  34+5827k 0+20io 0pf+0w
> =1B[1m[~/work/Paros/paros-3.2.0] guido@beck>=1B[m=0F ^D=08=08exit
>=20
> Script done on Thu Apr 21 09:13:05 2005
>=20
> ------------------------------
>=20
> _______________________________________________
> freebsd-java@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-java
> To unsubscribe, send any mail to "freebsd-java-unsubscribe@freebsd.org"
>=20
> End of freebsd-java Digest, Vol 108, Issue 2
> ********************************************
>=20
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.=20
Just my 2 cents.

Xordos.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?646f14be05042115106a8d7d33>