Panic in radeon_get_vblank_counter()

Sean C. Farley scf at FreeBSD.org
Fri Mar 13 13:49:17 PDT 2009


After upgrading my laptop (Dell 600m) yesterday, I have begun to 
experience panics on it probably related to the DRM update.

Killing the X server by Ctrl-Alt-Backspace is a good way to lock the 
system.  Reboot to get a core dump.

Piece of Xorg.log concerning the hardware using the 
xf86-video-ati-6.11.0 driver:
(--) PCI:*(0 at 1:0:0) ATI Technologies Inc Radeon RV250 [Mobility FireGL 9000] rev 1, Mem @ 0xe8000000/0, 0xfcff0000/0, I/O @ 0x0000c000/0, BIOS @ 0x????????/65536
...
(--) RADEON(0): Chipset: "ATI Radeon Mobility 9000 (M9) Lf (AGP)" (ChipID = 0x4c66)


Special options in xorg.conf:
Section "Device"
     ...
     Option     "EnablePageFlip"             "true"
     Option     "AccelMethod"                "EXA"
EndSection

Section "Screen"
     ...
     Option "AddARGBGLXVisuals" "True"
     Option "DisableGLXRootClipping" "True"
     Option "XAANoOffscreenPixmaps" "True"
     ...
EndSection


pciconf -lv of the device:
vgapci0 at pci0:1:0:0:     class=0x030000 card=0x011e1028 chip=0x4c661002 rev=0x01 hdr=0x00
     vendor     = 'ATI Technologies Inc'
     device     = 'ATI MOBILITY RADEON 9000 (Microsoft Corporation - Radeon Mobility M9'
     class      = display
     subclass   = VGA


/var/log/messages about drm:
Mar 13 15:41:51 baba kernel: drm0: <ATI Radeon Lf RV250 Mobility 9000 M9 / FireMV 2400 PCI> on vgapci0
Mar 13 15:41:51 baba kernel: vgapci0: child drm0 requested pci_enable_busmaster
Mar 13 15:41:51 baba kernel: info: [drm] AGP at 0xe0000000 128MB
Mar 13 15:41:51 baba kernel: info: [drm] Initialized radeon 1.29.0 20080613
Mar 13 15:41:52 baba kernel: info: [drm] Setting GART location based on new memory map
Mar 13 15:41:52 baba kernel: info: [drm] Loading R200 Microcode
Mar 13 15:41:52 baba kernel: info: [drm] writeback test succeeded in 1 usecs
Mar 13 15:41:52 baba kernel: drm0: [ITHREAD]


Panic attached.

Sean
-- 
scf at FreeBSD.org
-------------- next part --------------
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address	= 0x10
fault code		= supervisor read, page not present
instruction pointer	= 0x20:0xc341eb48
stack pointer	        = 0x28:0xc2b2bc3c
frame pointer	        = 0x28:0xc2b2bc4c
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 13 (swi4: clock sio)
trap number		= 12
panic: page fault
cpuid = 0
Uptime: 12h18m28s
Physical memory: 503 MB
Dumping 99 MB: 84 68 52 36 20 4

Reading symbols from /boot/kernel/if_tap.ko...Reading symbols from /boot/kernel/if_tap.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_tap.ko
Reading symbols from /boot/kernel/snd_ich.ko...Reading symbols from /boot/kernel/snd_ich.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/snd_ich.ko
Reading symbols from /boot/kernel/sound.ko...Reading symbols from /boot/kernel/sound.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/sound.ko
Reading symbols from /boot/kernel/atapicam.ko...Reading symbols from /boot/kernel/atapicam.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/atapicam.ko
Reading symbols from /boot/kernel/aio.ko...Reading symbols from /boot/kernel/aio.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/aio.ko
Reading symbols from /boot/kernel/acpi.ko...Reading symbols from /boot/kernel/acpi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.ko
Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/linsysfs.ko...Reading symbols from /boot/kernel/linsysfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linsysfs.ko
Reading symbols from /boot/kernel/pflog.ko...Reading symbols from /boot/kernel/pflog.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/pflog.ko
Reading symbols from /boot/kernel/pf.ko...Reading symbols from /boot/kernel/pf.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/pf.ko
Reading symbols from /boot/kernel/daemon_saver.ko...Reading symbols from /boot/kernel/daemon_saver.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/daemon_saver.ko
Reading symbols from /boot/kernel/radeon.ko...Reading symbols from /boot/kernel/radeon.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/radeon.ko
Reading symbols from /boot/kernel/drm.ko...Reading symbols from /boot/kernel/drm.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/drm.ko
#0  doadump () at pcpu.h:196
196	pcpu.h: No such file or directory.
	in pcpu.h
