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
    dera...@sparc64.openbsd.org:/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

Reply via email to