On 09/14/2010 05:19 PM, Seth wrote:
> This could be brittle, because all this could do
> is reduce the time window for the race condition to happen
I can confirm my suspicion to be right because after - granted: many-
some reboots I saw the log message again in successive reboots:
This was running _with_ my fixed gdm package, but from the analysis we
know that in this case the X desktop would have ended up shared with a
getty. If you are interested, you can easily verify for yourself how the
"nvidia not ready" condition will generate this message by using the
attached reproduction script:
Such a script, unfortunately, is not suitable for testing upstart
mutations (because the other subsystems interacting are not being
restarted; only a boot will give the right order and timing for these...)
On 09/14/2010 05:19 PM, Seth wrote:
> This could be brittle, because all this could do
> is reduce the time window for the race condition to happen
I can confirm my suspicion to be right because after - granted: many-
some reboots I saw the log message again in successive reboots:
/var/ log/syslog: Sep 14 20:38:39 localhost gdm-binary[984]: WARNING: log/syslog: Sep 14 20:42:04 localhost gdm-binary[1060]: WARNING:
GdmDisplay: display lasted 0.695752 seconds
/var/
GdmDisplay: display lasted 0.198205 seconds
This was running _with_ my fixed gdm package, but from the analysis we
know that in this case the X desktop would have ended up shared with a
getty. If you are interested, you can easily verify for yourself how the
"nvidia not ready" condition will generate this message by using the
attached reproduction script:
#!/bin/bash gdm/firstserver .stamp
stop gdm
sleep 2
pgrep -l X && pkill X
rm -fv /var/run/
while lsmod | grep -q nvidia
do
echo unloading removing nvidia module
rmmod nvidia
sleep 1
done
lsmod | grep nv | nl
{
modprobe nvidia-current &
start gdm &
wait
}
sleep 5; chvt 1
grep "display lasted" /var/log/syslog | tail
date +"Time is now: %D %T"
Such a script, unfortunately, is not suitable for testing upstart
mutations (because the other subsystems interacting are not being
restarted; only a boot will give the right order and timing for these...)