Bug 143640 - repeated ifups makes network unusable
repeated ifups makes network unusable
Product: Fedora
Classification: Fedora
Component: initscripts (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Bill Nottingham
Brock Organ
Depends On:
Blocks: FC4Blocker 170782
  Show dependency treegraph
Reported: 2004-12-23 01:16 EST by Hal Roberts
Modified: 2014-03-16 22:51 EDT (History)
3 users (show)

See Also:
Fixed In Version: 8.08-1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-04-15 12:54:34 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Hal Roberts 2004-12-23 01:16:23 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5)
Gecko/20041111 Firefox/0.6.1 StumbleUpon/1.87

Description of problem:
running ifup multiple times without running ifdown on an interface
setup for dhcp leaves a bunch of dhclient daemons running that ifdown
does not kill.  After a dozen or so of these dhclient daemons are
running, the interface becomes unstable, going down and requiring an
ifup <if>; ifdown <if> to fix it, presumably because of the competing
dhclient daemons.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. setup eth0 as a dhcp interface
2. ifup eth0
3. ifup eth0
4. ifup eth0
5. ifup eth0
6. ifdown eth0
7. ps aux | grep dhclient
8. notice the three orphaned dhclients

Actual Results:  Three orphaned dhclient daemons are left running

Expected Results:  Only one dhclient daemon should be running for a
given interface at a given time

Additional info:
Comment 1 Hal Roberts 2005-01-22 12:40:26 EST
changed summary to more accurately reflect severity of bug.  This bug
will cause the networking on affected machines to become mysteriously
and worseningly unstable as the machine run.
Comment 2 Bill Nottingham 2005-02-24 17:19:47 EST
Currently, dhclient does not write its pid file until after it gets
the lease; ergo, if ifup is invoked a second time while dhclient is
still negotiating/waiting, it's impossible to kill the other dhclients
without grovelling through /proc, which isn't really practical.

While it would be a change from upstream, does it make sense to have
dhclient record its pid file immediately?
Comment 3 Jason Vas Dias 2005-02-24 17:35:29 EST
I agree this is bad behavior on dhclient's part. The first thing it
should do is check for the existence of the pid file; if it exists,
it should then exit; the next thing it should then do is create the
pid file. I'll make changes accordingly for dhcp-3.0.1-40_FC3  /
dhcp-3.0.2-2_FC4 .
Comment 4 Bill Nottingham 2005-02-24 17:39:38 EST
OK, bounce back to initscripts when you're done.
Comment 5 Jason Vas Dias 2005-02-24 20:16:35 EST
This is now fixed, in dhcp-3.0.1-40_FC3, and dhcp-3.0.2-2 (FC4) .
Comment 8 Bill Nottingham 2005-04-15 12:54:34 EDT
This should be fixed with the current FC4 devel dhclient. A patch will be added
in initscripts-8.08-1 that will print a more legible error message in the case
where a client is already running rather than just 'failed'.
Comment 10 Jason Vas Dias 2005-07-12 12:55:56 EDT
This was added to RHEL-3 and RHEL-4 because they both have this problem:
repeated ifup attempts cause dhclient to be run more than once for the
same interface, leading to orphaned dhclient processes and progressively
worse and unstable network performance.

Note You need to log in before you can comment on or make changes to this bug.