(kgdb) where
#0  doadump () at pcpu.h:196
#1  0xc05b6fe7 in boot (howto=260) at /usr/FreeBSD/RELENG_7/src/sys/kern/kern_shutdown.c:418
#2  0xc05b72b9 in panic (fmt=Variable "fmt" is not available.
) at /usr/FreeBSD/RELENG_7/src/sys/kern/kern_shutdown.c:574
#3  0xc082417c in trap_fatal (frame=0xc2b2bbfc, eva=16) at /usr/FreeBSD/RELENG_7/src/sys/i386/i386/trap.c:939
#4  0xc08243e0 in trap_pfault (frame=0xc2b2bbfc, usermode=0, eva=16) at /usr/FreeBSD/RELENG_7/src/sys/i386/i386/trap.c:852
#5  0xc0824d72 in trap (frame=0xc2b2bbfc) at /usr/FreeBSD/RELENG_7/src/sys/i386/i386/trap.c:530
#6  0xc0809e3b in calltrap () at /usr/FreeBSD/RELENG_7/src/sys/i386/i386/exception.s:159
#7  0xc341eb48 in radeon_get_vblank_counter (dev=0xc2dec800, crtc=0) at /usr/FreeBSD/RELENG_7/src/sys/modules/drm/radeon/../../../dev/drm/radeon_irq.c:308
#8  0xc3445f7b in vblank_disable_fn (arg=0xc2dec800) at /usr/FreeBSD/RELENG_7/src/sys/modules/drm/drm/../../../dev/drm/drm_irq.c:91
#9  0xc05c9a4a in softclock (dummy=0x0) at /usr/FreeBSD/RELENG_7/src/sys/kern/kern_timeout.c:274
#10 0xc0594fdb in ithread_loop (arg=0xc2c95350) at /usr/FreeBSD/RELENG_7/src/sys/kern/kern_intr.c:1088
#11 0xc0591b29 in fork_exit (callout=0xc0594e20 <ithread_loop>, arg=0xc2c95350, frame=0xc2b2bd38) at /usr/FreeBSD/RELENG_7/src/sys/kern/kern_fork.c:810
#12 0xc0809eb0 in fork_trampoline () at /usr/FreeBSD/RELENG_7/src/sys/i386/i386/exception.s:264
(kgdb) frame 7
#7  0xc341eb48 in radeon_get_vblank_counter (dev=0xc2dec800, crtc=0) at /usr/FreeBSD/RELENG_7/src/sys/modules/drm/radeon/../../../dev/drm/radeon_irq.c:308
308				return RADEON_READ(RADEON_CRTC_CRNT_FRAME);
(kgdb) p *dev
$1 = {driver = 0xc33d6700, id_entry = 0xc3434930, pci_device = 19558, pci_vendor = 4098, unique = 0x0, unique_len = 0, device = 0xc2d5b080, devnode = 0xc33d6800, if_version = 677316843, flags = 3, vbl_lock = {
    lock_object = {lo_name = 0xc3449f37 "drmvbl", lo_type = 0xc3449f37 "drmvbl", lo_flags = 16973824, lo_witness_data = {lod_list = {stqe_next = 0x0}, lod_witness = 0x0}}, mtx_lock = 3267987088, 
    mtx_recurse = 0}, dma_lock = {lock_object = {lo_name = 0xc3449bc1 "drmdma", lo_type = 0xc3449bc1 "drmdma", lo_flags = 16908288, lo_witness_data = {lod_list = {stqe_next = 0x0}, lod_witness = 0x0}}, 
    mtx_lock = 6, mtx_recurse = 0}, irq_lock = {lock_object = {lo_name = 0xc3449f30 "drmirq", lo_type = 0xc3449f30 "drmirq", lo_flags = 16973824, lo_witness_data = {lod_list = {stqe_next = 0x0}, 
        lod_witness = 0x0}}, mtx_lock = 4, mtx_recurse = 0}, dev_lock = {lock_object = {lo_name = 0xc3449f29 "drmdev", lo_type = 0xc3449f29 "drmdev", lo_flags = 16973824, lo_witness_data = {lod_list = {
          stqe_next = 0x0}, lod_witness = 0x0}}, mtx_lock = 4, mtx_recurse = 0}, drw_lock = {lock_object = {lo_name = 0xc3449f3e "drmdrw", lo_type = 0xc3449f3e "drmdrw", lo_flags = 16973824, lo_witness_data = {
        lod_list = {stqe_next = 0x0}, lod_witness = 0x0}}, mtx_lock = 4, mtx_recurse = 0}, open_count = 0, buf_use = 8, counters = 6, types = {_DRM_STAT_LOCK, _DRM_STAT_OPENS, _DRM_STAT_CLOSES, 
    _DRM_STAT_IOCTLS, _DRM_STAT_LOCKS, _DRM_STAT_UNLOCKS, _DRM_STAT_LOCK, _DRM_STAT_LOCK, _DRM_STAT_LOCK, _DRM_STAT_LOCK, _DRM_STAT_LOCK, _DRM_STAT_LOCK, _DRM_STAT_LOCK, _DRM_STAT_LOCK, _DRM_STAT_LOCK}, 
  counts = {0, 10, 10, 1935582, 1854, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0}, files = {tqh_first = 0x0, tqh_last = 0xc2dec920}, magiclist = {{head = 0x0, tail = 0x0} <repeats 16 times>}, maplist = {tqh_first = 0x0, 
    tqh_last = 0xc2dec9a8}, context_sareas = 0xc2eee450, max_context = 4, lock = {hw_lock = 0x0, file_priv = 0x0, lock_queue = 0, lock_time = 5360133}, dma = 0x0, irq = 11, irq_enabled = 0, msi_enabled = 0, 
  irqrid = 0, irqr = 0xc315c480, irqh = 0xc33cc800, pcir = {0xc2d69c40, 0x0, 0xc2d69b80}, pcirid = {16, 0, 24}, pci_domain = 0, pci_bus = 1, pci_slot = 0, pci_func = 0, context_flag = 0, last_context = 0, 
  vblank_disable_allowed = 1, vbl_signal_pending = 0, vblank_disable_timer = {c_links = {sle = {sle_next = 0x0}, tqe = {tqe_next = 0x0, tqe_prev = 0xc29a6e08}}, c_time = 44312063, c_arg = 0xc2dec800, 
    c_func = 0xc3445ef0 <vblank_disable_fn>, c_mtx = 0xc2dec824, c_flags = 0}, max_vblank_count = 2097151, vblank = 0xc315c680, num_crtcs = 2, buf_sigio = 0x0, sysctl = 0xc2eee520, agp = 0xc315c6c0, sg = 0x0, 
  ctx_bitmap = 0xc3239000, dev_private = 0xc2da4800, agp_buffer_token = 3759153152, agp_buffer_map = 0x0, drw_unrhdr = 0xc315c740, drw_head = {rbh_root = 0x0}}
(kgdb) quit


More information about the freebsd-stable mailing list