I probably just saw the same issue. I hadn't touched the laptop for a
couple of minutes when it triggered, but it drew my attention because I
saw something flicker in the corner of my eye, then I discovered that
xorg did not respond anymore.

Nothing additional is printed in the Xorg.0.log. This is on a jaunty kde
desktop with libdrm-2.4.1.

This is the gdb backtrace of one occurence (mine apparently has line
numbers, which should help):

(gdb) bt
#0  0xb8090430 in __kernel_vsyscall ()
#1  0xb7d18c29 in ioctl () from /lib/tls/i686/cmov/libc.so.6
#2  0xb7b333ef in drmIoctl (fd=14, request=3222299706, arg=0xbfdae4bc) at
#xf86drm.c:183
#3  0xb7b33928 in drmWaitVBlank (fd=14, vbl=0xbfdae4bc) at xf86drm.c:1895
#4  0xa75a19fd in ?? () from /usr/lib/dri/i965_dri.so
#5  0xa75a1c8b in driWaitForVBlank () from /usr/lib/dri/i965_dri.so
#6  0xa75a9f07 in intelSwapBuffers () from /usr/lib/dri/i965_dri.so
#7  0xa75a1e8e in ?? () from /usr/lib/dri/i965_dri.so
#8  0xb7b9cbe4 in ?? () from /usr/lib/xorg/modules/extensions//libglx.so
#9  0xb7b8f4ce in ?? () from /usr/lib/xorg/modules/extensions//libglx.so
#10 0xb7b92e6a in ?? () from /usr/lib/xorg/modules/extensions//libglx.so
#11 0x0808cdbf in Dispatch ()
#12 0x08071aad in main ()
(gdb)

And at least equally interesting is the flood of SIGALRM's in the
'strace -p'.

Process 5904 attached - interrupt to quit
ioctl(14, 0xc010643a, 0xbfdae4bc)       = -1 EINTR (Interrupted system call)
--- SIGALRM (Alarm clock) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
ioctl(14, 0xc010643a, 0xbfdae4bc)       = -1 EINTR (Interrupted system call)
--- SIGALRM (Alarm clock) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
ioctl(14, 0xc010643a, 0xbfdae4bc)       = -1 EINTR (Interrupted system call)
--- SIGALRM (Alarm clock) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
ioctl(14, 0xc010643a, 0xbfdae4bc)       = -1 EINTR (Interrupted system call)
--- SIGALRM (Alarm clock) @ 0 (0) ---
sigreturn()                             = ? (mask now [])

So it looks like the infinite loop is either triggered by, or causes
SIGALRM's in the ioctl. At least it stays in the loop.

Given the information from the reporter, maybe what is going on is that
the blank is turned off first (display off), followed by a call to
WaitForVBlank, which, of course, never exits if there are no more
vblanks...

-- 
X Server hangs in drmWaitVBlank()
https://bugs.launchpad.net/bugs/304056
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to