From: Shawn E. (JIRA) <ji...@co...> - 2007-06-03 05:00:00
|
[ http://jira.codehaus.org/browse/JETTY-356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_98140 ] Shawn Ellis commented on JETTY-356: ----------------------------------- Yep, the code in the trunk works fine. Thanks. > Problem with a thread continously looping after viewing one jpeg file > --------------------------------------------------------------------- > > Key: JETTY-356 > URL: http://jira.codehaus.org/browse/JETTY-356 > Project: Jetty > Issue Type: Bug > Components: HTTP > Affects Versions: 6.1.4rc0 > Environment: Mac OS X jdk 1.5.0_07 > Reporter: Shawn Ellis > Assignee: Jan Bartel > Attachments: jetty-356.patch > > > I updated with the latest version of the software from subversion and I'm now seeing a different problem that is related to JETTY-344. With the latest code, I'm seeing a thread within HttpConnection.handle that is continously looping without exiting. If I revert ByteBufferArray.java back to version 810, then the code works properly. I've included a thread dump of the problem that I'm seeing. Thanks for all of your help. > Here is how I was able to reproduce the problem: > 1) Start up the embedded example file from JETTY-344 > 2) Check your load average > 3) Visit http://localhost:9100/ee/earth.jpg > 4) Check your load average again and you will see that it keeps on increasing. > Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing): > "btpool0-2" prio=5 tid=0x00515530 nid=0x1869800 runnable [0xf0e0c000..0xf0e0cb30] > at java.lang.ThreadLocal.set(ThreadLocal.java:148) > at org.mortbay.jetty.HttpConnection.setCurrentConnection(HttpConnection.java:102) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:364) > at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:226) > at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) > "btpool0-1" prio=5 tid=0x005146e0 nid=0x186ae00 runnable [0xf0d8b000..0xf0d8bb30] > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:204) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:379) > at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:226) > at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) > "DestroyJavaVM" prio=5 tid=0x00501480 nid=0x1804600 waiting on condition [0x00000000..0xf07ffe70] > "Timer-0" prio=5 tid=0x00512f60 nid=0x184be00 in Object.wait() [0xf0d0a000..0xf0d0ab30] > at java.lang.Object.wait(Native Method) > - waiting on <0x26d2ba08> (a java.util.TaskQueue) > at java.util.TimerThread.mainLoop(Timer.java:509) > - locked <0x26d2ba08> (a java.util.TaskQueue) > at java.util.TimerThread.run(Timer.java:462) > "btpool0-0 - Acceptor0 SocketConnector @ 0.0.0.0:9100" prio=5 tid=0x0050ef70 nid=0x184ba00 runnable [0xf0c89000..0xf0c89b30] > at java.net.PlainSocketImpl.socketAccept(Native Method) > at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384) > - locked <0x26d60d10> (a java.net.SocksSocketImpl) > at java.net.ServerSocket.implAccept(ServerSocket.java:450) > at java.net.ServerSocket.accept(ServerSocket.java:421) > at org.mortbay.jetty.bio.SocketConnector.accept(SocketConnector.java:97) > at org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.java:516) > at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) > "Low Memory Detector" daemon prio=5 tid=0x0050a710 nid=0x1811600 runnable [0x00000000..0x00000000] > "CompilerThread0" daemon prio=9 tid=0x00509dc0 nid=0x1811200 waiting on condition [0x00000000..0xf0b06450] > "Signal Dispatcher" daemon prio=9 tid=0x00509950 nid=0x1810e00 waiting on condition [0x00000000..0x00000000] > "Finalizer" daemon prio=8 tid=0x00509130 nid=0x180fc00 in Object.wait() [0xf0a04000..0xf0a04b30] > at java.lang.Object.wait(Native Method) > - waiting on <0x26ca06e8> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) > - locked <0x26ca06e8> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) > at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) > "Reference Handler" daemon prio=10 tid=0x00508d40 nid=0x180ec00 in Object.wait() [0xf0983000..0xf0983b30] > at java.lang.Object.wait(Native Method) > - waiting on <0x26ca0768> (a java.lang.ref.Reference$Lock) > at java.lang.Object.wait(Object.java:474) > at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) > - locked <0x26ca0768> (a java.lang.ref.Reference$Lock) > "VM Thread" prio=9 tid=0x00508560 nid=0x1803c00 runnable > "VM Periodic Task Thread" prio=9 tid=0x0050bdc0 nid=0x1811a00 waiting on condition > "Exception Catcher Thread" prio=10 tid=0x005016f0 nid=0x1804a00 runnable -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |