Rockbox

  • Status New
  • Percent Complete
    0%
  • Task Type Bugs
  • Category User Interface → Themes
  • Assigned To No-one
  • Operating System Sansa e200
  • 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 mc2739 - 2011-11-23
Last edited by mc2739 - 2011-11-23

FS#12404 - r31037 crashes device and sim after leaving FM Radio and resuming playback

r31037 and later causes the device and sim to crash when resuming playback after leaving FM Radio. This crash has been reproduced on both e200v1 device and w32 sim and the e200v2 w32 sim. The failure is less likely to happen when there is a small number of files on the device/sim. (I have approximately 2200 files on the device and 5400 on the sim).

Tested with r30145

Steps to reproduce:
1. load the attached fms file (needs 35-Nimbus.fnt)
2. load an fm preset file - be sure to have station art
3. enter fm radio and select a preset station be sure art is displayed
4. power off device or sim
5. power on device or sim
6. start a playlist
7. stop playback
8. power off device or sim
9. power on device or sim
10. enter radio
11. exit radio
12. select resume playback
13. device or sim crashes

The e200v1 crash is:
Data abort
at 000095F0 (0)

This appears to be a problem with the radio art. Entering fm radio on a station without art and exiting and then resuming playback does not crash. Entering fm radio on a station without art and then selecting a station with art will cause a crash when exiting and then resuming playback.

I was able to get the linux sim to fail. This is the gdb output:

Program received signal SIGSEGV, Segmentation fault.
0x08051724 in find_handle (handle_id=0)

  at /home/rockbox/apps/buffering.c:401

401 (cached_handle→next→id == handle_id)) {
(gdb) bt
#0 0x08051724 in find_handle (handle_id=0)

  at /home/rockbox/apps/buffering.c:401

#1 0x08051fb0 in close_handle (handle_id=0)

  at /home/rockbox/apps/buffering.c:761

#2 0x08053699 in buffering_thread ()

  at /home/rockbox/apps/buffering.c:1665

#3 0x080c8719 in bootstrap_context ()

  at /home/rockbox/firmware/target/hosted/thread-unix.c:229

#4 0x080c86d6 in trampoline (sig=10)

  at /home/rockbox/firmware/target/hosted/thread-unix.c:208

#5 <signal handler called>
#6 0x0012d422 in __kernel_vsyscall ()
#7 0x001f3914 in siglongjmp () from /lib/tls/i686/cmov/libpthread.so.0
#8 0x080c869c in make_context (ctx=0x1, f=0x82f6f68 <threads+1160>,

  sp=0x8108cf8 "H\215\020\b.\223\f\b", <incomplete sequence \374>, 
  stack_size=135038802)
  at /home/rockbox/firmware/target/hosted/thread-unix.c:191

#9 0x082d02d0 in thread_bufs ()
#10 0x00000001 in ?? ()
#11 0x082f6f68 in threads ()
#12 0x08108cf8 in voice_stack ()
#13 0x080c8752 in swap_context (old=0x90909090, new=0x57e58955)

  at /home/rockbox/firmware/target/hosted/thread-unix.c:242

Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing