- From: Owen Roberts <oroberts@baltimore.com>
- Date: Thu, 16 Aug 2001 17:26:08 +0100
- To: Yves Lafon <ylafon@w3.org>
- Cc: Harmeet <harmeet@kodemuse.com>, www-jigsaw@w3.org
BrIlliant! By adding the setMaxConnections(100); line HttpManager manager = HttpManager.getManager() ; manager.setMaxConnections(100); it works fine. I'm guessing the garbage collection doesn't have time to clean up the connections before allowing re-use? Thanks very much, OWen > -----Original Message----- > From: Yves Lafon [mailto:ylafon@w3.org] > Sent: 16 August 2001 17:19 > To: Owen Roberts > Cc: Harmeet; www-jigsaw@w3.org > Subject: RE: HttpManager hangs. > > > 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:29:01 UTC