Bug 22756 - nouveau_fence.c kernel BUG and recursive faults
Summary: nouveau_fence.c kernel BUG and recursive faults
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-13 14:27 UTC by Pekka Paalanen
Modified: 2009-07-19 08:58 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg log (28.82 KB, text/plain)
2009-07-13 14:27 UTC, Pekka Paalanen
no flags Details
kernel log (135.96 KB, text/plain)
2009-07-13 14:28 UTC, Pekka Paalanen
no flags Details
kernel log (14.47 KB, application/octet-stream)
2009-07-16 04:09 UTC, David
no flags Details

Description Pekka Paalanen 2009-07-13 14:27:32 UTC
Created attachment 27647 [details]
Xorg log

Nouveau, KMS enabled and working fine, NV28 card.

DRM modules from nouveau/linux-2.6 git, v2.6.31-rc2-65-g7525cc6, branch master-compat, commit 7525cc6ddc45772f78aa40fe0a767f512f2ae1ed "Clarify nouveau/DEPENDS file.". This branch is up-to-date with master branch commit "drm/nouveau: allow celcius on nv20". The host kernel is 2.6.28-gentoo-r5.

When trying to start X, screen blinks, goes black, kernel hits BUGs, but the machine does not hang. SysRq can unlock the keyboard, but I do not get the console back, screen stays black. The kernel recommends a reboot after the recursive fault.

Attaching X.org log (nothing really interesting), and the kernel log with drm debug=1, except all debug messages starting in nouveau_hw.h disabled (they overflow the kernel message buffer and I hear they make I2C/DDC fail).

I'm guessing a way to reproduce this would be to remove e.g. NVxxTCL object from the list of allowed grobjs, and then starting X. Missing NV11TCL was how I first hit this kind of bug, but adding that did not fix everything. Probably something wrong in the nouveau DRM error paths.
Comment 1 Pekka Paalanen 2009-07-13 14:28:57 UTC
Created attachment 27648 [details]
kernel log
Comment 2 David 2009-07-16 04:09:17 UTC
Created attachment 27759 [details]
kernel log

	
The same happens with NV18.

Removing the patch:

drm/nouveau: protect fence pending list with Spinlock
commit: ed6cc42c377ed125e6b95e0808883a8a47f137c2

this works.
Comment 3 David 2009-07-17 03:08:38 UTC
It already works well, I think it's because:

drm/nouveau: fix BUG_ON() on UP systems, spin_is_locked() always returns 0
commit: 	f248e95a848d3e70be395862fdf512ffdfcecd51

thanks 
Comment 4 Pekka Paalanen 2009-07-19 08:58:44 UTC
(In reply to comment #3)
> It already works well, I think it's because:
> 
> drm/nouveau: fix BUG_ON() on UP systems, spin_is_locked() always returns 0
> commit:         f248e95a848d3e70be395862fdf512ffdfcecd51
> 
> thanks 
> 

Yup, confirmed here, too. Latest DRM works just fine.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.