I think this is actually the apparmor if-pre-up.d script going into an infinite loop, and I'm not quite sure why. It may be that the runlevel output has changed in some way, perhaps.
To confirm my hypothesis, could you check whether your /etc/network/if-pre-up.d/dhclient3-apparmor script does indeed call runlevel in a while loop.
If it does, could you make a few changes to this script:
Before the while loop, add the following line:
strace runlevel > /dev/runlevel.log
This should tell us what runlevel is doing (and outputting). You'll need to comment out the entire while loop so you can boot and give me that log file :-)
I think this is actually the apparmor if-pre-up.d script going into an infinite loop, and I'm not quite sure why. It may be that the runlevel output has changed in some way, perhaps.
To confirm my hypothesis, could you check whether your /etc/network/ if-pre- up.d/dhclient3- apparmor script does indeed call runlevel in a while loop.
If it does, could you make a few changes to this script:
Before the while loop, add the following line:
strace runlevel > /dev/runlevel.log
This should tell us what runlevel is doing (and outputting). You'll need to comment out the entire while loop so you can boot and give me that log file :-)