I found that glibc-2.2 from RH's update break down Xconfigurator. No testing screen at the end, only message about failed test of the new configuration (but configuration is OK when trying to start X manually after this). Xconfigurator leave then empty X server running so next X session go to the next free console. Downgrading to glibc-2.1.92-14 from vanilla 7.0 solve the problem. Recompilation desn't help at all.
I believe this is a bug in Xconfigurator (well, Xtest) and the fact that with different glibcs it works differently is just a pure timing/memory layout issue. Basically, Xtest does: if (!nostart) { waitpid(childpid, &status, WNOHANG); if (WIFEXITED(status)){ return ERROR; } } where status is uninitialized local variable. waitpid, if it returns anything <= 0, does not modify the int pointed by second argument though, so this code (in this case waitpid returns 0) worked by pure luck. As I don't know exactly what this code is trying to do, I can only suggest either if (waitpid() > 0 && WIFEXITED(status)) { return ERROR; } or pid = waitpid(); if (pid < 0 || (pid > 0 && WIFEXITED(status))) { return ERROR; } Trond, this would be probably worth issuing a bugfix errata I think.
I've made some changes to CVS which should fix it...
And built it - Xconfigurator 4.4.6. Currently available from http://people.redhat.com/teg/ , soon from Rawhide and mirrors. Errata later.
*** Bug 21829 has been marked as a duplicate of this bug. ***