Bug 814818

Summary: Xorg stuck in __nouveau_fence_wait
Product: Red Hat Enterprise Linux 6 Reporter: Rik van Riel <riel>
Component: kernelAssignee: Ben Skeggs <bskeggs>
Status: CLOSED WONTFIX QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.2   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-06 12:00:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
dmesg
none
Xorg.0.log none

Description Rik van Riel 2012-04-20 18:51:25 UTC
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 18:55:00 UTC
Created attachment 579083 [details]
dmesg

Comment 3 Rik van Riel 2012-04-20 18:55:30 UTC
Created attachment 579084 [details]
Xorg.0.log

Comment 4 RHEL Program Management 2012-05-03 05:40:25 UTC
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 12:00:35 UTC
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/