seg faults from Jigsaw

I've been playing around a bit with Jigsaw - I've subclassed
DirectoryResource and FileResource so that my classes are used
for most requests.

Anyhow the problem that I'm getting segmentation violations
from Jigsaw.  It seems that it is only occuring when there
are multiple symultaneous requests occuring.  Ie if I request
a page that has inline img tags I get a seg fault.

The request that caused this was /JavaScript/index.html which
is a frame set that has /JavaScript/navbar.html and
/JavaScript/content.html as its two frames.

Here is the output from Jigsaw...: (idle threads removed)

loading properties from: /home/leachbj/Jigsaw/Jigsaw/config/httpd.props
[httpd]: listening at:http://bern:9999
creating directory /home/leachbj/Jigsaw/Jigsaw/WWW/JavaScript
creating file /home/leachbj/Jigsaw/Jigsaw/WWW/JavaScript/index.html
creating file /home/leachbj/Jigsaw/Jigsaw/WWW/JavaScript/content.html
creating file /home/leachbj/Jigsaw/Jigsaw/WWW/JavaScript/navbar.html
SIGSEGV   11*  segmentation violation

Full thread dump:
    "httpd" (TID:0x404bed58, sys_thread_t:0x41483f2c) prio=10
        java.net.PlainSocketImpl.accept(PlainSocketImpl.java:158)
        java.net.ServerSocket.accept(ServerSocket.java:115)
        w3c.jigsaw.http.httpd.run(httpd.java:844)
        java.lang.Thread.run(Thread.java)
    "client3" (TID:0x404be8c0, sys_thread_t:0x41395f2c) prio=5
        java.lang.Object.wait(Object.java)
        w3c.jigsaw.http.Client.loopForBinding(Client.java:617)
        w3c.jigsaw.http.Client.run(Client.java:553)
        java.lang.Thread.run(Thread.java)
    "client2" (TID:0x404be818, sys_thread_t:0x41373f2c) prio=5 *current
thread*
        java.net.PlainSocketImpl.create(PlainSocketImpl.java:61)
        java.net.Socket.<init>(Socket.java:93)
        java.net.Socket.<init>(Socket.java:70)
        sun.net.NetworkClient.openServer(NetworkClient.java:47)
        sun.net.www.http.HttpClient.openServer(HttpClient.java:127)
        sun.net.www.http.HttpClient.<init>(HttpClient.java:412)
       
sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:68)
       
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:159)
        java.net.URL.openStream(URL.java:341)
        w3c.jigsaw.replicate.ReplicatedFile.get(ReplicatedFile.java:36)
        w3c.jigsaw.resources.HTTPResource.perform(HTTPResource.java:435)
       
w3c.jigsaw.resources.FilteredResource.perform(FilteredResource.java:258)
        w3c.jigsaw.http.Client.processRequest(Client.java:290)
        w3c.jigsaw.http.Client.loop(Client.java:500)
        w3c.jigsaw.http.Client.runConnection(Client.java:572)
        w3c.jigsaw.http.Client.run(Client.java:555)
        java.lang.Thread.run(Thread.java)
    "client1" (TID:0x404be768, sys_thread_t:0x41351f2c) prio=5
        java.net.SocketInputStream.read(SocketInputStream.java:97)
        java.io.BufferedInputStream.fill(BufferedInputStream.java)
        java.io.BufferedInputStream.read(BufferedInputStream.java)
        java.io.FilterInputStream.read(FilterInputStream.java)
        sun.net.TelnetInputStream.read(TelnetInputStream.java:101)
        java.io.DataInputStream.readLine(DataInputStream.java)
        sun.net.www.http.HttpClient.processRequest(HttpClient.java:224)
       
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:172)
        java.net.URL.openStream(URL.java:341)
        w3c.jigsaw.replicate.ReplicatedFile.get(ReplicatedFile.java:36)
        w3c.jigsaw.resources.HTTPResource.perform(HTTPResource.java:435)
       
w3c.jigsaw.resources.FilteredResource.perform(FilteredResource.java:258)
        w3c.jigsaw.http.Client.processRequest(Client.java:290)
        w3c.jigsaw.http.Client.loop(Client.java:500)
        w3c.jigsaw.http.Client.runConnection(Client.java:572)
        w3c.jigsaw.http.Client.run(Client.java:555)
        java.lang.Thread.run(Thread.java)
    "client0" (TID:0x404be6c0, sys_thread_t:0x4132ff2c) prio=5
        java.net.SocketInputStream.read(SocketInputStream.java:97)
        java.io.BufferedInputStream.fill(BufferedInputStream.java)
        java.io.BufferedInputStream.read(BufferedInputStream.java)
        w3c.jigsaw.http.HTTPParser.getRequest(HTTPParser.java:120)
        w3c.jigsaw.http.Client.getNextRequest(Client.java:261)
        w3c.jigsaw.http.Client.loop(Client.java:496)
        w3c.jigsaw.http.Client.runConnection(Client.java:572)
        w3c.jigsaw.http.Client.run(Client.java:555)
        java.lang.Thread.run(Thread.java)
    "Event Manager" (TID:0x404be5a8, sys_thread_t:0x4130df2c) prio=9
        w3c.tools.timers.EventManager.getNextEvent(EventManager.java)
        w3c.tools.timers.EventManager.run(EventManager.java)
    "StoreSweeper" (TID:0x404bd488, sys_thread_t:0x412ebf2c) prio=5
        java.lang.Object.wait(Object.java)
       
