Red Hat Bugzilla – Bug 191453
race condition with getkey in appears to hang machine
Last modified: 2014-03-16 22:59:39 EDT
Description of problem:
In some circumstances, rc.sysinit attempts to kill getkey before it has started.
When getkey is started later, there is nothing to kill it so the computer
appears to hang.
Version-Release number of selected component (if applicable):
100% on selected machines. (a Dell GX150 Desktop and a Dell GX240 small form
factor (has a laptop cdrom) have the problem.
Steps to Reproduce:
1. Create a livecd with kadischi targetted at FC5 + updates
2. Boot the computer with the livecd
After printing "Enabling Swap [ok]" the computer appears to hang. Pressing "I"
causes the computer to move forward in running the boot scripts.
Boot will continue to a login prompt without user intervention.
I have been generating livecds with kadischi for a kiosk project. On some
machines, these livecds run fine. On others, the livecd freezes during the boot
after printing "Enabling swap [OK]". Unplugging the network cable from the
network card allowed one to boot. Removing the PCI riser card from another got
things to work. Reverting to the original FC5 kernel also worked for one of
these machines but not the other. A third (our prototype kiosk) didn't boot at
all under these conditions.
After some troubleshooting, I found that the computer was not actually hung.
Instead, it was waiting on getkey. Pressing "I" at this point would make getkey
happy and boot would continue.
Removing the /dev/null redirection from the kill -TERM `/sbin/pidof getkey` line
showed that kill was failing without finding a pid for getkey. So there's
apparently a race between getkey being started and kill being invoked to
terminate it which is being triggered with a livecd on these machines.
I'm working on a different part of the project right now but will get back to
this later this month. I can also generate and test new livecd's at any time if
you have a new initscripts package you want me to test.
Fixed in CVS. Thanks for your report.