• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Music playback
  • Assigned To No-one
  • Operating System SW-codec
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by learman - 2008-07-07
Last edited by learman - 2008-07-11

FS#9164 - Possible fix for data aborts in buffering.c

I've seen some data aborts in buffering.c in very specific circumstances on an e200 (using bookmarks on certain tracks, when dircache is enabled and album art is used). They all seem centered on the next field in memory_handle containing bad data. This patch tightens up the mutex locking in buffering.c a bit, and also fixes a bug in fill_buffer (m can be invalidated by the call to shrink_handle).

It seems to fix the data aborts, but since they only happened in such specific circumstances, I'm not certain the problem is fully fixed.

I'm not sure if the widened scope of the mutex lock in bufopen is really needed, but given that the loading of the album art can't allow anything to happen between add_handle and load_bitmap, it seems like a reasonable precaution (though perhaps it should only be done when actually loading a bitmap).

Closed by  learman
2008-07-11 13:37
Reason for closing:  Invalid
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Found a better fix, I think.

I received an Undefined Instruction error while trying to recreate the Data Abort (pressed play twice quickly at the splash screen and then select at the WPS). Cannot reproduce.


Available keyboard shortcuts


Task Details

Task Editing