You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by ug...@who.ch on 1998/03/16 11:20:00 UTC

Re[2]: os-linux/1950: All child processes die. Parent remain

The following reply was made to PR os-linux/1950; it has been noted by GNATS.

From: uggowitzers@who.ch
To: Dean Gaudet <dg...@arctic.org>, Steven Uggowitzer <ug...@who.ch>
Cc: apbugs@hyperreal.org
Subject: Re[2]: os-linux/1950: All child processes die. Parent remain
Date: Mon, 16 Mar 1998 11:00:35 +0100

 The static linked version also bombs.  Huff.  Now I'm really discouraged.
 It crashs about once an hour.
 
 Here's the ldd output on RedHat 5.0 for the server compiled on 4.2 and moved:
 
 [stevie@pluto ~]$ ldd ./httpd
         libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x40000000)
         libc.so.5 => not found
         libc.so.6 => /lib/libc.so.6 (0x4000a000)
         /lib/ld-linux.so.1 => /lib/ld-linux.so.2 (0x00000000)  
 
 Here's the ldd output on RedHat 5.0 for the server compiled on the same
 machine:
 
 [stevie@pluto src]$ ldd ./httpd
         libcrypt.so.1 => /lib/libcrypt.so.1 (0x40004000)
         libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x40031000)
         libc.so.6 => /lib/libc.so.6 (0x40037000)
         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)  
 
 
 This is the script that I have in a cron job, running once a minute 
 to wake things up again. Someone might find it useful:
 
 #!/usr/bin/perl
 # By Steven Uggowitzer
 # WHO/OMS WHO-HQ ISM/TES
 # Makes sure the program is still running.
 # This should be run in a CRON job every
 # minute.  Will leave it here until we resolve problems
 # with RedHat 5.0 and Apache.
 # March 15, 1998.
 
 $serverpid="/home/live/logs/httpd.pid";
 $serverbin="/home/live/bin/httpd";
 $serverconf="/home/live/conf/httpd.conf";
 
 open FD, "/bin/ps auxwww | /bin/grep live\/bin | /usr/bin/wc -l|";
 while (<FD>) {
  $servers=$_;
 }
 close FD;
 $servers=~s/ //ig;
 $servers=~s/\t//ig;
 chomp $servers;
 
 open FD, $serverpid;
 while(<FD>) {
    $pid=$_;
 }
 close FD;
 chomp $pid;
 
 if ($servers < 5 ) {
   print "Had to restart.\n";
   print "Killing PID [$pid]\n";
   kill 'TERM', $pid;
   print "Starting again.\n";
   system("$serverbin -f $serverconf");               
 }
 
 
 I've gone back to the dynamically linked 1.2.5 Apache. Since it doesn't
 seem to make much of a difference.  Suggestions?
 
 
 Steven
 
 
  ______________________________________________________________________
 | Steven Uggowitzer                | email: uggowitzers@who.ch         |
 | World Health Organization,ISM/TES|        stevie@emf.mcgill.ca       |
 | CH-1211, Geneva 27               | phone: (41) 22 791 2453/2111      |
 | Switzerland                      |   fax: (41) 22 791 0746           |
  -See you at INET'98, Geneva 21-24,July 98 http://www.isoc.org/inet98/
 
 
 
 
 
 
 ____________________Reply Separator____________________
 Subject:    Re: os-linux/1950: All child processes die. Parent remains a
 Author: Dean Gaudet <dg...@arctic.org>
 Date:       15-Mar-1998 16:29
 
 On 15 Mar 1998, Steven Uggowitzer wrote:
 
 > As mentioned earlier, the problem started for me when I upgraded from RedHat 
 > 4.2 to 5.0.  Since I am running the same kernel (2.0.33)as before, even the 
 > same binary, I don't suspect the problem is there.  However, the libc
 libraries 
 > are drastically different in 5.0.  I think the problem might be there.  
 > I have surgically examined my system for other cron jobs et al. that might
 > interfere with the httpd and come up blank.  
 
 Try typing "ldd httpd" against the dynamically linked httpd you brought
 from 4.2 to 5.0 ... that should indicate if you're using any libraries
 that aren't prepared to be used with libc5.  Send us the list of libraries
 it mentions please.
 
 If the 4.2 statically linked thing works, can you try doing a 5.0 native
 compiled executable?
 
 There are a few other related reports and I'm currently of the opinion
 that it's some subtle glibc2 bug... but I've been unable to find it. 
 
 Dean