HELP: Status 302 in CgiResource

I've got a perl cgi application (foo) that has a redirec command in it.
The print statements that I am using are:

	print "Status: 302\n";
	print "Uri: http://vlad.terraweb.com/\n";
	print "Location: http://vlad.terraweb.com/\n";
	print "Content-type: text/html\n\n";

I have foo mapped to a CgiResource, and all invocations of it work
like a dream.  But the "Exit" button which does the redirect just
causes the browser to spin.  I have to cancel/stop the connection and
then Jigsaw no longer responds.  I have to SIGTERM the process and
restart Jigsaw.  I put in some errlog print statements to do a trace
of the execution of the handleCGIOutput method and found the following
results:

[http-server] The svalue returned was |302|
 
[http-server] The location returned was |http://vlad.terraweb.com/|
 
[http-server] The svalue was |302|
 
[http-server] The status was |302|
 
[http-server] Returning the reply

So the handleCGIOutput is returning to the post method, which also
returns.

So I guess that I am at a loss as to what is going on.  The
'redirection' in the Admin work just fine.

Thanks,

Here is a SIGQUIT:


bash$ kill -QUIT 14999
SIGQUIT   3*   quit
    si_signo [3]: SIGQUIT   3*   quit
    si_errno [0]: Error 0
    si_code [0]: SI_USER [pid: 14998, uid: 159]
	stackbase=EF4F1000, stackpointer=EF4F0998

