Rockbox

  • Status Closed
  • Percent Complete
    100%
  • Task Type Bugs
  • Category User Interface
  • Assigned To No-one
  • Operating System Iriver H300 series
  • Severity Low
  • Priority Very Low
  • Reported Version Version 3.3
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by Dan - 2009-06-22
Last edited by Jonathan Gordon - 2009-12-22

FS#10368 - Performing 'View Catalog' 3 times in a row crashes with StkOv

To reproduce, go to the Playlist Catalog by any means.

1. Highlight a playlist and hold NAVI to enter the context menu.
2. Select Playlist Catalog.
3. Select View Catalog.
4. Repeat.

After about 3 repeats the unit crashes, on any of the above steps depending on how you first entered the catalog.

Not a critical problem, just a thorn to be there. Workaround is to not do it.

Closed by  Jonathan Gordon
2009-12-22 06:09
Reason for closing:  Fixed
Additional comments about closing:  

in r24097. someone is welcome to make this hack work better with the menus

Nick Sant commented on 2009-06-29 16:10

I can’t reproduce this on my Sansa E280, tried repeating the steps 7 times and no crash. Could this be linked to the difference in arch between the players?

Steve Bavin commented on 2009-06-30 07:37

I can’t repro it on the H300 sim either, FWIW. Maybe post your config.cfg?

Magnus Holmgren commented on 2009-07-04 09:43

Difference in compilers is a possibility. I’ve noticed that the gcc used for coldfire (including the h300) inlines more functions, which can make stack usage quite different on arm and coldfire (like in the recently fixed database stack overflow, which only happened on coldfire targets). And in the sim, the stack is much bigger…

B Sinclair commented on 2009-07-12 18:34

Hello,

I can confirm that this happens on my H3xx mp3 player with build r21613-090702.

Hope this helps.

A
R

Nils Wallménius commented on 2009-12-05 10:47

still happening on h300, i would say the fundamental problem is that we allow the catalog_view_playlists function (with a few button presses) to recursively call itself as much as it wants, so the stack will overflow eventually on any platform and any compiler

edit:
catalog_view_playlists calls display_playlists which allocates a 1600 byte array on the stack so only a few iterations and indeed it crashes my Gigabeat S and sansa c200 reliably too so
some kind of recursion protection for this function is needed.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing