Hi,

AIUI, GDM considers that an X server that has lasted more than 3 seconds
has not failed. The fact that it respawns it indefinitely is therefore
an intended and desirable behavior (one could discuss whether 3 seconds
is enough, but I think this is a different topic). This is what Neil's
debug logs are about.

For the case where X lasts less than 3 seconds, GDM has a mechanism that
is supposed to stop respawning after a certain number of tries. This
mechanism however does not work, as Cyril initially reported, and as
Neil reproduced by replacing /usr/bin/Xorg with a simple "exit 1" shell
script.

I attach a debug log corresponding to that latter case. As one can see,
before moving into GDM_DISPLAY_FAILED state, the display is first moved
to the GDM_DISPLAY_FINISHED state. The problem is that the code handling
the GDM_DISPLAY_FINISHED state resets to zero the counter of the number
of failures (line 330 of gdm-local-display-factory.c). Hence the maximum
number of failures is never reached, and GDM spawns X servers like
crazy.

-- 
 .''`.    Sébastien Villemot
: :' :    Debian Developer
`. `'     http://www.dynare.org/sebastien
  `-      GPG Key: 4096R/381A7594

Attachment: debug.log.xz
Description: application/xz

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to