pcm(4) related panic

From: Artur Poplawski <artur_at_szuruburu.neostrada.pl>
Date: Tue, 25 Nov 2003 16:17:23 +0100
Hello,                                                                          
                                                                                
On a 5.1-RELEASE and 5.2-BETA machines I have been able to cause a panic 
like this:
                                                                     
(watch out for folded lines; the stack backtrace below is rewritten by
hand from ddb)

lock order reversal
 1st 0xc22a45ac vm object (vm object) _at_ /usr/src/sys/vm/swap_pager.c:1323
 2nd 0xc06c0420 swap_pager swhash (swap_pager swhash) _at_ \
        /usr/src/sys/vm/swap_pager.c:1838
 3rd 0xc0c358c4 vm object (vm object) _at_ /usr/src/sys/vm/uma_core.c:876
Stack backtrace:
  backtrace
  witness_lock
  _mtx_lock_flags
  obj_allock
  slab_zalloc
  uma_zone_slab
  uma_zalloc_internal
  uma_zalloc_arg
  swp_pager_meta_build
  swap_pager_putpages
  default_pager_putpages
  vm_pageout_flush
  vm_pageout_clean
  vm_pageout_scan
  vm_pageout
  fork_exit
  fork_trampoline

Sleeping on "swread" with the following non-sleepable locks held:
exclusive sleep mutex pcm0:play:0 (pcm channel) r = 0 (0xc1c3d740) locked _at_ \   
        /usr/src/sys/dev/sound/pcm/dsp.c:146
panic: sleeping thread (pid 583) owns a non-sleepable lock
syncing disks, buffers remaining... 1410 1410 panic: mi_switch: \ 
        switch in a critical section
Uptime: 1m45s
panic: msleep
Uptime: 1m45s
panic: msleep
Uptime: 1m45s
panic: msleep
Uptime: 1m45s
panic: msleep
[... repeated few more times]
Fatal double fault:
eip = 0xc05e3916
esp = 0xc8db8ff4
ebp = 0xc8db9004
panic: double fault
Uptime: 1m45s
panic: msleep
Uptime: 1m45s 
panic: msleep
Uptime: 1m45s
panic: msleep
Uptime: 1m45s
[...]
And the machine suddenly reboots, so there is no coredump.
 
eip address points close to:
c05e3910 T sc_vtb_putc
 
To reproduce this panic just start some audio player app (like xmms), 
and launch countless memory-eating applications (like mozilla ;>).
The machine starts swapping, and it panics. 

% uname -a 
FreeBSD kaszanka.domek 5.2-BETA FreeBSD 5.2-BETA #0: Sun Nov 23 01:23:10\ 
 CET 2003     artur_at_kaszanka.domek:/usr/obj/usr/src/sys/KASZANKA i386 

dmesg fragments:
CPU: AMD Athlon(tm) XP 2000+ (1666.73-MHz 686-class CPU)
pcm0: <AudioPCI ES1373-B> port 0xec00-0xec3f irq 10 at device 8.0 on pci0 
pcm0: <Cirrus Logic CS4297A AC97 Codec>
rl0: <RealTek 8139 10/100BaseTX> port 0xe800-0xe8ff mem \
     0xdfffff00-0xdfffffff ir
q 10 at device 10.0 on pci0
miibus0: <MII bus> on rl0
rlphy0: <RealTek internal media interface> on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl1: <RealTek 8139 10/100BaseTX> port 0xe400-0xe4ff mem \
     0xdffffe00-0xdffffeff ir
q 10 at device 11.0 on pci0
rlphy1: <RealTek internal media interface> on miibus1
rlphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

Regards, Artur
Received on Tue Nov 25 2003 - 06:16:38 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:31 UTC