From owner-freebsd-java@FreeBSD.ORG Thu Apr 21 22:11:00 2005 Return-Path: Delivered-To: freebsd-java@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A30B016A509 for ; Thu, 21 Apr 2005 22:11:00 +0000 (GMT) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.195]) by mx1.FreeBSD.org (Postfix) with ESMTP id 458FE43D39 for ; Thu, 21 Apr 2005 22:10:59 +0000 (GMT) (envelope-from xordos@gmail.com) Received: by wproxy.gmail.com with SMTP id 69so520818wri for ; Thu, 21 Apr 2005 15:10:58 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=reb4K4Co8KOn3Ct3RW1V7DZX99UK/UNMCrY6wtvqFoZY437RfekRDUhh2M7f0F6OGbZOYR+edwB54iPSFyaJBm5IoAyFEHf7+1UcacanaQei96NJWiDPrLJXrE0/Ar1zGwB5CI7si7kZpH50gLbWlxYjokAv6cuSNqLAXNOfVkE= Received: by 10.54.49.31 with SMTP id w31mr93395wrw; Thu, 21 Apr 2005 15:10:58 -0700 (PDT) Received: by 10.54.63.15 with HTTP; Thu, 21 Apr 2005 15:10:58 -0700 (PDT) Message-ID: <646f14be05042115106a8d7d33@mail.gmail.com> Date: Thu, 21 Apr 2005 18:10:58 -0400 From: xordos dos To: freebsd-java@freebsd.org In-Reply-To: <20050421120101.C0E0016A4CF@hub.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <20050421120101.C0E0016A4CF@hub.freebsd.org> Subject: Re: freebsd-java Digest, Vol 108, Issue 2 X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: xordos dos List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Apr 2005 22:11:00 -0000 > 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.