- From: Yves Lafon <ylafon@w3.org>
- Date: Thu, 16 Aug 2001 18:18:42 +0200 (MET DST)
- To: Owen Roberts <oroberts@baltimore.com>
- cc: Harmeet <harmeet@kodemuse.com>, <www-jigsaw@w3.org>
On Thu, 16 Aug 2001, Owen Roberts wrote: > Hi - heres a stack trace of the process when it has locked up. > I just hit exit on the command prompt - forcing this text up. Can you retry with a modification of the org.w3c.www.protocol.http.connections.max property? By default it should be around 5, please try with something better like 100 (edit http-server.props, or it should be available from the Proxy perperty (max connections). Does it stays forever that way or is the socket timeout kicking in at some point? > > Thanks , > OWen > > > start a get... > complete a get... > start a get... > complete a get... > start a get... > complete a get... > start a get... > complete a get... > start a get... > complete a get... > start a get... > > Full thread dump Classic VM (JDK-1.2.2-001-Symc-092, native threads): > "SymcJIT-LazyCompilation-0" (TID:0x14de6e8, sys_thread_t:0x4a49140, > state:CW > , native ID:0x3a8) prio=1 > at SymantecJITCompilationThread.run(JITcompilationthread.java, > Compiled > Code) > "SymcJIT-LazyCompilation-PA" (TID:0x14de6a8, sys_thread_t:0x4a48008, > state:C > W, native ID:0x618) prio=10 > at java.lang.Object.wait(Object.java:424) > at SymantecJITCompilationThread.run(JITcompilationthread.java, > Compiled > Code) > "Finalizer" (TID:0x14d9320, sys_thread_t:0x498e1c8, state:CW, native > ID:0x76 > 4) prio=8 > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:112) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) > at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174) > "Reference Handler" (TID:0x14d93b0, sys_thread_t:0x498a2e0, state:CW, > native > ID:0x44c) prio=10 > at java.lang.Object.wait(Object.java:424) > at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114) > "Signal dispatcher" (TID:0x14d93e0, sys_thread_t:0x49891f8, state:R, > native > ID:0x6c4) prio=5 > "main" (TID:0x14d91e0, sys_thread_t:0x2f8198, state:CW, native ID:0x608) > pri > o=5 > at java.lang.Object.wait(Object.java:424) > at > org.w3c.www.protocol.http.HttpManager.waitForConnection(HttpManager.j > ava:597) > at > org.w3c.www.protocol.http.HttpBasicServer.getConnection(HttpBasicServ > er.java, Compiled Code) > at > org.w3c.www.protocol.http.HttpBasicServer.runRequest(HttpBasicServer. > java, Compiled Code) > at > org.w3c.www.protocol.http.HttpManager.runRequest(HttpManager.java, Co > mpiled Code) > at testProblem.main(testProblem.java, Compiled Code) > Monitor Cache Dump: > SymantecJITCompilationThread@14DE6E8/1536418: <unowned> > Waiting to be notified: > "SymcJIT-LazyCompilation-PA" (0x4a48008) > java.lang.ref.ReferenceQueue$Lock@14D9338/150ED78: <unowned> > Waiting to be notified: > "Finalizer" (0x498e1c8) > org.w3c.www.protocol.http.HttpManager@150B4C8/1642AB0: <unowned> > Waiting to be notified: > "main" (0x2f8198) > java.lang.ref.Reference$Lock@14D93C0/150E8A8: <unowned> > Waiting to be notified: > "Reference Handler" (0x498a2e0) > Registered Monitor Dump: > SymcJIT Method Monitor: <unowned> > SymcJIT Method Monitor: <unowned> > SymcJIT Lazy Queue Lock: <unowned> > Waiting to be notified: > "SymcJIT-LazyCompilation-0" (0x4a49140) > SymcJIT Method Monitor: <unowned> > SymcJIT Method List Monitor: <unowned> > SymcJIT Lock: <unowned> > utf8 hash table: <unowned> > JNI pinning lock: <unowned> > JNI global reference lock: <unowned> > BinClass lock: <unowned> > Class linking lock: <unowned> > System class loader lock: <unowned> > Code rewrite lock: <unowned> > Heap lock: <unowned> > Monitor cache lock: owner "Signal dispatcher" (0x49891f8) 1 entry > Thread queue lock: owner "Signal dispatcher" (0x49891f8) 1 entry > Monitor registry: owner "Signal dispatcher" (0x49891f8) 1 entry > > > > changing GET to a POST .. > > start a get... > complete a get... > start a get... > complete a get... > start a get... > complete a get... > start a get... > complete a get... > start a get... > complete a get... > start a get... > > Full thread dump Classic VM (JDK-1.2.2-001-Symc-092, native threads): > "SymcJIT-LazyCompilation-0" (TID:0x14de6e8, sys_thread_t:0x4a49140, > state:CW > , native ID:0x4e4) prio=1 > at SymantecJITCompilationThread.run(JITcompilationthread.java, > Compiled > Code) > "SymcJIT-LazyCompilation-PA" (TID:0x14de6a8, sys_thread_t:0x4a48008, > state:C > W, native ID:0x3a8) prio=10 > at java.lang.Object.wait(Object.java:424) > at SymantecJITCompilationThread.run(JITcompilationthread.java, > Compiled > Code) > "Finalizer" (TID:0x14d9320, sys_thread_t:0x498e1c8, state:CW, native > ID:0x39 > 0) prio=8 > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:112) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) > at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174) > "Reference Handler" (TID:0x14d93b0, sys_thread_t:0x498a2e0, state:CW, > native > ID:0x44c) prio=10 > at java.lang.Object.wait(Object.java:424) > at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114) > "Signal dispatcher" (TID:0x14d93e0, sys_thread_t:0x49891f8, state:R, > native > ID:0x764) prio=5 > "main" (TID:0x14d91e0, sys_thread_t:0x2f8198, state:CW, native ID:0x464) > pri > o=5 > at java.lang.Object.wait(Object.java:424) > at > org.w3c.www.protocol.http.HttpManager.waitForConnection(HttpManager.j > ava:597) > at > org.w3c.www.protocol.http.HttpBasicServer.getConnection(HttpBasicServ > er.java, Compiled Code) > at > org.w3c.www.protocol.http.HttpBasicServer.runRequest(HttpBasicServer. > java, Compiled Code) > at > org.w3c.www.protocol.http.HttpManager.runRequest(HttpManager.java, Co > mpiled Code) > at testProblem.main(testProblem.java, Compiled Code) > Monitor Cache Dump: > SymantecJITCompilationThread@14DE6E8/1536418: <unowned> > Waiting to be notified: > "SymcJIT-LazyCompilation-PA" (0x4a48008) > java.lang.ref.ReferenceQueue$Lock@14D9338/150ED78: <unowned> > Waiting to be notified: > "Finalizer" (0x498e1c8) > org.w3c.www.protocol.http.HttpManager@150B4C8/1642AB0: <unowned> > Waiting to be notified: > "main" (0x2f8198) > java.lang.ref.Reference$Lock@14D93C0/150E8A8: <unowned> > Waiting to be notified: > "Reference Handler" (0x498a2e0) > Registered Monitor Dump: > SymcJIT Method Monitor: <unowned> > SymcJIT Lazy Queue Lock: <unowned> > Waiting to be notified: > "SymcJIT-LazyCompilation-0" (0x4a49140) > SymcJIT Method Monitor: <unowned> > SymcJIT Method List Monitor: <unowned> > SymcJIT Lock: <unowned> > utf8 hash table: <unowned> > JNI pinning lock: <unowned> > JNI global reference lock: <unowned> > BinClass lock: <unowned> > Class linking lock: <unowned> > System class loader lock: <unowned> > Code rewrite lock: <unowned> > Heap lock: <unowned> > Monitor cache lock: owner "Signal dispatcher" (0x49891f8) 1 entry > Thread queue lock: owner "Signal dispatcher" (0x49891f8) 1 entry > Monitor registry: owner "Signal dispatcher" (0x49891f8) 1 entry > > > > -----Original Message----- > > From: Yves Lafon [mailto:ylafon@w3.org] > > Sent: 16 August 2001 16:48 > > To: Harmeet > > Cc: Owen Roberts; www-jigsaw@w3.org > > Subject: Re: HttpManager hangs. > > > > > > On Thu, 16 Aug 2001, Harmeet wrote: > > > > > I did the test with timing for > > > http://www.yahoo.com/ > > > http://www.kodemuse.com/index.html (this is my LAN Connected Site) > > > http://www.google.com/ > > > > > > http://www.yahoo.com/ > > > tried 30 iterations, total time=190 ms, did not hang > > > > > > http://www.kodemuse.com/index.html > > > tried 30 iterations, total time=21 ms, did not hang > > > > > > http://www.google.com/ > > > tried 30 iterations, stopped after 5. :-( > > > > > > Tried again > > > http://www.google.com/ > > > tried 30 iterations, stopped after 6. :-( > > > > Would it be possible th have a thread dump when that happens? > > > > > I am running on Windows 2000 and JDK 1.3. > > > > > > I have had one similar experience with Jigsaw: > > > In my past life, Jigsaw used to hang when serving static > > files in a stress > > > test/production environment. The workaround was use > > Servlets instead of the > > > default Resource Handlers. It worked well. > > > > Same here, If it is due to a locking problem, having a stack trace may > > help chasing it. Note that it never happened here while doing stress > > tests. > > > > > Not sure what the right solution for HttpManager is. Maybe > > you could switch > > > of some code there that you don't find useful/easy to > > follow and try. > > > > > > Harmeet > > > ----- Original Message ----- > > > From: "Owen Roberts" <oroberts@baltimore.com> > > > To: "Harmeet" <harmeet@kodemuse.com> > > > Sent: Thursday, August 16, 2001 3:01 AM > > > Subject: RE: HttpManager hangs. > > > > > > > > > > Hi Harmeet, > > > > > > > > Thanks very much for replying! Was the problem with > > Google the same as I > > > > experienced? > > > > > > > > I changed the code as you suggested. > > > > With http://www.yahoo.com/ it's fine - and does the 30 iterations. > > > > With http://www.google.com/, however it stops after 5. > > > > Also, with localhost, using a jigsaw server, it also > > stops after 5. > > > > And, with an internal lan web server running IIS, it > > stops after 5. > > > > > > > > This implies to me that when this operation is done in a > > fast loop, it > > > > hangs. Yahoo is a slower web page than the other three > > examples. I am > > > pretty > > > > sure this is a bug as it occurs with multiple server > > types and locations > > > > that are fast. > > > > > > > > Can you please try the operation with a local server? If > > you place these 2 > > > > files in the Jigsaw directory on a Win32 machine, all you > > have to do is > > > hit > > > > the batch file... although it feels like you are running > > Linux? :-) > > > > > > > > Thanks very much, > > > > OWen > > > > > > > > > > > > > -----Original Message----- > > > > > From: Harmeet [mailto:harmeet@kodemuse.com] > > > > > Sent: 16 August 2001 7:36 > > > > > To: Owen Roberts > > > > > Subject: Re: HttpManager hangs. > > > > > > > > > > > > > > > I ran a slightly diffierent test, and it worked. > > > > > I used this jpython code to run the test. Thought it > > was simpler and > > > > > functionally equivalent > > > > > > > > > > def jighttptest(): > > > > > from org.w3c.www.protocol.http import HttpManager > > > > > from java.net import URL > > > > > mgr = HttpManager.getManager() > > > > > u = URL('http://www.yahoo.com/') > > > > > for i in range(0,30): > > > > > req = mgr.createRequest() ; > > > > > req.setMethod('GET') > > > > > req.setURL(u) > > > > > reply = mgr.runRequest(req); > > > > > print i,'done' > > > > > > > > > > This test worked fine. I had a problem with google, but I > > > > > doubt that has > > > > > anything to do with Jigsaw. > > > > > > > > > > Harmeet > > > > > ----- Original Message ----- > > > > > From: "Owen Roberts" <oroberts@baltimore.com> > > > > > To: <www-jigsaw@w3.org> > > > > > Sent: Wednesday, August 15, 2001 5:41 AM > > > > > Subject: HttpManager hangs. > > > > > > > > > > > > > > > > Hi all, > > > > > > > > > > > > I am having real difficulty working out why HttpManager > > > > > from Jigsaw 2.2.0 > > > > > is > > > > > > hanging on me. Can I ask a huge favour of the list - this > > > > > should only take > > > > > > two minutes. > > > > > > Could someone else that is using Jigsaw 2.2.0 please > > > > > confirm that they can > > > > > > reproduce this problem? > > > > > > Below are two files - i didn't attach them as Im not sure > > > > > of attachment > > > > > > etiquette. > > > > > > The first will build the second under Win32 if you recreate > > > > > these files > > > > > > under the root of your Jigsaw installation directory. > > > > > > > > > > > > The output should be 30 iterations of the loop, GETting a > > > > > known fast web > > > > > > page. > > > > > > HOwever, only a few iterations are printed out before the > > > > > program hangs > > > > > > inside manager.runRequest(); > > > > > > > > > > > > I would be _very_ appreciative of anyone who can confirm > > > > > this is a bug so > > > > > I > > > > > > can raise it with the Jigsaw team. > > > > > > > > > > > > Thanks _very_ much for your time, > > > > > > Owen Roberts. > > > > > > > > > > > > > > > > > > -------------------testProblem.bat---------------- > > > > > > set CLASSPATH=classes\jigsaw.jar;.; > > > > > > javac -classpath %CLASSPATH% testProblem.java > > > > > > java -classpath %CLASSPATH% testProblem > > > > > > ----------------------end testProblem.bat-------------- > > > > > > > > > > > > -----------------start testProblem.java------- > > > > > > import java.lang.String; > > > > > > import java.net.*; > > > > > > import java.io.*; > > > > > > import java.util.*; > > > > > > import org.w3c.www.protocol.http.HttpManager; > > > > > > import org.w3c.www.protocol.http.HttpException; > > > > > > import org.w3c.www.protocol.http.Reply; > > > > > > import org.w3c.www.protocol.http.Request; > > > > > > import org.w3c.www.http.HTTP; > > > > > > import org.w3c.www.mime.MimeType; > > > > > > > > > > > > > > > > > > public final class testProblem > > > > > > { > > > > > > public static void main (String[] args) > > > > > > { > > > > > > HttpManager manager = HttpManager.getManager() ; > > > > > > for (int i=0; i<30; i++) > > > > > > { > > > > > > try > > > > > > { > > > > > > Request request = manager.createRequest() ; > > > > > > request.setMethod("GET") ; > > > > > > request.setURL(new > > URL("http://www.google.com/")); > > > > > > System.out.println("start a get..."); > > > > > > Reply reply = manager.runRequest(request) ; > > > > > > System.out.println("complete a get..."); > > > > > > } > > > > > > catch(MalformedURLException e) > > > > > > { > > > > > > System.out.println("caught: " + e.toString()); > > > > > > } > > > > > > catch(HttpException e) > > > > > > { > > > > > > System.out.println("caught: " + e.toString()); > > > > > > } > > > > > > catch(IOException e) > > > > > > { > > > > > > System.out.println("caught: " + e.toString()); > > > > > > } > > > > > > } > > > > > > } > > > > > > } > > > > > > ----------------------------end > > testProblem.java----------------- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------- > > > > > ------------ > > > > > --- > > > > > > Baltimore Technologies plc will not be liable for > > direct, special, > > > > > indirect > > > > > > or consequential damages arising from alteration of > > > > > the contents of > > > > > this > > > > > > message by a third party or as a result of any virus being > > > > > passed on. > > > > > > > > > > > > In addition, certain Marketing collateral may be added from > > > > > time to time > > > > > to > > > > > > promote Baltimore Technologies products, services, Global > > > > > e-Security or > > > > > > appearance at trade shows and conferences. > > > > > > > > > > > > This footnote confirms that this email message has > > been swept by > > > > > > Baltimore MIMEsweeper for Content Security threats, including > > > > > > computer viruses. > > > > > > http://www.baltimore.com > > > > > > > > > > > > > > > > > > > > > > > > > > This footnote confirms that this email message has been swept by > > > > > MIMEsweeper for the presence of computer viruses. > > > > > > > > > > > > > > > > > > > > > > > -- > > Yves Lafon - W3C > > "Baroula que barouleras, au tiéu toujou t'entourneras." > > > -- Yves Lafon - W3C "Baroula que barouleras, au tiéu toujou t'entourneras."
Received on Thursday, 16 August 2001 12:18:57 UTC