Fork me on GitHub

The kioskresetstation bug

kioskresetstation=5 as a boot parameter option will configure Webconverger to reset after five minutes of inactivity. This is appropriate in environments where people fail to end their session by closing all their tabs.

A bug has been reported whereby Webconverger would not start properly without a key press after a reset. Trouble is most people didn't experience this bug at all. Sometimes I would see it. Other times I wouldn't. This is why I removed the bug from the bug list only to see it reappear later. Very annoying.

In hindsight, the key press gives the bug away. Though I spent many days thinking it was a problem with my code. I even wrote my own little C program to detect user inactivity to replace xautolock. Finally I narrowed it down to Iceweasel, as Webkit's GtkLauncher did not have this problem.

After some debugging by removing nosudo from the boot paramenters I finally found the bug.

The browser was blocking on a read for random numbers! /dev/random is the proper random number generator in Linux and gives generally quite good numbers. However it uses entropy like user input in order to work. Obvious now isn't it?

(Possible) Solution: I will probably try symlinking /dev/random -> /dev/urandom, which is less likely to block. I really need find out why Firefox needs random numbers and what's the risk if the quality of randomness drops.

Update: Mike Hommey has been working on this problem and has a patch on the Netscape portable runtime Debian package as of 4.7.1-4.