Re: 2.6.34 and 2.6.35-rc6-git2: kernel crash downstream of generic_file_aio_writeand i830_swap_bufs

From: Martin Mokrejs
Date: Tue Jul 27 2010 - 07:29:04 EST


For completeness I am attaching the output from X server.
M.

Martin Mokrejs wrote:
> Hi,
> I have a kernel crash with _intel_ drm driver on Acer LCi291 laptop with builtin Intel 855GM card
> when I start /usr/bin/X (it does work when "vesa" instead of "intel" drm driver is called from
> xorg.conf, though).

[cut]

> Here is a crash with 2.6.35-rc6-git2 as well:
> [cut]
> [ 5.074544] agpgart-intel 0000:00:00.0: Intel 855GM Chipset
> [ 5.075090] agpgart-intel 0000:00:00.0: detected 16252K stolen memory
> [ 5.077817] agpgart-intel 0000:00:00.0: AGP aperture is 128M @ 0xb0000000
> [cut]
> [ 57.952849] BUG: unable to handle kernel NULL pointer dereference at (null)
> [ 57.952863] IP: [<efae80bc>] i830_swap_bufs+0x2a/0x2ab [i830]
> [ 57.952885] *pde = 00000000
> [ 57.952893] Oops: 0000 [#1]
> [ 57.952901] last sysfs file: /sys/devices/pci0000:00/0000:00:02.1/resource
> [ 57.952910] Modules linked in: i830 firewire_ohci snd_intel8x0m ipw2100 snd_intel8x0 irda parport_pc parport intel_agp firewire_core snd_ac97_codec libipw i2c_i801 rtc_cmos ac97_bus
> [ 57.952948]
> [ 57.952959] Pid: 5345, comm: X Not tainted 2.6.35-rc6-git2 #1 855GM /TravelMate 290
> [ 57.952970] EIP: 0060:[<efae80bc>] EFLAGS: 00213246 CPU: 0
> [ 57.952982] EIP is at i830_swap_bufs+0x2a/0x2ab [i830]
> [ 57.952991] EAX: 00000000 EBX: ed038a20 ECX: ed038a20 EDX: ed038a80
> [ 57.953001] ESI: ed24ec00 EDI: 00000046 EBP: ee233e70 ESP: ee233e34
> [ 57.953010] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
> [ 57.953021] Process X (pid: 5345, ti=ee232000 task=ee03dd40 task.ti=ee232000)
> [ 57.953028] Stack:
> [ 57.953033] 00000001 efae9e65 efae9b50 efaea1d5 00000000 ee233f20 ee233f18 ed24ec00
> [ 57.953050] <0> c11106d7 ee233e70 c111070a ee233e8c ed038a20 ed24ec00 00000046 ee233f18
> [ 57.953068] <0> c11765f5 bfc15960 efae8092 efaea774 c0086446 ee233e8c 00000005 bfc1596c
> [ 57.953087] Call Trace:
> [ 57.953104] [<c11106d7>] ? might_fault+0x8/0xa
> [ 57.953116] [<c111070a>] ? _copy_from_user+0x31/0x115
> [ 57.953131] [<c11765f5>] ? drm_ioctl+0x211/0x2a1
> [ 57.953145] [<efae8092>] ? i830_swap_bufs+0x0/0x2ab [i830]
> [ 57.953160] [<c104d7f0>] ? generic_file_aio_write+0x87/0x9e
> [ 57.953175] [<c1069e09>] ? do_sync_write+0x89/0xc4
> [ 57.953187] [<c11763e4>] ? drm_ioctl+0x0/0x2a1
> [ 57.953200] [<c1073241>] ? vfs_ioctl+0x15/0x49
> [ 57.953212] [<c1073724>] ? do_vfs_ioctl+0x40b/0x43f
> [ 57.953225] [<c1069bd0>] ? fsnotify_modify+0x4f/0x5a
> [ 57.953237] [<c1069d80>] ? do_sync_write+0x0/0xc4
> [ 57.953248] [<c106a5c9>] ? vfs_write+0x98/0xac
> [ 57.953260] [<c1073786>] ? sys_ioctl+0x2e/0x48
> [ 57.953273] [<c1002510>] ? sysenter_do_call+0x12/0x26
> [ 57.953280] Code: c3 55 89 e5 57 56 53 83 ec 20 89 45 e0 89 cb 68 d5 a1 ae ef 68 50 9b ae ef 68 65 9e ae ef 6a 01 e8 c8 19 69 d1 8b 53 40 8b 42 3c <8b> 08 83 c4 10 85 c9 79 05 39 5a 40 74 2d 8b 00 53 ff 72 40 25
> [ 57.953370] EIP: [<efae80bc>] i830_swap_bufs+0x2a/0x2ab [i830] SS:ESP 0068:ee233e34
> [ 57.953387] CR2: 0000000000000000
> [ 57.953396] ---[ end trace 9e76fe13d3edd6f6 ]---
> [ 57.957541] [drm:drm_release] *ERROR* Device busy: 1
(II) config/hal: initialized
X.Org X Server 1.7.6
Release Date: 2010-03-17
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.35-rc6-git2 i686
Current Operating System: Linux acer 2.6.35-rc6-git2 #2 Tue Jul 27 13:19:50 MEST 2010 i686
Kernel command line: root=/dev/sda3 udev
Build Date: 27 July 2010 01:10:29PM

Current version of pixman: 0.18.2
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Tue Jul 27 13:25:35 2010
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Simple Layout"
(**) |-->Screen "ScreenBelineaLCD" (0)
(**) | |-->Monitor "BelineaLCD"
(**) | |-->Device "radeon7500M"
(**) Option "NoTrapSignals"
(**) Option "AllowEmptyInput" "yes"
(==) Automatically adding devices
(==) Automatically enabling devices
(WW) The directory "/usr/share/fonts/TTF/" does not exist.
Entry deleted from font path.
(WW) The directory "/usr/share/fonts/Type1/" does not exist.
Entry deleted from font path.
(WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".
Entry deleted from font path.
(Run 'mkfontdir' on "/usr/share/fonts/75dpi/").
(WW) The directory "/usr/share/fonts/TTF/" does not exist.
Entry deleted from font path.
(WW) The directory "/usr/share/fonts/OTF" does not exist.
Entry deleted from font path.
(WW) The directory "/usr/share/fonts/Type1/" does not exist.
Entry deleted from font path.
(WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".
Entry deleted from font path.
(Run 'mkfontdir' on "/usr/share/fonts/75dpi/").
(**) FontPath set to:
/usr/share/fonts/misc/,
/usr/share/fonts/100dpi/,
/usr/share/fonts/misc/,
/usr/share/fonts/100dpi/
(==) ModulePath set to "/usr/lib/xorg/modules"
(II) Cannot locate a core pointer device.
(II) Cannot locate a core keyboard device.
(II) The server relies on HAL to provide the list of input devices.
If no devices become available, reconfigure HAL or disable AutoAddDevices.
(II) Loader magic: 0x81d6920
(II) Module ABI versions:
X.Org ANSI C Emulation: 0.4
X.Org Video Driver: 6.0
X.Org XInput driver : 7.0
X.Org Server Extension : 2.0
(--) using VT number 9

(--) PCI:*(0:0:2:0) 8086:3582:1025:003d Intel Corporation 82852/855GM Integrated Graphics Device rev 2, Mem @ 0xb0000000/134217728, 0xf0000000/524288, I/O @ 0x0000e000/8
(--) PCI: (0:0:2:1) 8086:3582:1025:003d Intel Corporation 82852/855GM Integrated Graphics Device rev 2, Mem @ 0x30000000/134217728, 0x38000000/524288
(II) Open ACPI successful (/var/run/acpid.socket)
(II) "extmod" will be loaded by default.
(II) "dbe" will be loaded by default.
(II) "glx" will be loaded. This was enabled by default and also specified in the config file.
(II) "record" will be loaded by default.
(II) "dri" will be loaded. This was enabled by default and also specified in the config file.
(II) "dri2" will be loaded by default.
(II) LoadModule: "glx"
(II) Loading /usr/lib/xorg/modules/extensions/libglx.so
(II) Module glx: vendor="X.Org Foundation"
compiled for 1.7.6, module version = 1.0.0
ABI class: X.Org Server Extension, version 2.0
(==) AIGLX enabled
(II) Loading extension GLX
(II) LoadModule: "dri"
(II) Loading /usr/lib/xorg/modules/extensions/libdri.so
(II) Module dri: vendor="X.Org Foundation"
compiled for 1.7.6, module version = 1.0.0
ABI class: X.Org Server Extension, version 2.0
(II) Loading extension XFree86-DRI
(II) LoadModule: "extmod"
(II) Loading /usr/lib/xorg/modules/extensions/libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
compiled for 1.7.6, module version = 1.0.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 2.0
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "dbe"
(II) Loading /usr/lib/xorg/modules/extensions/libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
compiled for 1.7.6, module version = 1.0.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "record"
(II) Loading /usr/lib/xorg/modules/extensions/librecord.so
(II) Module record: vendor="X.Org Foundation"
compiled for 1.7.6, module version = 1.13.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 2.0
(II) Loading extension RECORD
(II) LoadModule: "dri2"
(II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
(II) Module dri2: vendor="X.Org Foundation"
compiled for 1.7.6, module version = 1.1.0
ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DRI2
(II) LoadModule: "intel"
(II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
(II) Module intel: vendor="X.Org Foundation"
compiled for 1.7.6, module version = 2.9.1
Module class: X.Org Video Driver
ABI class: X.Org Video Driver, version 6.0
(II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
4 Series, G45/G43, Q45/Q43, G41, B43, Clarkdale, Arrandale
(II) Primary Device is: PCI 00@00:02:0
(II) Loading sub module "vgahw"
(II) LoadModule: "vgahw"
(II) Loading /usr/lib/xorg/modules/libvgahw.so
(II) Module vgahw: vendor="X.Org Foundation"
compiled for 1.7.6, module version = 0.1.0
ABI class: X.Org Video Driver, version 6.0
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"
(II) Module "ramdac" already built-in
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 10, (OK)
drmOpenByBusid: Searching for BusID pci:0000:00:02.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 10, (OK)
drmOpenByBusid: drmOpenMinor returns 10
drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
Killed