Pump starts fine and performs expected tasks. However, within minutes of starting, CPU usage of the pump process reaches 90% and higher and does not go down. Issuing the status comand (pump -s) hangs indefinitely. Attempting to reboot the system hangs when trying to shut down the interface. The kill command DOES work on the pump process (pump -k does NOT work). There appear to be 2 pump processes always running. Only the process with PPID of 1 hits the CPU.
I noticed the same problem in my Debian package. The resolv.conf parser seems to be broken. If the first line in resolv.conf is not a "search" line it sits and spins trying to parse the first line repeatedly. My fix is to add code at the end of the while loop to go to the next line (actually the end of the current line, but the code at the beginning will skip over the "\n"). The patch is: (you might have to apply with -b if bugzilla or X paste screws up the whitespace) --- pump-0.7.3/pump.c.orig Wed Dec 1 12:11:26 1999 +++ pump-0.7.3/pump.c Wed Dec 1 12:14:46 1999 @@ -124,6 +124,7 @@ *buf = '\0'; return strdup(start); } + while (*start && (*start != "\n")) start++; } return NULL;
I experienced this process "hang" problem. It seems whenever the main pump process is started, it hangs (it DOES manage to complete the first DHCP request before hanging, and things proceed fine if you kill the process). This process is restarted anytime the ifup or ifdown is executed. As noted above, if the first line of resolv.conf is not a search line, pump fails. I simply removed the domain command from the first line of resolv.conf leaving the search as the first line. Works now... Not a real great solution, but I hope this info helps. Mark
Fixed in pump-0.7.6, which will be on ftp://people.redhat.com/ewt later today. Thanks for the patch!