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

From: O. Hartmann <ohartman_at_mail.zedat.fu-berlin.de>
Date: Tue, 10 Apr 2012 11:37:20 +0200
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)
_at__at_ -572,9 +572,13 _at__at_
 {
        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


Received on Tue Apr 10 2012 - 07:37:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:25 UTC