[i815] [drm:drm_release] *ERROR* reclaim_buffers_locked() deadlock

Bug #342122 reported by TJ on 2009-03-13
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Low
Unassigned

Bug Description

Binary package hint: xserver-xorg-video-intel

This affects 8.10 Intrepid desktop live-CD boot - currently not able to install to the hard disk.

Sony Vaio PCG-SRX51P/B notebook with Intel i815M video and 384MB RAM.

When X starts the screen becomes totally black with no cursor.

/var/log/kern.log:

[ 108.233394] Linux agpgart interface v0.103
[ 108.677023] agpgart-intel 0000:00:00.0: Intel i815 Chipset
[ 108.956406] agpgart-intel 0000:00:00.0: AGP aperture is 64M @ 0xf8000000

[ 148.203385] [drm] Initialized i810 1.4.0 20030605 on minor 0
[ 148.205947] mtrr: base(0xf8000000) is not aligned on a size(0x280000) boundary
[ 149.280963] [drm] Using v1.4 init.
[ 149.284460] mtrr: base(0xf8000000) is not aligned on a size(0x3000000) boundary
[ 152.520038] [drm:drm_release] *ERROR* reclaim_buffers_locked() deadlock. Please rework this
[ 152.520048] ^Idriver to use reclaim_buffers_idlelocked() instead.
[ 152.520052] ^II will go on reclaiming the buffers anyway.
----------

/var/log/gdm/:0.log:

X.Org X Server 1.5.2
Release Date: 10 October 2008
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-19-server i686 Ubuntu
Current Operating System: Linux ubuntu 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686
Build Date: 24 October 2008 08:00:16AM
xorg-server 2:1.5.2-2ubuntu3 (<email address hidden>)

error setting MTRR (base = 0xf8000000, size = 0x03000000, type = 1) Invalid argument (22)
error setting MTRR (base = 0xf8000000, size = 0x03000000, type = 1) Invalid argument (22)
----------

/var/log/Xorg.0.log:

(II) [drm] loaded kernel module for "i810" driver.
(II) [drm] DRM interface version 1.3
(II) [drm] DRM open master succeeded.
(II) intel(0): [drm] Using the DRM lock SAREA also for drawables.
(II) intel(0): [drm] framebuffer handle = 0xf8000000
(II) intel(0): [drm] added 1 reserved context for kernel
(II) intel(0): X context handle = 0x1
(II) intel(0): [drm] installed DRM signal handler
(II) intel(0): [drm] Registers = 0xf4000000
(II) intel(0): [agp] dcacheHandle : 0x0
(II) intel(0): [agp] GART: no dcache memory found
(II) intel(0): [agp] Bound backbuffer memory
(II) intel(0): [agp] Bound depthbuffer memory
(II) intel(0): [agp] Bound System Texture Memory
(II) intel(0): [agp] GART: Allocated 4K for mouse cursor image
(II) intel(0): [agp] GART: Allocated 16K for ARGB mouse cursor image
(II) intel(0): Adding 384 scanlines for pixmap caching
(II) intel(0): Allocated Scratch Memory
(II) intel(0): [dri] Buffer map : efb000
(II) intel(0): [drm] added 256 4096 byte DMA buffers
(II) intel(0): [drm] Init v1.4 interface.
(II) intel(0): [drm] dma control initialized, using IRQ -22
(II) intel(0): [dri] visual configs initialized.

(II) intel(0): [DRI] installation complete
(II) intel(0): Direct rendering enabled
----------

It is possible to switch to a console terminal although the usable area is a small section in the centre of the 1024x768 display.

If gdm is stopped /var/log/kern.log shows:

[ 2420.316038] [drm:drm_release] *ERROR* reclaim_buffers_locked() deadlock. Please rework this
[ 2420.316044] ^Idriver to use reclaim_buffers_idlelocked() instead.
[ 2420.316048] ^II will go on reclaiming the buffers anyway.
[ 2423.320029] [drm:i810_wait_ring] *ERROR* space: 65520 wanted 65528
[ 2423.320098] [drm:i810_wait_ring] *ERROR* lockup
[ 2423.324281] [drm] DMA Cleanup
[ 2423.346050] mtrr: no MTRR for f8000000,3000000 found
----------