Full thread dump:
    "ProcessReaper" (TID:0xee304bc8, sys_thread_t:0xedba0de0) prio=5
	java.lang.ProcessReaper.run(UNIXProcess.java:41)
    "http-server" (TID:0xee305c60, sys_thread_t:0xedbd0de0) prio=10
	java.net.PlainSocketImpl.accept(PlainSocketImpl.java:320)
	java.net.ServerSocket.accept(ServerSocket.java:109)
	w3c.jigsaw.http.httpd.run(httpd.java)
	java.lang.Thread.run(Thread.java)
    "client39" (TID:0xee305be8, sys_thread_t:0xedc00de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client38"bash$  (TID:0xee305b58, sys_thread_t:0xedc30de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client37" (TID:0xee305ac8, sys_thread_t:0xedc60de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client36" (TID:0xee305a38, sys_thread_t:0xedc90de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client35" (TID:0xee3059a8, sys_thread_t:0xedcc0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client34" (TID:0xee305918, sys_thread_t:0xedcf0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client33" (TID:0xee305888, sys_thread_t:0xedd20de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client32" (TID:0xee3057f8, sys_thread_t:0xedd50de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client31" (TID:0xee305768, sys_thread_t:0xedd80de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client30" (TID:0xee3056d8, sys_thread_t:0xeddb0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client29" (TID:0xee305640, sys_thread_t:0xedde0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client28" (TID:0xee3055b0, sys_thread_t:0xede10de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client27" (TID:0xee305520, sys_thread_t:0xede40de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client26" (TID:0xee305490, sys_thread_t:0xede70de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client25" (TID:0xee305400, sys_thread_t:0xedea0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client24" (TID:0xee305370, sys_thread_t:0xeded0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client23" (TID:0xee3052e0, sys_thread_t:0xedf00de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client22" (TID:0xee305250, sys_thread_t:0xedf30de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client21" (TID:0xee3051c0, sys_thread_t:0xedf60de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client20" (TID:0xee305130, sys_thread_t:0xedf90de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client19" (TID:0xee3050a0, sys_thread_t:0xedfc0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client18" (TID:0xee305010, sys_thread_t:0xedff0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client17" (TID:0xee304f80, sys_thread_t:0xef050de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client16" (TID:0xee304ef0, sys_thread_t:0xef080de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client15" (TID:0xee304e60, sys_thread_t:0xef0b0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client14" (TID:0xee304dd0, sys_thread_t:0xef0e0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client13" (TID:0xee304d38, sys_thread_t:0xef110de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client12" (TID:0xee304ca8, sys_thread_t:0xef140de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client11" (TID:0xee304c18, sys_thread_t:0xef170de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client10" (TID:0xee304b88, sys_thread_t:0xef1a0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client9" (TID:0xee304af8, sys_thread_t:0xef1d0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client8" (TID:0xee304a68, sys_thread_t:0xef200de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client7" (TID:0xee3049d8, sys_thread_t:0xef230de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client6" (TID:0xee304948, sys_thread_t:0xef260de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client5" (TID:0xee3048b0, sys_thread_t:0xef290de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client4" (TID:0xee304820, sys_thread_t:0xef2c0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client3" (TID:0xee304790, sys_thread_t:0xef2f0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client2" (TID:0xee304700, sys_thread_t:0xef320de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.http.Client.loopForBinding(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "client1" (TID:0xee304668, sys_thread_t:0xef350de0) prio=5
	java.net.SocketInputStream.read(SocketInputStream.java:89)
	java.io.BufferedInputStream.fill(BufferedInputStream.java)
	java.io.BufferedInputStream.read(BufferedInputStream.java)
	w3c.www.http.ContentLengthInputStream.read(ContentLengthInputStream.java)
	w3c.jigsaw.http.Client.loop(Client.java)
	w3c.jigsaw.http.Client.runConnection(Client.java)
	w3c.jigsaw.http.Client.run(Client.java)
	java.lang.Thread.run(Thread.java)
    "Event Manager" (TID:0xee304388, sys_thread_t:0xef3b0de0) prio=9
	w3c.tools.timers.EventManager.getNextEvent(EventManager.java)
	w3c.tools.timers.EventManager.run(EventManager.java)
    "StoreSweeper" (TID:0xee302050, sys_thread_t:0xef3e0de0) prio=5
	java.lang.Object.wait(Object.java)
	w3c.jigsaw.resources.StoreManagerSweeper.waitEvent(ResourceStoreManager.java)
	w3c.jigsaw.resources.StoreManagerSweeper.run(ResourceStoreManager.java)
    "Finalizer thread" (TID:0xee3003b0, sys_thread_t:0xef490de0) prio=1
    "Async Garbage Collector" (TID:0xee300368, sys_thread_t:0xef4c0de0) prio=1
    "Idle thread" (TID:0xee300320, sys_thread_t:0xef4f0de0) prio=0 *current thread*
    "clock handler" (TID:0xee3001f8, sys_thread_t:0xef5b0de0) prio=11
    "main" (TID:0xee3000a0, sys_thread_t:0x7d6b8) prio=5
Monitor Cache Dump:
    w3c.jigsaw.http.Client@EE3055A0/EE340460 (key=0xee3055a0):     unowned
	Waiting to be notified:
	    "client28"
    w3c.jigsaw.http.Client@EE305A28/EE340BE8 (key=0xee305a28):     unowned
	Waiting to be notified:
	    "client36"
    w3c.jigsaw.http.Client@EE305120/EE33FDE0 (key=0xee305120):     unowned
	Waiting to be notified:
	    "client20"
    w3c.jigsaw.http.Client@EE304938/EE33F280 (key=0xee304938):     unowned
	Waiting to be notified:
	    "client6"
    w3c.jigsaw.resources.StoreManagerSweeper@EE302050/EE3389A0 (key=0xee302050):     unowned
	Waiting to be notified:
	    "StoreSweeper"
    unknown key (key=0xef4c0de0):     unowned
	Waiting to be notified:
	    "Async Garbage Collector"
    w3c.jigsaw.http.Client@EE3048A0/EE33F1B0 (key=0xee3048a0):     unowned
	Waiting to be notified:
	    "client5"
    w3c.jigsaw.http.Client@EE305630/EE340530 (key=0xee305630):     unowned
	Waiting to be notified:
	    "client29"
    w3c.jigsaw.http.Client@EE304D28/EE33F830 (key=0xee304d28):     unowned
	Waiting to be notified:
	    "client13"
    w3c.jigsaw.http.Client@EE305AB8/EE340CB8 (key=0xee305ab8):     unowned
	Waiting to be notified:
	    "client37"
    w3c.jigsaw.http.Client@EE3051B0/EE33FEB0 (key=0xee3051b0):     unowned
	Waiting to be notified:
	    "client21"
    w3c.jigsaw.http.Client@EE304810/EE33F0E0 (key=0xee304810):     unowned
	Waiting to be notified:
	    "client4"
    w3c.jigsaw.http.Client@EE305480/EE3402C0 (key=0xee305480):     unowned
	Waiting to be notified:
	    "client26"
    w3c.jigsaw.http.Client@EE304C98/EE33F760 (key=0xee304c98):     unowned
	Waiting to be notified:
	    "client12"
    w3c.jigsaw.http.Client@EE305908/EE340A48 (key=0xee305908):     unowned
	Waiting to be notified:
	    "client34"
    w3c.jigsaw.http.Client@EE305000/EE33FC40 (key=0xee305000):     unowned
	Waiting to be notified:
	    "client18"
    w3c.tools.timers.EventManager@EE304388/EE33E8E8 (key=0xee304388):     unowned
	Waiting to be notified:
	    "Event Manager"
    w3c.jigsaw.http.Client@EE305510/EE340390 (key=0xee305510):     unowned
	Waiting to be notified:
	    "client27"
    w3c.jigsaw.http.Client@EE304C08/EE33F690 (key=0xee304c08):     unowned
	Waiting to be notified:
	    "client11"
    w3c.jigsaw.http.Client@EE304780/EE33F010 (key=0xee304780):     unowned
	Waiting to be notified:
	    "client3"
    w3c.jigsaw.http.Client@EE305998/EE340B18 (key=0xee305998):     unowned
	Waiting to be notified:
	    "client35"
    w3c.jigsaw.http.Client@EE305090/EE33FD10 (key=0xee305090):     unowned
	Waiting to be notified:
	    "client19"
    w3c.jigsaw.http.Client@EE3057E8/EE3408A8 (key=0xee3057e8):     unowned
	Waiting to be notified:
	    "client32"
    w3c.jigsaw.http.Client@EE304F70/EE33FB70 (key=0xee304f70):     unowned
	Waiting to be notified:
	    "client17"
    w3c.jigsaw.http.Client@EE3046F0/EE33EF40 (key=0xee3046f0):     unowned
	Waiting to be notified:
	    "client2"
    w3c.jigsaw.http.Client@EE305360/EE340120 (key=0xee305360):     unowned
	Waiting to be notified:
	    "client24"
    w3c.jigsaw.http.Client@EE304B78/EE33F5C0 (key=0xee304b78):     unowned
	Waiting to be notified:
	    "client10"
    w3c.jigsaw.http.Client@EE304EE0/EE33FAA0 (key=0xee304ee0):     unowned
	Waiting to be notified:
	    "client16"
    java.net.PlainSocketImpl@EE304368/EE348648 (key=0xee304368):     monitor owner: "http-server"
    w3c.jigsaw.http.Client@EE305878/EE340978 (key=0xee305878):     unowned
	Waiting to be notified:
	    "client33"
    w3c.jigsaw.http.Client@EE3053F0/EE3401F0 (key=0xee3053f0):     unowned
	Waiting to be notified:
	    "client25"
    w3c.jigsaw.http.Client@EE304AE8/EE33F4F0 (key=0xee304ae8):     unowned
	Waiting to be notified:
	    "client9"
    w3c.jigsaw.http.Client@EE3056C8/EE340708 (key=0xee3056c8):     unowned
	Waiting to be notified:
	    "client30"
    w3c.jigsaw.http.Client@EE304E50/EE33F9D0 (key=0xee304e50):     unowned
	Waiting to be notified:
	    "client15"
    java.io.BufferedInputStream@EE300398/EE347A60 (key=0xee300398):     monitor owner: "client1"
    w3c.jigsaw.http.Client@EE305B48/EE340D88 (key=0xee305b48):     unowned
	Waiting to be notified:
	    "client38"
    w3c.jigsaw.http.Client@EE305240/EE33FF80 (key=0xee305240):     unowned
	Waiting to be notified:
	    "client22"
    w3c.jigsaw.http.Client@EE304A58/EE33F420 (key=0xee304a58):     unowned
	Waiting to be notified:
	    "client8"
    w3c.jigsaw.http.Client@EE305758/EE3407D8 (key=0xee305758):     unowned
	Waiting to be notified:
	    "client31"
    w3c.jigsaw.http.Client@EE304DC0/EE33F900 (key=0xee304dc0):     unowned
	Waiting to be notified:
	    "client14"
    w3c.jigsaw.http.Client@EE305BD8/EE340E58 (key=0xee305bd8):     unowned
	Waiting to be notified:
	    "client39"
    w3c.jigsaw.http.Client@EE3052D0/EE340050 (key=0xee3052d0):     unowned
	Waiting to be notified:
	    "client23"
    w3c.jigsaw.http.Client@EE3049C8/EE33F350 (key=0xee3049c8):     unowned
	Waiting to be notified:
	    "client7"
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
	Waiting to be notified:
	    "ProcessReaper"
    Event monitor:     unowned
    I/O monitor:     unowned
    Alarm monitor:     unowned
	Waiting to be notified:
	    "clock handler"
    Sbrk lock:     unowned
    Monitor cache lock:     unowned
    Monitor registry:     monitor owner: "Idle thread"
Thread Alarm Q:
    sys_thread_t 0xef4c0de0   [Timeout in 158 ms]
    sys_thread_t 0xef350de0   [Timeout in 198 ms]
    sys_thread_t 0xef3b0de0   [Timeout in 2969956 ms]

bash$ 

Received on Friday, 13 December 1996 17:54:22 UTC