Comment 11 for bug 1337873

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote : Re: Precise, Trusty, Utopic - ifupdown initialization problems caused by race condition

YES!

---
root@provisioned:~# pstree -a
...
├─ifup --allow auto eth2
│ └─sh -c run-parts /etc/network/if-pre-up.d
│ └─run-parts /etc/network/if-pre-up.d
│ └─ifenslave /etc/network/if-pre-up.d/ifenslave
│ └─sleep 0.1
---

One slave interface, eth2 in this case, got the ifupdown lock and is
running an infite loop waiting for the master bonding interface which
will never run without the lock.

Resuming:

So bonding had to have both networking scripts running (network-
interface and networking) to work AND having both scripts running
would case race conditions sometime. Disabling one of the scripts
would also cause race condition if right triggers are set (like i
showed in this example). Fixing ifupdown race conditions led me to
realize ifenslave is taking wrong decisions and can cause deadlocks.

Ifenslave must be fixed together...

* wait for next comments.