cat /proc/mtrr

reg00: base=0x00000000 ( 0MB), size= 256MB: write-back, count=1
reg01: base=0x10000000 ( 256MB), size= 128MB: write-back, count=1
reg02: base=0x17e80000 ( 382MB), size= 512KB: uncachable, count=1
reg03: base=0x17f00000 ( 383MB), size= 1MB: uncachable, count=1
reg04: base=0xf8000000 (3968MB), size= 64MB: write-combining, count=1
----------

Disabling DRI in /etc/X11/xorg.conf helps only slightly in that X tries to reconfigure the display and gets stuck in a loop of dialog choices (very small - 6px - text too) which results in it using the 'generic' profile again which tries to use DRI and therefore the screen is blank once more.

Section "Device"
  Option "DRI" off
EndSection

[lspci]
00:00.0 Host bridge [0600]: Intel Corporation 82815 815 Chipset Host Bridge and Memory Controller Hub [8086:1130] (rev 11)
     Subsystem: Sony Corporation Device [104d:80f2]
00:02.0 VGA compatible controller [0300]: Intel Corporation 82815 Chipset Graphics Controller (CGC) [8086:1132] (rev 11)
     Subsystem: Sony Corporation Device [104d:80f2]

TJ (tj) wrote :
TJ (tj) wrote :
TJ (tj) wrote :
TJ (tj) wrote :
TJ (tj) wrote :
TJ (tj) wrote :

The "blank screen" issue has been resolved. It was caused by having an external 1280x1024 monitor connected which provides EDID information (obvious when I analysed the Xorg.0.log and remembered the integral display is 1024x768).

That EDID info was then being used to try and configure the integral display. What is strange is why the external display didn't manage to show something since the text console is cloned on both displays.

Without the external monitor connected xserver starts in 800x600 non-scaled centred mode - this due to bug #288807.

I've played about with moving the video MTRR around via /proc/mtrr to try and resolve the primary issue in this report. So far I've not made much headway, aside from aligning the region on a size-boundary:

echo "disable=4" > /proc/mtrr
echo "base=0xf0000000 size=0x04000000 type=write-combining" > /proc/mtrr

Changed in xserver-xorg-video-intel:
assignee: nobody → intuitivenipple
importance: Undecided → Low
status: New → In Progress
Bryce Harrington (bryce) on 2009-04-21
description: updated
Bryce Harrington (bryce) on 2009-04-24
summary: - [drm:drm_release] *ERROR* reclaim_buffers_locked() deadlock
+ [i815] [drm:drm_release] *ERROR* reclaim_buffers_locked() deadlock
Andrew Ash (ash211) wrote :

TJ, is this still an issue on Ubuntu 9.04? We're working on getting the -intel driver in top shape, so we're trying to forward all relevant bugs upstream. First though, we need to verify the issue still exists with the latest upstream release. Would you please install and test the 2.7.0 driver and reproduce the bug, and let us know ASAP? A PPA with a Jaunty version of this driver is available at: https://edge.launchpad.net/~ubuntu-x-swat/+archive/x-updates/

tags: added: i815 intel
Bryce Harrington (bryce) on 2009-08-13
tags: added: intrepid
Bryce Harrington (bryce) on 2010-03-02
summary: - [i815] [drm:drm_release] *ERROR* reclaim_buffers_locked() deadlock
+ [i815] [i815] [drm:drm_release] *ERROR* reclaim_buffers_locked()
+ deadlock

