Red Hat Bugzilla – Bug 23995
loadkeys fails for gr.kmap.gz
Last modified: 2008-05-01 11:37:59 EDT
loadkeys fails with the error message:
$ loadkeys /usr/lib/kbd/keymaps/i386/qwerty/gr.kmap.gz
findfile(): timeout waiting for undead child(ren) ?
Note that it doesn't happen with the unzipped gr.kmap or with the other
zipped kmaps. For example
$ loadkeys /usr/lib/kbd/keymaps/i386/qwerty/gr-pc.kmap.gz
succeeds as well as
$ loadkeys /tmp/gr.kmap
strace indicates that gunzip can't uncompress the file because of a broken pipe,
looking into this
This is definitely odd... Can't be a gzip problem (gunzip uncompresses the file
properly, and the problem still happens when the file is bzip2ed instead), and
the file isn't handled differently from any other keymaps.
When debugging with strace -f, it seems to reap all of its children.
I don't really know how strace interacts with the actual executable, but it
(strace) seems to insert the necessary delays for the executable (loadkeys) to
catch the undead children.
This has nothing to do with delays - adding tons of sleep()s doesn't fix the
It's something even weirder.
If you get rid of the exit conditions, you can strace the pid of the hanging
gzip process, and it hangs while writing the decompressed data to fd 1.
ATM I'm suspecting this happens when the feeder dies before the decompressor is
Can the gr.kmap keymap be shipped unzipped with the next stable version? It
seems that the unzipped version of the file is ok with loadkeys. The gzipped
one is unusable and leads to manual gunzip after frustration.
I know that the correct fix is to fix the package, but since you are on a
deadline to ship a new version and the maintainer of console-tools seems
inactive, could at least this bandaid be applied?
Done in -34