7.2RC2 panic in drm_open_helper on amd64

Navdeep Parhar nparhar at gmail.com
Mon Apr 27 05:19:10 UTC 2009

[ Normally I'd have replied to the original email but I couldn't
figure out a way to subscribe to a list, and then reply to an email
already posted to the list.]

I have this very problem (with a different card):

It looks like drm_open_helper() gets a NULL dev parameter and a panic
occurs when it attempts to set dev->flags = flags.  r189668, which was
the MFC of r189052, seems to be the point where the problem showed up
in the 7-STABLE branch.


vgapci2 at pci0:3:1:0:	class=0x030000 card=0x02021787 chip=0x51591002
rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'RV100 Radeon 7000 / Radeon VE'
    class      = display
    subclass   = VGA

Unread portion of the kernel message buffer:
drm2: <ATI Radeon QY RV100 7000/VE> on vgapci2
device_attach: drm2 attach returned 2

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address	= 0x3c
fault code		= supervisor write data, page not present
instruction pointer	= 0x8:0xffffffff80e28bfe
stack pointer	        = 0x10:0xfffffffebe6f36a0
frame pointer	        = 0x10:0xfffffffebe6f36f0
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 3
current process		= 1103 (Xorg)
trap number		= 12
panic: page fault
cpuid = 0
Uptime: 30m9s
Physical memory: 2033 MB
Dumping 120 MB: 105 89 73 57 41 25 9

Reading symbols from /boot/kernel/drm.ko...Reading symbols from
Loaded symbols for /boot/kernel/drm.ko
Reading symbols from /boot/kernel/radeon.ko...Reading symbols from
Loaded symbols for /boot/kernel/radeon.ko
#0  doadump () at pcpu.h:195
195	pcpu.h: No such file or directory.
	in pcpu.h
(kgdb) where
#0  doadump () at pcpu.h:195
#1  0x0000000000000004 in ?? ()
#2  0xffffffff8049a8b1 in boot (howto=260) at
#3  0xffffffff8049acec in panic (fmt=0x104 <Address 0x104 out of
bounds>) at /usr/src/sys/kern/kern_shutdown.c:574
#4  0xffffffff8075e70a in trap_fatal (frame=0xffffff0001c476e0,
eva=Variable "eva" is not available.
) at /usr/src/sys/amd64/amd64/trap.c:764
#5  0xffffffff8075eab1 in trap_pfault (frame=0xfffffffebe6f35f0,
usermode=0) at /usr/src/sys/amd64/amd64/trap.c:680
#6  0xffffffff8075f36f in trap (frame=0xfffffffebe6f35f0) at
#7  0xffffffff807447ae in calltrap () at
#8  0xffffffff80e28bfe in drm_open_helper (kdev=0xffffff0001bbb200,
flags=3, fmt=Variable "fmt" is not available.
    at /usr/src/sys/modules/drm/drm/../../../dev/drm/drm_fops.c:50
#9  0xffffffff80e27510 in drm_open (kdev=0xffffff0001bbb200, flags=3,
fmt=8192, p=0xffffff0001c476e0)
    at /usr/src/sys/modules/drm/drm/../../../dev/drm/drm_drv.c:597
#10 0xffffffff80464275 in giant_open (dev=0xffffff0001bbb200,
oflags=3, devtype=8192, td=0xffffff0001c476e0)
    at /usr/src/sys/kern/kern_conf.c:342
#11 0xffffffff804341c7 in devfs_open (ap=0xfffffffebe6f38e0) at
#12 0xffffffff8051f0ec in vn_open_cred (ndp=0xfffffffebe6f3a20,
flagp=0xfffffffebe6f396c, cmode=Variable "cmode" is not available.
) at vnode_if.h:199
#13 0xffffffff8051ce23 in kern_open (td=0xffffff0001c476e0,
    path=0x7fffffffe850 <Address 0x7fffffffe850 out of bounds>,
pathseg=Variable "pathseg" is not available.
) at /usr/src/sys/kern/vfs_syscalls.c:1042
#14 0xffffffff8075ed1c in syscall (frame=0xfffffffebe6f3c80) at
#15 0xffffffff807449bb in Xfast_syscall () at
#16 0x00000008019c8ffc in ?? ()
Previous frame inner to this frame (corrupt stack?)

More information about the freebsd-stable mailing list