Changes to sbin/init/init.c (r233944) makes x11/xdm impossible to start from /etc/ttys

O. Hartmann ohartman at mail.zedat.fu-berlin.de
Tue Apr 10 09:37:33 UTC 2012


Since I have had much trouble starting xdm via /etc/ttys, I tried to
investigate the revision when the bug was introduced and as I wrote in a
former message to the list, since I recompile world almost daily, I saw
the introduction with a commit to sbin/init/init.c.

A subversion diff reveals:

===
 Index: sbin/init/init.c
===================================================================
--- sbin/init/init.c    (revision 233944)
+++ sbin/init/init.c    (working copy)
@@ -572,9 +572,13 @@
 {
        int fd;

-       /* Try to open /dev/console. */
+       /*
+        * Try to open /dev/console.  Open the device with O_NONBLOCK to
+        * prevent potential blocking on a carrier.
+        */
        revoke(_PATH_CONSOLE);
        if ((fd = open(_PATH_CONSOLE, O_RDWR | O_NONBLOCK)) != -1) {
+               (void)fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) & ~O_NONBLOCK);
                if (login_tty(fd) == 0)
                        return;
                close(fd);
===

Reverting init.c back to its previous state seems to make the error go away.

The error xdm is loggin is:

===
Build Date: 07 April 2012  04:51:08PM

Current version of pixman: 0.24.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Apr  7 18:38:24 2012
(==) Using config file: "/etc/X11/xorg.conf"
xdm info (pid 2055): sourcing /usr/local/share/X11/xdm/Xsetup_0
xdm error (pid 2050): Unknown session exit code 2560 from process 2055
xdm info (pid 2050): Exiting
===

Some others report also misbehaviour of some ports, susepcting libthr. I
do not know wether this report is valuable, I also filed a PR upon this,
but I hope it could help finding the bug.

When xdm is failing via /etc/ttys, manipulating some of its config
files, even only comments (jn Xaccess, Xservers), makes xdm sometimes to
start, but this is highly erratic.

A more likely way is to start xdm by typing xdm from console, even with
/etc/ttys xdm startup configured or by reverting sbin/init/init.c
sources back to r233943.

Regards,
Oliver

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20120410/222f5edb/signature.pgp


More information about the freebsd-current mailing list