You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Bruce Nelson <bn...@css.filenet.com> on 1997/03/03 01:20:01 UTC

mod_cgi/217: CGI applications not closing properly when child process is not allowed to complete.

>Number:         217
>Category:       mod_cgi
>Synopsis:       CGI applications not closing properly when child process is not allowed to complete.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    apache (Apache HTTP Project)
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Sun Mar  2 16:20:00 1997
>Originator:     bnelson@css.filenet.com
>Organization:
apache
>Release:        1.2b2
>Environment:
AIX ver 4.2.0 (HW IBM G40 2 processor), XLC (native cc compiler) perl 5.003

Website -- http://www.css.filenet.com you can login as user guest, pw guest
>Description:
I am seeing a problem that is similar to a reported issue in your problem
database. when a nph cgi script is selected and then the user either selects
it again (from being impatient) or selects something else in another frame
before the initial nph cgi is allowed to complete, I find that the initial
nph script is left in a blocked state (waiting to send its output ?). The 
nph cgi script is in a run state and the parent process (the httpd process) is
left is alive and well. The appropiate behaviour should be to let the cgi script
dump its output and die -- the nph script is written in perl 5.003 and it does call
sybase via sybperl. The perl script appears to be hung at the point of writing
output. My only solution is to garbage collect if this happens or look at 
alternate means of writing async (if possible).
>How-To-Repeat:
Yes you can repeat this problem but you wont see the outcome on my site except
for seeing it get R-E-A-L slow. if you need a to reproduce on my site -- 
I know I could set up a little test, but I would wat to pass the particulars
privately.
>Fix:
No but I am looking into it
>Audit-Trail:
>Unformatted: