Angstrom 20080823 beagleboard package has bad xmms

Just received the beagle yesterday and after learning way to much
about mini-a and mini-b USB connections, I was able to get the
Diagnostics boot running and then got the Angstrom Demo running.
Unfortunately, I get a kernel-panic when I run xmms on either an ogg
IP stream or play an mp3. The lockups are repeatable.

Here is what was dumped to the console:
[code]
beagleboard login: Unable to handle kernel NULL pointer dereference at
virtual 0
pgd = c1990000
[00000000] *pgd=87e43031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in: ipv6 pegasus
CPU: 0 Not tainted (2.6.26-omap1 #1)
PC is at __wake_up_common+0x20/0x80
LR is at complete+0x3c/0x48
pc : [<c004e8cc>] lr : [<c004e9c8>] psr: 40000193
sp : c154db88 ip : c154dbb8 fp : c154dbb4
r10: c03ab6ca r9 : 00000003 r8 : c7c3fd4c
r7 : 0000003e r6 : 00000001 r5 : 00000000 r4 : fffffff4
r3 : 00000000 r2 : 00000001 r1 : 00000003 r0 : 00000000
Flags: nZcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
Control: 00c5387f Table: 81990018 DAC: 00000015
Process xmms (pid: 8709, stack limit = 0xc154c2e8)
Stack: (0xc154db88 to 0xc154e000)
db80: 00000000 40000113 00000000 00000000 0000003e
00000000
dba0: c7c3fd20 c03ab6ca c154dbd4 c154dbb8 c004e9c8 c004e8b8 00000000
048063e9
dbc0: f2f4f3ae c7c12a00 c154dbe4 c154dbd8 c004bfe0 c004e998 c154dc04
c154dbe8
dbe0: c007bfd4 c004bfd8 c040d0d4 0000003e 00000000 c7c12a00 c154dc1c
c154dc08
dc00: c007d8a4 c007bfa4 0000003e c040d0d4 c154dc3c c154dc20 c0034048
c007d7dc
dc20: ffffffff d8200000 0000003e c7c12a00 c154dcac c154dc40 c00346b0
c003400c
dc40: 00000000 c0402af0 000000a8 00000000 c040d0d4 40000013 0000003e
c7c12a00
dc60: 00000000 c7c3fd20 c03ab6ca c154dcac c154dc50 c154dc88 c003d060
c007c838
dc80: 60000013 ffffffff c7c12a00 0000003e 00000000 c004bfcc 00000000
c7c3fd20
dca0: c154dcdc c154dcb0 c007c924 c007c69c c03ab6ca c7c3fd20 c7fe9800
c04264a0
dcc0: c70a0c00 c04265a8 c0426464 c707e000 c154dcfc c154dce0 c004ca60
c007c89c
dce0: c7c3fd20 c7fe9800 c0426370 c7fe9800 c154dd0c c154dd00 c0260acc
c004c998
dd00: c154dd44 c154dd10 c025d1b4 c0260aa4 0000000b c0426550 c154dd4c
00000000
dd20: c154dddc c70ddb88 c71d5a00 c154dd80 00000000 c707e000 c154dd64
c154dd48
dd40: c02404c8 c025d170 0000000e c70a0c00 0000000e c154dda8 c154de0c
c154dd68
dd60: c0250398 c0240478 c78bfd80 c738e060 00000001 c154c000 0000000e
00000003
dd80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
dda0: 00000000 00000000 736d6d78 65740000 6e656d6e 00730074 c7c12a00
c0412c50
ddc0: c154ddec c154ddd0 00000000 c7cf6100 c0050094 c71d5b38 c71d5b38
c73decc0
dde0: c154ddfc c03377c0 00000003 00000003 c707e000 c738e060 c154c000
c78bfd80
de00: c154de34 c154de10 c02342d8 c0250184 00000000 c73decc0 c738e060
00000000
de20: c707e000 c154c000 c154de64 c154de38 c00a5db4 c02341e0 c154de74
00000003
de40: c738e060 c707e000 c738e060 c00a5c78 00000000 c709a880 c154de8c
c154de68
de60: c00a160c c00a5c84 c707e000 c154ded8 ffffff9c 0000000b 00000002
00000000
de80: c154deac c154de90 c00a175c c00a14e0 00000000 c154ded8 ffffff9c
00000000
dea0: c154df64 c154deb0 c00ae390 c00a1730 00000002 c017a6b4 c154df04
00000009
dec0: 00000001 00000002 c7f8f5d8 00000000 00000348 00000017 c709a880
c78bfd80
dee0: 00000017 c154dfb0 40cd324c 00000101 00000001 00000000 c154dfac
c154df08
df00: c00341e8 c0039e68 c1991030 f2f9e34c e9ecece9 ffffffff 0000000b
00000002
df20: 00000000 c707e000 00000001 c154c000 c154df64 c154df40 c00a12f0
00000001
df40: 00000009 ffffff9c 0000000b c70ce000 c154c000 00000000 c154df94
c154df68
df60: c00a13d4 c00ae05c 4032da68 00000000 c154df9c 0000ac44 40ce215c
000002c0
df80: 00000005 c0034c84 c154dfa4 c154df98 c00a149c c00a1388 00000000
c154dfa8
dfa0: c0034b00 c00a1484 0000ac44 40ce215c 00195d18 00000001 00000009
00000000
dfc0: 0000ac44 40ce215c 000002c0 00000005 00000005 4032da68 00000000
41e56ff0
dfe0: 00000000 41e4d530 40329d94 4032aee4 80000010 00195d18 357c344d
61213513
Backtrace:
[<c004e8ac>] (__wake_up_common+0x0/0x80) from [<c004e9c8>] (complete
+0x3c/0x48)
[<c004e98c>] (complete+0x0/0x48) from [<c004bfe0>]
(omap_mcbsp_tx_irq_handler+0)
r4:c7c12a00
[<c004bfcc>] (omap_mcbsp_tx_irq_handler+0x0/0x1c) from [<c007bfd4>]
(handle_IRQ)
[<c007bf98>] (handle_IRQ_event+0x0/0x74) from [<c007d8a4>]
(handle_level_irq+0x)
r7:c7c12a00 r6:00000000 r5:0000003e r4:c040d0d4
[<c007d7d0>] (handle_level_irq+0x0/0xf0) from [<c0034048>]
(__exception_text_st)
r5:c040d0d4 r4:0000003e
[<c0034000>] (__exception_text_start+0x0/0x64) from [<c00346b0>]
(__irq_svc+0x3)
Exception stack(0xc154dc40 to 0xc154dc88)
dc40: 00000000 c0402af0 000000a8 00000000 c040d0d4 40000013 0000003e
c7c12a00
dc60: 00000000 c7c3fd20 c03ab6ca c154dcac c154dc50 c154dc88 c003d060
c007c838
dc80: 60000013 ffffffff
r7:c7c12a00 r6:0000003e r5:d8200000 r4:ffffffff
[<c007c690>] (setup_irq+0x0/0x200) from [<c007c924>] (request_irq
+0x94/0xbc)
r9:c7c3fd20 r8:00000000 r7:c004bfcc r6:00000000 r5:0000003e
r4:c7c12a00
[<c007c890>] (request_irq+0x0/0xbc) from [<c004ca60>]
(omap_mcbsp_request+0xd4/)
[<c004c98c>] (omap_mcbsp_request+0x0/0x1a8) from [<c0260acc>]
(omap_mcbsp_dai_s)
r5:c7fe9800 r4:c0426370
[<c0260a98>] (omap_mcbsp_dai_startup+0x0/0x38) from [<c025d1b4>]
(soc_pcm_open+)
[<c025d164>] (soc_pcm_open+0x0/0x354) from [<c02404c8>]
(snd_pcm_open_substream)
[<c024046c>] (snd_pcm_open_substream+0x0/0xa4) from [<c0250398>]
(snd_pcm_oss_o)
r5:c154dda8 r4:0000000e
[<c0250178>] (snd_pcm_oss_open+0x0/0x410) from [<c02342d8>]
(soundcore_open+0x1)
[<c02341d4>] (soundcore_open+0x0/0x18c) from [<c00a5db4>] (chrdev_open
+0x13c/0x)
r9:c154c000 r8:c707e000 r7:00000000 r6:c738e060 r5:c73decc0
r4:00000000
[<c00a5c78>] (chrdev_open+0x0/0x15c) from [<c00a160c>] (__dentry_open
+0x138/0x2)
r8:c709a880 r7:00000000 r6:c00a5c78 r5:c738e060 r4:c707e000
[<c00a14d4>] (__dentry_open+0x0/0x250) from [<c00a175c>]
(nameidata_to_filp+0x3)
[<c00a1724>] (nameidata_to_filp+0x0/0x50) from [<c00ae390>]
(do_filp_open+0x340)
r4:00000000
[<c00ae050>] (do_filp_open+0x0/0x6f8) from [<c00a13d4>] (do_sys_open
+0x58/0xe8)
[<c00a137c>] (do_sys_open+0x0/0xe8) from [<c00a149c>] (sys_open
+0x24/0x28)
r8:c0034c84 r7:00000005 r6:000002c0 r5:40ce215c r4:0000ac44
[<c00a1478>] (sys_open+0x0/0x28) from [<c0034b00>] (ret_fast_syscall
+0x0/0x2c)
Code: e5900000 e1a09001 e240400c e1a06002 (e594100c)
Kernel panic - not syncing: Fatal exception in interrupt
[/code]

I'll be checking the Anstrom IRC channel to see if anyone there is
aware of this and will try the earlier build to see how that goes.

doug.larue@gmail.com writes:

Just received the beagle yesterday and after learning way to much
about mini-a and mini-b USB connections, I was able to get the
Diagnostics boot running and then got the Angstrom Demo running.
Unfortunately, I get a kernel-panic when I run xmms on either an ogg
IP stream or play an mp3. The lockups are repeatable.

Here is what was dumped to the console:
[code]
beagleboard login: Unable to handle kernel NULL pointer dereference at
virtual 0

You're probably hitting a known bug in the sound drivers.

You're probably hitting a known bug in the sound drivers.

I saw this mentioned in an IRC channel so it is probably so. Thinking
out loud, I wonder why the Beagleboard diagnostic boot image/code has
a functioning ALSA driver. I guess it's time to figure out how to
build the kernel, drivers, and debugging this before getting to the
VOIP and Java code originally planned for the beagle. Thanks.

You're probably hitting a known bug in the sound drivers.

I saw this mentioned in an IRC channel so it is probably so. Thinking
out loud, I wonder why the Beagleboard diagnostic boot image/code has
a functioning ALSA driver.

Because it uses an old driver. Git kernel (used by Angstrom demo
images) has a complete new rewritten driver.

I guess it's time to figure out how to
build the kernel, drivers, and debugging

It's already partly debugged. The new ALSA ASoC driver is fine, it's
most probably an issue in ALSA layer. If you play a mp3 with mplayer
using oss first (which works) then playing an mp3 with -ao alsa next
will succeed

http://www.beagleboard.org/irclogs/index.php?date=2008-08-07#T14:29:17

Anyway, all debugging help is welcome!

Dirk

>>You're probably hitting a known bug in the sound drivers.

> I saw this mentioned in an IRC channel so it is probably so. Thinking
> out loud, I wonder why the Beagleboard diagnostic boot image/code has
> a functioning ALSA driver.

Because it uses an old driver.

FWIW, you can trigger the same bug with the old driver.

regards,

Koen

> >>You're probably hitting a known bug in the sound drivers.
> > I saw this mentioned in an IRC channel so it is probably so. Thinking
> > out loud, I wonder why the Beagleboard diagnostic boot image/code has
> > a functioning ALSA driver.
FWIW, you can trigger the same bug with the old driver.

yesterday, I was debugging the NULL pointer exception caused by starting
sound output at little

I think the interrupts fire permanently, so probably the initialization is
not complete/correct

the NULL pointer exception occurs because the completion routine called in
the interrupt handler is only initialized after registering the interrupt
handler (and the interrupt immediately fires)

are there any documents describing the sound hardware components and it's
interplay?

regards, p.