7.2-PRERELEASE X-server hang in "drmwtq"

Artem Kim artem_kim at inbox.ru
Sat Apr 25 22:09:31 UTC 2009

> > Apr 25 23:44:04 test kernel: [drm: pid782: drm_ioctl] pid = 782, cmd =
> > 0x80046457, nr = 0x57, dev 0xffffff0001556d00, auth = 1
> > Apr 25 23:44:04 test kernel: [drm: pid782: drm_ioctl] returning 4
> Ok, so what this is saying is that pid 782 is waiting on the rendering
> engine to catch up.  The "returning 4" part says that we were
> interrupted while we were waiting.  libdrm retries the wait, which
> should return immediately if the engine has caught up now.  It never
> appears to catch up, so either the counter is getting corrupted or we
> failed to get the commands submitted to the card like we thought, or we
> have locked up the GPU.
> What does it take to recover from this?  Do you have to reboot, or is
> killing the process that initiated the wait sufficient?
> robert.

In most cases, the system will remain available through the network. The 
computer can be turned off via acpi power button.
However, if you do kill -KILL <XORG-PID>, after it is impossible to shut down 
the system correctly. The system continues to be available through the 
network, Xorg is activated and holds up to 100% of one of the cores CPU.

In the kernel messages appear:

Apr 26 01:30:05 test kernel: [drm:pid1107:radeon_do_wait_for_fifo] wait for 
fifo failed status : 0x8411413D 0x9C000800
Apr 26 01:30:05 test kernel: [drm:pid1107:radeon_do_release] radeon_do_cp_idle 
Apr 26 01:30:05 test kernel: [drm:pid1107:radeon_do_cp_idle]
Reboot the system is possible only via a hardware reset.

More information about the freebsd-stable mailing list