This is still an issue for Lucid. There are other issues related to the i815 (bug #288807) also so it is difficult right now to get the machine in any useful state for debugging. Here's a netconsole log fragment from booting the Lucid Alpha 3 i386 LiveCD via PXE/NFS:

[ 0.000000] Linux version 2.6.32-14-generic (buildd@vernadsky) (gcc version 4.4.3 (Ubuntu 4.4.3-2ubuntu2) ) #20-Ubuntu SMP Sat Feb 20 05:38:50 UTC 2010 (Ubuntu 2.6.32-14.20-generic)
...
[ 66.784086] [drm:drm_reclaim_locked_buffers] *ERROR* reclaim_buffers_locked() deadlock. Please rework this
[ 66.784099] driver to use reclaim_buffers_idlelocked() instead.
[ 66.784103] I will go on reclaiming the buffers anyway.
[ 105.668039] [drm:drm_reclaim_locked_buffers] *ERROR* reclaim_buffers_locked() deadlock. Please rework this
[ 105.668049] driver to use reclaim_buffers_idlelocked() instead.
[ 105.668054] I will go on reclaiming the buffers anyway.
[ 214.868038] [drm:drm_reclaim_locked_buffers] *ERROR* reclaim_buffers_locked() deadlock. Please rework this
[ 214.868047] driver to use reclaim_buffers_idlelocked() instead.
[ 214.868051] I will go on reclaiming the buffers anyway.

Changed in xserver-xorg-video-intel (Ubuntu):
assignee: TJ (intuitivenipple) → nobody
status: In Progress → Confirmed
TJ (tj) wrote :

Checked against the 2010-03-04 LiveCD image and found that this error plus the more serious error previously seen for 8.10 has returned:

kernel: [ 53.944378] intel8x0_measure_ac97_clock: measured 55567 usecs (2670 samples)
kernel: [ 53.944392] intel8x0: clocking to 48000
kernel: [ 57.698560] lp: driver loaded but no devices found
kernel: [ 57.952376] ppdev: user-space parallel port driver
kernel: [ 61.309114] [drm] Initialized drm 1.1.0 20060810
kernel: [ 61.365944] pci 0000:00:02.0: PCI INT A -> Link[LNKA] -> GSI 9 (level, low) -> IRQ 9
kernel: [ 61.365962] pci 0000:00:02.0: setting latency timer to 64
kernel: [ 61.369048] [drm] Initialized i810 1.4.0 20030605 for 0000:00:02.0 on minor 0
kernel: [ 61.369952] mtrr: base(0xf8000000) is not aligned on a size(0x12c000) boundary
kernel: [ 62.126659] [drm] Using v1.4 init.
kernel: [ 62.748078] eth1: no IPv6 routers present
kernel: [ 65.636075] [drm:drm_reclaim_locked_buffers] *ERROR* reclaim_buffers_locked() deadlock. Please rework this
kernel: [ 65.636088] driver to use reclaim_buffers_idlelocked() instead.
kernel: [ 65.636092] I will go on reclaiming the buffers anyway.
kernel: [ 110.836039] [drm:i810_wait_ring] *ERROR* space: 65520 wanted 65528
kernel: [ 110.844101] [drm:i810_wait_ring] *ERROR* lockup
kernel: [ 112.906118] mtrr: base(0xf8000000) is not aligned on a size(0x12c000) boundary
kernel: [ 113.043367] [drm] Using v1.4 init.
kernel: [ 116.144033] [drm:drm_reclaim_locked_buffers] *ERROR* reclaim_buffers_locked() deadlock. Please rework this
kernel: [ 116.144043] driver to use reclaim_buffers_idlelocked() instead.
kernel: [ 116.144047] I will go on reclaiming the buffers anyway.

The notebook has a successful working installation of Xubuntu 9.10 from the LiveCD so, unless this is Gnome/XFCE specific, the 2008 issue would seem to have returned. I shall download and test against the current Xubuntu LiveCD image to check this.

Bryce Harrington (bryce) on 2010-05-21
tags: added: hardy
Harald (hdmuell) wrote :

It affects me with Lucid when it is installed via updating from 9.04 via 9.10 to 10.04. If I use the live CD I seem not to have this error

Gary M (garym) on 2010-08-11
summary: - [i815] [i815] [drm:drm_release] *ERROR* reclaim_buffers_locked()
- deadlock
+ [i815] [drm:drm_release] *ERROR* reclaim_buffers_locked() deadlock
Bryce Harrington (bryce) wrote :

The i815 chipset is no longer supported upstream, and at the distro level we're no longer investing development into it. Technical support is pretty limited as well, but that's handled beyond the bug tracker. There are some established workarounds like fiddling with KMS settings and so on, but you can find technical help with that through http://askubuntu.com and similar sources.

affects: xserver-xorg-video-intel (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers