RE: HttpManager hangs.

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.

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."
> 

Received on Thursday, 16 August 2001 12:13:24 UTC