FS#12475 - Crash while playing audio

Attached to Project: Rockbox
Opened by bug (bug) - Wednesday, 21 December 2011, 21:02 GMT
Task Type Bugs
Category Music playback
Status Unconfirmed
Assigned To No-one
Operating System Sansa AMSv1
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


Sansa Clip v1. Stable version 3.10 [Tracker didn't let me choose it?]
After playing the item for some time [varies] Rockbox crash and give this error:
Data abort
at 3001913E
FSR 0x8
(domain 0, fault 8)
address 0x7261702D

Using DFKT Minimum Clip theme.
This task depends upon

Comment by Michael Sevakis (MikeS) - Wednesday, 21 December 2011, 22:03 GMT
I gotten a couple on gigabeat S after long play times recently. It came up just a few weeks ago or so and never used to happen before. It's rare enough that tracking it down would be quite difficult afact atm. This is with recent SVN heads. It seems to happen in codec code there (or at least I recall it that way).

It could be related.
Comment by bug (bug) - Wednesday, 21 December 2011, 22:30 GMT
Forgot to mention. The crash was on mp3 file. I think it's not crashing with OGG Vorbis, but I don't have enough time to check right now.
Comment by Michael Sevakis (MikeS) - Wednesday, 21 December 2011, 22:31 GMT
Yes, same here.
Comment by bug (bug) - Thursday, 22 December 2011, 19:54 GMT
Also managed to crash it with this while playing Vorbis.
Prefatch abort
(domain 15, fault 15)

Not sure if related.

As for FLAC I it crashed with the error above except address is 0x696B535F.
Comment by Boris Gjenero (dreamlayers) - Thursday, 22 December 2011, 20:16 GMT
0x3001913E in 3.10 Sansa Clip v1 is in evaluate_conditional() in apps/gui/skin_engine/skin_display.c, at *value in the else here:
value = get_token_value(gwps, conditional->token, offset,
result, sizeof(result), &intval);

/* intval is now the number of the enum option we want to read,
starting from 1. If intval is -1, we check if value is empty. */
if (intval == -1)
if (num_options == 1) /* so %?AA<true> */
intval = (value && *value) ? 1 : 0; /* returned as 0 for true, -1 for false */
intval = (value && *value) ? 1 : num_options;

Edit: I can't reproduce this in the 3.10 sim in Windows. I'm using default settings plus DFKT Minimum Clip v0.2 theme and playing MP3 files.
Comment by bug (bug) - Sunday, 25 December 2011, 19:40 GMT
OK. It seems it does not crash on the pacman theme. So it is directly related to change in skin code and dfkt implantation [I presume]. As it didn't crash in 3.9.1.
Indeed I've been using DFKT Minimum Clip v0.2 but on the hardware. Might make a difference? No clue.
Comment by Rafaël Carré (funman) - Wednesday, 28 December 2011, 19:29 GMT
reproduced on clipv1 r31450 : 0x3001C4BC (happened on USB plugging)

Theme: Pony

data abort is in skin_render_line()

Apparently in an inlining of get_child() : skin_render.c:462
Comment by bug (bug) - Thursday, 29 December 2011, 16:28 GMT
Build: 31457-111228 does not crash with the dfkt theme.