w3c.jigsaw.resources.StoreManagerSweeper.waitEvent(ResourceStoreManager.java:213)
       
w3c.jigsaw.resources.StoreManagerSweeper.run(ResourceStoreManager.java:231)
    "Finalizer thread" (TID:0x404bc370, sys_thread_t:0x412c5f2c) prio=1
    "Async Garbage Collector" (TID:0x404bc318, sys_thread_t:0x412a3f2c)
prio=1
    "Idle thread" (TID:0x404bc2a0, sys_thread_t:0x41281f2c) prio=0
    "clock handler" (TID:0x404bc1f8, sys_thread_t:0x4125ff2c) prio=11
    "main" (TID:0x404bc0a0, sys_thread_t:0x81d1e00) prio=5
Monitor Cache Dump:
    java.io.BufferedInputStream@404C1368/4050A240 (key=0x404c1368):    
monitor owner: "client1"
    java.net.PlainSocketImpl@404BE588/404F9C80 (key=0x404be588):    
monitor owner: "httpd"
    w3c.jigsaw.http.Client@404BEC08/404F6440 (key=0x404bec08):    
unowned
        Waiting to be notified:
            "client8"
    w3c.jigsaw.http.Client@404BEA08/404F6218 (key=0x404bea08):    
unowned
        Waiting to be notified:
            "client5"
    java.net.PlainSocketImpl@404C15C8/4050B960 (key=0x404c15c8):    
monitor owner: "client2"
    w3c.jigsaw.http.Client@404BECB0/404F64E0 (key=0x404becb0):    
unowned
        Waiting to be notified:
            "client9"
    w3c.jigsaw.resources.StoreManagerSweeper@404BD488/404F2FF8
(key=0x404bd488):     unowned
        Waiting to be notified:
            "StoreSweeper"
    w3c.jigsaw.http.Client@404BEAB8/404F6300 (key=0x404beab8):    
unowned
        Waiting to be notified:
            "client6"
    w3c.jigsaw.http.Client@404BE8B8/404F60D8 (key=0x404be8b8):    
unowned
        Waiting to be notified:
            "client3"
    w3c.tools.timers.EventManager@404BE5A8/404F5AF8
(key=0x404be5a8):     unowned
        Waiting to be notified:
            "Event Manager"
    sun.net.www.http.HttpClient@404C15B8/4050B928 (key=0x404c15b8):    
monitor owner: "client2"
    java.io.BufferedInputStream@404BC2E8/404F6980 (key=0x404bc2e8):    
monitor owner: "client0"
    unknown key (key=0x412a3f2c):     unowned
        Waiting to be notified:
            "Async Garbage Collector"
    w3c.jigsaw.http.Client@404BEB60/404F63A0 (key=0x404beb60):    
unowned
        Waiting to be notified:
            "client7"
    w3c.jigsaw.http.Client@404BE960/404F6178 (key=0x404be960):    
unowned
        Waiting to be notified:
            "client4"
Registered Monitor Dump:
    Finalize me queue lock:     unowned
        Waiting to be notified:
            "Finalizer thread"
    Thread queue lock:     unowned
        Waiting to be notified:
            "main"
    Class lock:     unowned
    Java stack lock:     unowned
    Code rewrite lock:     unowned
    Heap lock:     unowned
    Has finalization queue lock:     unowned
    Monitor IO lock:     unowned
    Child death monitor:     unowned
    Event monitor:     unowned
    I/O monitor:     unowned
    Alarm monitor:     unowned
        Waiting to be notified:
            "clock handler"
    Monitor cache lock:     unowned
    Monitor registry:     monitor owner: "client2"
Thread Alarm Q:
    sys_thread_t 0x41483f2c   [Timeout expired]
    sys_thread_t 0x4132ff2c   [Timeout expired]
    sys_thread_t 0x41351f2c   [Timeout expired]
    sys_thread_t 0x412a3f2c   [Timeout in 458 ms]
    sys_thread_t 0x4130df2c   [Timeout in 49581 ms]

--
Bernard Leach                    La Trobe Uni Melbourne Australia
leachbj@cs.latrobe.edu.au        http://www.cs.latrobe.edu.au/~leachbj/

Received on Sunday, 18 August 1996 04:02:40 UTC