← Back to team overview

ubuntu-x-swat team mailing list archive

[Bug 441653] Re: radeon graphics mode and console does not start - xf86OpenConsole: VT_WAITACTIVE failed: Interrupted system call

 

Same problem here:

[    58.504] Fatal server error:
[    58.504] xf86OpenConsole: VT_WAITACTIVE failed: Interrupted system call

hw/xfree86/os-support/linux/lnx_init.c:


 62 static void
 63 switch_to(int vt, const char *from)
 64 {
 65     if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, vt) < 0)
 66         FatalError("%s: VT_ACTIVATE failed: %s\n", from, strerror(errno));
 67 
 68     if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, vt) < 0)
 69         FatalError("%s: VT_WAITACTIVE failed: %s\n", from, strerror(errno));
 70 }

lines 68 is interrupt by signal ... and ioctl(VT_WAITACTIVE) return -1, errno == EINTR.
Xserver must retry operation again! See kernel sources, VT_WAITACTIVE ioctl() handler
does wait interruptable() and can return EINTR.

Patch like this might help:


diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c
index 9c71a42..d17e039 100644
--- a/hw/xfree86/os-support/linux/lnx_init.c
+++ b/hw/xfree86/os-support/linux/lnx_init.c
@@ -62,10 +62,13 @@ drain_console(int fd, void *closure)
 static void
 switch_to(int vt, const char *from)
 {
+    int result;
+
     if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, vt) < 0)
         FatalError("%s: VT_ACTIVATE failed: %s\n", from, strerror(errno));
 
-    if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, vt) < 0)
+    SYSCALL(result = ioctl(xf86Info.consoleFd, VT_WAITACTIVE, vt));
+    if (result < 0)
         FatalError("%s: VT_WAITACTIVE failed: %s\n", from, strerror(errno));
 }

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to xorg-server in Ubuntu.
https://bugs.launchpad.net/bugs/441653

Title:
  radeon graphics mode and console does not start - xf86OpenConsole:
  VT_WAITACTIVE failed: Interrupted system call