sndiod: psycho0: uncorrectable DMA error
Patrik Lundin <[email protected]>
| Newsgroups | gmane.os.openbsd.sparc |
|---|---|
| Message-ID | <[email protected]> |
Hello,
I have discovered a problem when attempting to play music on a Sun Blade
100 through sndiod. The machine will simply panic.
mplayer output:
==========
# mplayer song51.ogg
Creating config file: /root/.mplayer/config
MPlayer SVN-r33060 (C) 2000-2011 MPlayer Team
Playing song51.ogg.
libavformat file format detected.
[lavf] stream 0: audio (vorbis), -aid 0
Load subtitles in ./
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, s16be, 192.0 kbit/13.61% (ratio: 24000->176400)
Selected audio codec: [ffvorbis] afm: ffmpeg (FFmpeg Vorbis)
==========================================================================
AO: [sndio] 44100Hz 2ch s16be (2 bytes per sample)
Video: no video
Starting playback...
==========
The resulting panic:
==========
panic: psycho0: uncorrectable DMA error AFAR 200f6150 (pa=0 tte=0/6482012 ) AFSR 210000ff40000000
kdb breakpoint at 146b000
Stopped at Debugger+0x4: nop
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb> trace
psycho_ue(400003cbe00, 7, e0017ec8, 0, 14307e0, e0018000) at psycho_ue+0x7c
sparc_interrupt(20f41a000, 125, 8, 0, 1000000, 6) at sparc_interrupt+0x2a0
pmap_protect(18cdb28, 20f41a000, 125, 5, 18cd000, 3fffff) at pmap_protect+0x210
uvm_map_protect(4000488ac40, 20f41a000, 20f41c000, 5, 0, 180c040) at uvm_map_pr
otect+0x1c8
syscall(40008e1ded0, 44a, 2056032f0, 2056032f4, 0, 800005) at syscall+0x2bc
softtrap(20f41a000, 2000, 5, 20f112b48, 2081ee548, fffffffffffc4e90) at softtra
p+0x19c
ddb> ps
PID PPID PGRP UID S FLAGS WAIT COMMAND
28320 5630 28320 0 2 0 mplayer
11734 26530 11734 0 3 0x80 ttyin ksh
26530 3026 26530 0 3 0x80 select sshd
5630 13050 5630 0 3 0x88 pause ksh
13050 3026 13050 0 3 0x80 select sshd
153 1 153 0 3 0x80 ttyin getty
11643 1 11643 0 3 0x80 select cron
* 5501 1 5501 99 7 0 sndiod
9094 1 9094 0 3 0x80 select inetd
19156 1 19156 0 3 0x80 select sendmail
3026 1 3026 0 3 0x80 select sshd
12434 30100 30100 74 3 0x80 bpf pflogd
30100 1 30100 0 3 0x80 netio pflogd
22941 29587 29587 73 3 0x80 poll syslogd
29587 1 29587 0 3 0x80 netio syslogd
30978 1 30978 77 3 0x80 poll dhclient
2327 1 32094 0 3 0x80 poll dhclient
13 0 0 0 3 0x100200 aiodoned aiodoned
12 0 0 0 3 0x100200 syncer update
11 0 0 0 3 0x100200 cleaner cleaner
10 0 0 0 3 0x100200 reaper reaper
9 0 0 0 3 0x100200 pgdaemon pagedaemon
8 0 0 0 3 0x100200 bored crypto
7 0 0 0 3 0x100200 pftm pfpurge
6 0 0 0 3 0x100200 usbtsk usbtask
5 0 0 0 3 0x100200 usbatsk usbatsk
4 0 0 0 3 0x100200 bored syswq
3 0 0 0 3 0x40100200 idle0
2 0 0 0 3 0x100200 kmalloc kmthread
1 0 1 0 3 0x80 wait init
0 -1 0 0 3 0x200 scheduler swapper
ddb>
==========
Running this a second time after reboot resulted in the following:
==========
# mplayer song51.ogg
parse error at line 1
==========
It turned out this was because the config that was generated on the first try contained garbage:
==========
# cat .mplayer/config
ELF+@#
==========
After removing the config file the system would panic again (this time
generating an empty config which could then be used to crash the system
reliably).
I then tried killing sndiod, and this stopped the system from crashing and I
actually got music on the headset output.
dmesg:
==========
console is /pci@1f,0/isa@7/serial@0,3f8
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2012 OpenBSD. All rights reserved. http://www.OpenBSD.org
OpenBSD 5.2-beta (GENERIC) #198: Mon Jul 2 01:59:07 MDT 2012
[email protected]:/usr/src/sys/arch/sparc64/compile/GENERIC
real mem = 268435456 (256MB)
avail mem = 251224064 (239MB)
mainbus0 at root: Sun Blade 100 (UltraSPARC-IIe)
cpu0 at mainbus0: SUNW,UltraSPARC-IIe (rev 1.4) @ 502 MHz
cpu0: physical 16K instruction (32 b/l), 16K data (32 b/l), 256K external (64 b/l)
psycho0 at mainbus0: pci108e,a001, impl 0, version 0, ign 7c0
psycho0: bus range 0-1, PCI bus 0
psycho0: dvma map c0000000-dfffffff
pci0 at psycho0
ebus0 at pci0 dev 12 function 0 "Sun RIO EBus" rev 0x01
"flashprom" at ebus0 addr 0-fffff not configured
clock1 at ebus0 addr 0-1fff: mk48t59
ebus1 at pci0 dev 7 function 0 "Acer Labs M1533 ISA" rev 0x00
"dma" at ebus1 addr 0-ffff ivec 0x2a not configured
power0 at ebus1 addr 800-82f ivec 0x20
com0 at ebus1 addr 3f8-3ff ivec 0x2b: ns16550a, 16 byte fifo
com0: console
com1 at ebus1 addr 2e8-2ef ivec 0x2b: ns16550a, 16 byte fifo
alipm0 at pci0 dev 3 function 0 "Acer Labs M7101 Power" rev 0x00: 223KHz clock
iic0 at alipm0
"max1617" at alipm0 addr 0x18 skipped due to alipm0 bugs
"scm001" at alipm0 addr 0x20 skipped due to alipm0 bugs
spdmem0 at iic0 addr 0x50: 128MB SDRAM ECC PC133CL2
spdmem1 at iic0 addr 0x51: 128MB SDRAM ECC PC133CL2
gem0 at pci0 dev 12 function 1 "Sun ERI Ether" rev 0x01: ivec 0x7c6, address 00:03:ba:11:92:d2
ukphy0 at gem0 phy 1: Generic IEEE 802.3u media interface, rev. 1: OUI 0x0010dd, model 0x0002
"Sun FireWire" rev 0x01 at pci0 dev 12 function 2 not configured
ohci0 at pci0 dev 12 function 3 "Sun USB" rev 0x01: ivec 0x7e4, version 1.0, legacy support
autri0 at pci0 dev 8 function 0 "Acer Labs M5451 Audio" rev 0x01: ivec 0x7e3
ac97: codec id 0x41445348 (Analog Devices AD1881A)
ac97: codec features headphone, Analog Devices Phat Stereo
audio0 at autri0
midi0 at autri0: <4DWAVE MIDI UART>
pciide0 at pci0 dev 13 function 0 "Acer Labs M5229 UDMA IDE" rev 0xc3: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide0: using ivec 0x7cc for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <IC35L080AVVA07-0>
wd0: 16-sector PIO, LBA, 76293MB, 156250000 sectors
atapiscsi0 at pciide0 channel 0 drive 1
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <LITEON, CD-ROM LTN486S, Y3S2> ATAPI 5/cdrom removable
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
cd0(pciide0:0:1): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 disabled (no drives)
ppb0 at pci0 dev 5 function 0 "DEC 21152 PCI-PCI" rev 0x03
pci1 at ppb0 bus 1
machfb0 at pci0 dev 19 function 0 "ATI Rage XL" rev 0x27
machfb0: ATY,RageXL, 1152x900
wsdisplay0 at machfb0 mux 1
wsdisplay0: screen 0 added (std, sun emulation)
usb0 at ohci0: USB revision 1.0
uhub0 at usb0 "Sun OHCI root hub" rev 1.00/1.00 addr 1
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
bootpath: /pci@1f,0/ide@d,0/disk@0,0
root on wd0a (5fce3420b74e65ff.a) swap on wd0b dump on wd0b
==========
Regards,
Patrik Lundin