Activity log for bug #1160490

Date Who What changed Old value New value Message
2013-03-26 17:22:46 Ray Link bug added bug
2013-03-26 18:55:26 Ray Link bug watch added http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=704003
2013-08-08 16:21:43 Launchpad Janitor ifupdown (Ubuntu): status New Confirmed
2013-08-20 20:13:05 Chris J Arges ifupdown (Ubuntu): assignee Chris J Arges (arges)
2013-08-20 22:46:13 Chris J Arges nominated for series Ubuntu Precise
2013-08-20 22:46:13 Chris J Arges bug task added ifupdown (Ubuntu Precise)
2013-08-20 22:46:13 Chris J Arges nominated for series Ubuntu Quantal
2013-08-20 22:46:13 Chris J Arges bug task added ifupdown (Ubuntu Quantal)
2013-08-20 22:46:13 Chris J Arges nominated for series Ubuntu Saucy
2013-08-20 22:46:13 Chris J Arges bug task added ifupdown (Ubuntu Saucy)
2013-08-20 22:46:13 Chris J Arges nominated for series Ubuntu Raring
2013-08-20 22:46:13 Chris J Arges bug task added ifupdown (Ubuntu Raring)
2013-08-20 22:46:20 Chris J Arges ifupdown (Ubuntu Precise): assignee Chris J Arges (arges)
2013-08-20 22:46:22 Chris J Arges ifupdown (Ubuntu Quantal): assignee Chris J Arges (arges)
2013-08-20 22:46:24 Chris J Arges ifupdown (Ubuntu Raring): assignee Chris J Arges (arges)
2013-08-20 22:46:29 Chris J Arges ifupdown (Ubuntu Raring): status New In Progress
2013-08-20 22:46:32 Chris J Arges ifupdown (Ubuntu Saucy): status Confirmed In Progress
2013-08-20 22:46:33 Chris J Arges ifupdown (Ubuntu Quantal): status New In Progress
2013-08-20 22:46:35 Chris J Arges ifupdown (Ubuntu Precise): status New In Progress
2013-08-20 22:46:37 Chris J Arges ifupdown (Ubuntu Precise): importance Undecided Medium
2013-08-20 22:46:39 Chris J Arges ifupdown (Ubuntu Quantal): importance Undecided Medium
2013-08-20 22:46:41 Chris J Arges ifupdown (Ubuntu Raring): importance Undecided Medium
2013-08-20 22:46:42 Chris J Arges ifupdown (Ubuntu Saucy): importance Undecided Medium
2013-08-21 12:59:36 Chris J Arges attachment added fix-lp1160490-precise.debdiff https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1160490/+attachment/3780574/+files/fix-lp1160490-precise.debdiff
2013-08-21 12:59:49 Chris J Arges attachment added fix-lp1160490-quantal.debdiff https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1160490/+attachment/3780575/+files/fix-lp1160490-quantal.debdiff
2013-08-21 13:00:02 Chris J Arges attachment added fix-lp1160490-raring.debdiff https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1160490/+attachment/3780576/+files/fix-lp1160490-raring.debdiff
2013-08-21 13:01:00 Chris J Arges attachment added fix-lp1160490-saucy.debdiff https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1160490/+attachment/3780577/+files/fix-lp1160490-saucy.debdiff
2013-08-21 13:05:00 Chris J Arges bug added subscriber Ubuntu Sponsors Team
2013-08-21 15:06:31 Chris J Arges description Ubuntu 12.04.2 ifupdown 0.7~beta2ubuntu8 Symptom: Every so often, /etc/init/network-interface.conf fails to bring up the loopback interface. > Mar 25 16:39:37 XXXXXXXX kernel: [ 28.793922] init: network-interface (lo) pre-start process (1079) terminated with status 1 /var/log/upstart/network-interface-lo shows: > ifup: failed to overwrite statefile /run/network/ifstate: No such file or directory Relevant section of the ifup sources, in update_state(): if (rename (tmpstatefile, statefile)) { fprintf(stderr, "%s: failed to overwrite statefile %s: %s\n", argv0, statefile, strerror(errno)); exit (1); } update_state() opens the statefile, gets a F_SETLKW lock on it, opens a tmpfile, filters the contents of the statefile into the tmpfile, closes the tmpfile, then renames the tempfile over the statefile. Once the rename() happens in one instance of ifup, any other blocked instances are waiting around to lock a file that no longer exists in the filesystem. Overlap enough instances of ifup just right and you have them all locking different copies of statefile, which then doesn't prevent any of them from rename()ing tmpstatefile out from underneath the others, thus causing their own rename()s to fail with ENOENT. Example: Process A starts, opens statefile. Process A locks statefile. Process B starts, opens statefile. Process B waits for lock on statefile. Process A renames tmpstatefile to statefile and exits. Process B acquires lock on *outdated* statefile FILE pointer. Process C starts, opens current statefile (written by Process A). Process C locks current statefile. ** Two ifups now have locks ** Process B renames tmpstatefile to statefile and exits. Process C tries to rename tmpstatefile, fails because tmpstatefile has already been renamed out from under it by Process B. NOTE: Since Process B was operating on an outdated statefile, it has also stomped over any changes made by Process A, so simply making the tmpstatefile process-specific to avoid rename()ing out from under each other won't help. SRU Justification: [Impact] * Users will occasionally see their network interfaces not come up due to race conditions. [Test Case] * See this comment: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/996369/comments/35 [Regression Potential] * This fix backports a change from upstream ifupdown. Instead of locking a statefile it locks a lockfile. -- Ubuntu 12.04.2 ifupdown 0.7~beta2ubuntu8 Symptom: Every so often, /etc/init/network-interface.conf fails to bring up the loopback interface. > Mar 25 16:39:37 XXXXXXXX kernel: [ 28.793922] init: network-interface (lo) pre-start process (1079) terminated with status 1 /var/log/upstart/network-interface-lo shows: > ifup: failed to overwrite statefile /run/network/ifstate: No such file or directory Relevant section of the ifup sources, in update_state():         if (rename (tmpstatefile, statefile)) {                 fprintf(stderr,                         "%s: failed to overwrite statefile %s: %s\n",                         argv0, statefile, strerror(errno));                 exit (1);         } update_state() opens the statefile, gets a F_SETLKW lock on it, opens a tmpfile, filters the contents of the statefile into the tmpfile, closes the tmpfile, then renames the tempfile over the statefile. Once the rename() happens in one instance of ifup, any other blocked instances are waiting around to lock a file that no longer exists in the filesystem. Overlap enough instances of ifup just right and you have them all locking different copies of statefile, which then doesn't prevent any of them from rename()ing tmpstatefile out from underneath the others, thus causing their own rename()s to fail with ENOENT. Example: Process A starts, opens statefile. Process A locks statefile. Process B starts, opens statefile. Process B waits for lock on statefile. Process A renames tmpstatefile to statefile and exits. Process B acquires lock on *outdated* statefile FILE pointer. Process C starts, opens current statefile (written by Process A). Process C locks current statefile. ** Two ifups now have locks ** Process B renames tmpstatefile to statefile and exits. Process C tries to rename tmpstatefile, fails because tmpstatefile has already been renamed out from under it by Process B. NOTE: Since Process B was operating on an outdated statefile, it has also stomped over any changes made by Process A, so simply making the tmpstatefile process-specific to avoid rename()ing out from under each other won't help.
2013-08-21 15:06:52 Chris J Arges bug added subscriber Ubuntu Stable Release Updates Team
2013-09-02 08:44:28 Launchpad Janitor ifupdown (Ubuntu Saucy): status In Progress Fix Released
2013-09-11 23:26:42 Steve Langasek ifupdown (Ubuntu Precise): status In Progress Fix Committed
2013-09-11 23:26:50 Steve Langasek bug added subscriber SRU Verification
2013-09-11 23:27:00 Steve Langasek tags verification-needed
2013-09-11 23:28:42 Steve Langasek ifupdown (Ubuntu Quantal): status In Progress Fix Committed
2013-09-11 23:44:23 Steve Langasek ifupdown (Ubuntu Raring): status In Progress Fix Committed
2013-09-12 08:51:53 Launchpad Janitor branch linked lp:ubuntu/ifupdown
2013-09-12 08:51:55 Launchpad Janitor branch linked lp:ubuntu/saucy-proposed/ifupdown
2013-09-12 08:56:57 Launchpad Janitor branch linked lp:~ubuntu-branches/ubuntu/precise/ifupdown/precise-proposed
2013-09-12 08:57:09 Launchpad Janitor branch linked lp:ubuntu/quantal-proposed/ifupdown
2013-09-12 08:57:11 Launchpad Janitor branch linked lp:ubuntu/raring-proposed/ifupdown
2013-09-12 20:35:19 Bryan Quigley tags verification-needed verification-done-precise verification-needed
2013-09-13 01:30:11 Bryan Quigley tags verification-done-precise verification-needed verification-done-precise verification-done-quantal verification-needed
2013-09-16 15:29:32 Scott Moser description SRU Justification: [Impact] * Users will occasionally see their network interfaces not come up due to race conditions. [Test Case] * See this comment: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/996369/comments/35 [Regression Potential] * This fix backports a change from upstream ifupdown. Instead of locking a statefile it locks a lockfile. -- Ubuntu 12.04.2 ifupdown 0.7~beta2ubuntu8 Symptom: Every so often, /etc/init/network-interface.conf fails to bring up the loopback interface. > Mar 25 16:39:37 XXXXXXXX kernel: [ 28.793922] init: network-interface (lo) pre-start process (1079) terminated with status 1 /var/log/upstart/network-interface-lo shows: > ifup: failed to overwrite statefile /run/network/ifstate: No such file or directory Relevant section of the ifup sources, in update_state():         if (rename (tmpstatefile, statefile)) {                 fprintf(stderr,                         "%s: failed to overwrite statefile %s: %s\n",                         argv0, statefile, strerror(errno));                 exit (1);         } update_state() opens the statefile, gets a F_SETLKW lock on it, opens a tmpfile, filters the contents of the statefile into the tmpfile, closes the tmpfile, then renames the tempfile over the statefile. Once the rename() happens in one instance of ifup, any other blocked instances are waiting around to lock a file that no longer exists in the filesystem. Overlap enough instances of ifup just right and you have them all locking different copies of statefile, which then doesn't prevent any of them from rename()ing tmpstatefile out from underneath the others, thus causing their own rename()s to fail with ENOENT. Example: Process A starts, opens statefile. Process A locks statefile. Process B starts, opens statefile. Process B waits for lock on statefile. Process A renames tmpstatefile to statefile and exits. Process B acquires lock on *outdated* statefile FILE pointer. Process C starts, opens current statefile (written by Process A). Process C locks current statefile. ** Two ifups now have locks ** Process B renames tmpstatefile to statefile and exits. Process C tries to rename tmpstatefile, fails because tmpstatefile has already been renamed out from under it by Process B. NOTE: Since Process B was operating on an outdated statefile, it has also stomped over any changes made by Process A, so simply making the tmpstatefile process-specific to avoid rename()ing out from under each other won't help. SRU Justification: [Impact]  * Users will occasionally see their network interfaces not come up due to race conditions. [Test Case]  * See this comment: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/996369/comments/35 [Regression Potential]  * This fix backports a change from upstream ifupdown. Instead of locking a statefile it locks a lockfile. -- Ubuntu 12.04.2 ifupdown 0.7~beta2ubuntu8 Symptom: Every so often, /etc/init/network-interface.conf fails to bring up the loopback interface. > Mar 25 16:39:37 XXXXXXXX kernel: [ 28.793922] init: network-interface (lo) pre-start process (1079) terminated with status 1 /var/log/upstart/network-interface-lo shows: > ifup: failed to overwrite statefile /run/network/ifstate: No such file or directory Relevant section of the ifup sources, in update_state():         if (rename (tmpstatefile, statefile)) {                 fprintf(stderr,                         "%s: failed to overwrite statefile %s: %s\n",                         argv0, statefile, strerror(errno));                 exit (1);         } update_state() opens the statefile, gets a F_SETLKW lock on it, opens a tmpfile, filters the contents of the statefile into the tmpfile, closes the tmpfile, then renames the tempfile over the statefile. Once the rename() happens in one instance of ifup, any other blocked instances are waiting around to lock a file that no longer exists in the filesystem. Overlap enough instances of ifup just right and you have them all locking different copies of statefile, which then doesn't prevent any of them from rename()ing tmpstatefile out from underneath the others, thus causing their own rename()s to fail with ENOENT. Example: Process A starts, opens statefile. Process A locks statefile. Process B starts, opens statefile. Process B waits for lock on statefile. Process A renames tmpstatefile to statefile and exits. Process B acquires lock on *outdated* statefile FILE pointer. Process C starts, opens current statefile (written by Process A). Process C locks current statefile. ** Two ifups now have locks ** Process B renames tmpstatefile to statefile and exits. Process C tries to rename tmpstatefile, fails because tmpstatefile has already been renamed out from under it by Process B. NOTE: Since Process B was operating on an outdated statefile, it has also stomped over any changes made by Process A, so simply making the tmpstatefile process-specific to avoid rename()ing out from under each other won't help. Related bugs: * bug 1226067: ifquery fails with bad file descriptor
2013-09-16 16:16:57 Scott Moser tags verification-done-precise verification-done-quantal verification-needed verification-failed-precise verification-failed-quantal verification-failed-raring verification-needed
2013-09-16 18:10:13 Nobuto Murata bug added subscriber Nobuto MURATA
2013-09-20 20:39:04 Brian Murray removed subscriber Ubuntu Sponsors Team
2013-09-23 22:02:45 Bryan Quigley tags verification-failed-precise verification-failed-quantal verification-failed-raring verification-needed verification-done-precise verification-failed-quantal verification-failed-raring verification-needed
2013-09-24 01:04:40 Bryan Quigley tags verification-done-precise verification-failed-quantal verification-failed-raring verification-needed verification-done-precise verification-done-raring verification-failed-quantal verification-needed
2013-09-24 03:03:35 Bryan Quigley tags verification-done-precise verification-done-raring verification-failed-quantal verification-needed verification-done-precise verification-done-quantal verification-done-raring
2013-10-03 19:35:59 Launchpad Janitor ifupdown (Ubuntu Raring): status Fix Committed Fix Released
2013-10-03 19:36:06 Brian Murray removed subscriber Ubuntu Stable Release Updates Team
2013-10-03 19:38:18 Launchpad Janitor ifupdown (Ubuntu Quantal): status Fix Committed Fix Released
2013-10-03 19:40:47 Launchpad Janitor ifupdown (Ubuntu Precise): status Fix Committed Fix Released