I just installed 6.2 on an alpha, and found a number of problems in the initscripts. The machine is not on the internet, so I will have to sumarize them. Each of the bugs would hang a shutdown, resulting in fsck needing to be run on rebooting. 1) Hung when shutting down eth0. The solution was to comment out the wait loop with usleep in ifdown. This would also hang when shutting down the network manually. I changed loop to use 'sleep 1' and count to 5, which fixed the ifdown problem, but the system still hung on shutdown. I suspect that the test is not returning the intended value, but I just commented out the loop rather than track it down. Shutdown is able to shutdown eth0 now, though it reports failure. This needs to be looked at. 2) Hung when saving mixer settings. Don't know why because the aumix command works fine manually. Perhaps has to do with runcmd. I just commented out the whole section. Didn't this used to be run from an rc.x directory, and was switchable from linuxconf? I liked the ability to turn it on and off that way. 3) Hung when deactivating swap. This is due to a missing redirect in the awk statement (should be </proc/swaps, not /proc/swaps). 4) Would have hung in unmounting the file systems, but I noticed the same missing redirect in the awk statements in that section and fixed them.
Scatch number 2. I reinstalled and ran though the problems again, and saving the mixer settings worked fine.
We haven't seen these on our alphas here. What sort of alpha do you have?
It's a UDB (Multia). Actually, I'm setting up a 10-way UDB cluster in a ten-unit case. I don't see that it matters, though, except maybe wrt the sleep loop in ifdown. For the other two problems, awk does need a redirect to read from a file, doesn't it?
No, it shouldn't. If you symlink awk to mawk, does it spontatenously start working?
Yes and no. It would work fine if mawk were in /bin. This statement hangs: SWAPS=`awk '! /^Filename/ { print $1 }' /proc/swaps` while this one works: SWAPS=`mawk '! /^Filename/ { print $1 }' /proc/swaps` However, with awk -> /usr/bin/mawk, the awk's in rc.sysinit don't work until /usr is mounted. It also stops working after /usr is unmounted in halt.
Of course, the first example should read gawk not awk. Or rather, when I tested it awk was simlinked to /bin/gawk.
OK, this is a problem that occurs with awk *only* on EV4 alpha machines (i.e., Multias and Jensens.) As far as we can tell, it's not an awk/initscripts bug; it's a problem with FP emulation in the kernel. As such, I'm not going to change initscripts; symlinking awk to mawk (and possibly moving it to the root partition) is a valid workaround for now. *** This bug has been marked as a duplicate of 11436 ***
Yes, gawk was spending about 90% of its time in the kernel. Applying the EV4 FPE kernel patch fixed it. See bug #17163.