Simple, I think, interrupt your CGI process in gdb to determine what line that hung up on. Bill samarjit adhikari wrote: > Hi All, > > > > Problem Description: > > --------------------- > > I have written a cgi script which does > > i) fork and exec a command with the child process > > ii) create pipe > > to read some data from the child process. The parent process waits untill it reads complete data from the child. > > > > observation from the packet capture: > > ------------------------------------ > > i) IE is sending GET request with the CGI binary name in the URL > > i.e. GET /XXXX/<cgi-binary> say at the time T > > ii) The response came from the server at the time (T+300) sec. > > > > observation from the "top" command in the server side. > > -------------------------------------------------------- > > i) Immediately the cgi-binary goes into "zimbie" state consuming 0.3% of the CPU. > > ii) The child process which is being created from the parent cgi-binary goes into "sleeping" state consuming 0.5% of CPU. > > ii) After 300 sec the parent cgi-binary exited and the response sent to the client. > > > > Which httpd server version was tried: > > -------------------------------------- > > The same binary works perfectly in the httpd version 1.3.33. > > The same binary does not work in the httpd version 2.0.48 and 2.0.59 > > > > I am attaching "httpd.conf " for the version 2.0.59. > > > > Search result on the Web: > > -------------------- > > A bug(id 23911) in the apache version 2.0.54 exists due to which a CGI binaries goes into zombie state in some scenario. I have looked in to the following URL > > http://issues.apache.org/bugzilla/show_bug.cgi?id=23911. > > > The problem can be reproduced with the sample program also. > Sample program: > ---------------------- > #include <stdio.h> > #include <stdlib.h> > int main(int argc, char *argv[]) > { > int pid; /*child ID*/ > int ret_stat; > > pid=fork(); > if(pid!=0) /*PARENT*/ > { > printf("Content-type: text/html\n\n"); > printf("<html><head></head><body>\n"); > printf("<h1>PARENTAL ZOMBIES 3</h1>\n"); > printf("</body></html>\n"); > } > else > { /*CHILD*/ > sleep(300); > exit(0); > } > return(0); > } > > I am not sure ,whether it is a configuration issue or any other. Any pointer on this issue will help me a lot. > > > > With regards, > > > > SaMaR > > > > > __________________________________________________________ > Yahoo! India Answers: Share what you know. Learn something new > http://in.answers.yahoo.com/ > > > ------------------------------------------------------------------------ > > --------------------------------------------------------------------- > The official User-To-User support forum of the Apache HTTP Server Project. > See <URL:http://httpd.apache.org/userslist.html> for more info. > To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx > " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx > For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx