7.2-PRERELEASE X-server hang in "drmwtq"
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?
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