Bug 814818 - Xorg stuck in __nouveau_fence_wait
Xorg stuck in __nouveau_fence_wait
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
6.2
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Ben Skeggs
Red Hat Kernel QE team
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-20 14:51 EDT by Rik van Riel
Modified: 2017-12-06 07:00 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-12-06 07:00:35 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
dmesg (58.62 KB, text/plain)
2012-04-20 14:55 EDT, Rik van Riel
no flags Details
Xorg.0.log (22.94 KB, text/plain)
2012-04-20 14:55 EDT, Rik van Riel
no flags Details

  None (edit)
Description Rik van Riel 2012-04-20 14:51:25 EDT
Description of problem:

I run RHEL6 on a test machine with an old nvidia video card. When doing a certain thing (see below), Xorg will hang. Not only that, but Xorg will hang in an unkillable way, where not even SIGKILL can make X exit. At that point a reboot of the system is required to get X to restart...

Version-Release number of selected component (if applicable):

kernel 2.6.32-262.el6.x86_64

04:04.0 VGA compatible controller: nVidia Corporation NV5M64 [RIVA TNT2 Model 64/Model 64 Pro] (rev 15)

Steps to Reproduce:
1. start virt-manager
2. from the "view" menu, select the option to scale the guest display size to the window size
3. resize the guest window
  
Actual results:

Xorg hangs, and is not killable even with SIGKILL. I see this in dmesg:

[drm] nouveau 0000:04:04.0: Load detected on head A
[drm] nouveau 0000:04:04.0: Load detected on head A
[drm] nouveau 0000:04:04.0: Load detected on head A
[drm] nouveau 0000:04:04.0: PFIFO_DMA_PUSHER - Ch 1 Get 0x000314c0 Put 0x0001fd90 State 0x8000a490 (err: INVALID_CMD) Push 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0400 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0404 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0408 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x040c data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0410 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0414 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0418 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x041c data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0420 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0424 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0428 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x042c data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0430 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0434 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0438 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x043c data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0440 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0444 data 0x00000000
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x0448 data 0x00000003
[drm] nouveau 0000:04:04.0: PGRAPH - NOTIFY nsource: METHOD_CNT nstatus: INVALID_STATE
[drm] nouveau 0000:04:04.0: PGRAPH - ch 1/5 class 0x0061 mthd 0x044c data 0x00104300

Here is the kernel stack trace for Xorg:
[<ffffffffa0100f81>] __nouveau_fence_wait+0xa1/0x100 [nouveau]
[<ffffffffa00d5c01>] ttm_bo_wait+0x101/0x1b0 [ttm]
[<ffffffffa01029bf>] nouveau_gem_ioctl_cpu_prep+0x6f/0xd0 [nouveau]
[<ffffffffa00719c3>] drm_ioctl+0x473/0x510 [drm]
[<ffffffff8118d742>] vfs_ioctl+0x22/0xa0
[<ffffffff8118d8e4>] do_vfs_ioctl+0x84/0x580
[<ffffffff8118de61>] sys_ioctl+0x81/0xa0
[<ffffffff8100b0f2>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffff

Expected results:

Ideally things would just work. I understand this particular hardware may be too old to bother supporting, but it would still be nice for the nouveau driver to be robust against random failures.

Additional info:
Comment 2 Rik van Riel 2012-04-20 14:55:00 EDT
Created attachment 579083 [details]
dmesg
Comment 3 Rik van Riel 2012-04-20 14:55:30 EDT
Created attachment 579084 [details]
Xorg.0.log
Comment 4 RHEL Product and Program Management 2012-05-03 01:40:25 EDT
Since RHEL 6.3 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.
Comment 5 Jan Kurik 2017-12-06 07:00:35 EST
Red Hat Enterprise Linux 6 is in the Production 3 Phase. During the Production 3 Phase, Critical impact Security Advisories (RHSAs) and selected Urgent Priority Bug Fix Advisories (RHBAs) may be released as they become available.

The official life cycle policy can be reviewed here:

http://redhat.com/rhel/lifecycle

This issue does not meet the inclusion criteria for the Production 3 Phase and will be marked as CLOSED/WONTFIX. If this remains a critical requirement, please contact Red Hat Customer Support to request a re-evaluation of the issue, citing a clear business justification. Note that a strong business justification will be required for re-evaluation. Red Hat Customer Support can be contacted via the Red Hat Customer Portal at the following URL:

https://access.redhat.com/

Note You need to log in before you can comment on or make changes to this bug.