FS#6232 - Star - no longer possible to quit game, game lockups.

Attached to Project: Rockbox
Opened by Dave Hooper (stripwax) - Monday, 23 October 2006, 21:15 GMT
Last edited by Tom Ross (midgey34) - Monday, 30 July 2007, 21:22 GMT
Task Type Bugs
Category Games
Status Closed
Assigned To No-one
Operating System iPod 5G
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


I think one of the last two commits to star.c has broken the behaviour on ipod 5g:
1. While playing the game, there is no way to exit
2. Game locks up while initially drawing the map for level 20 (the 'transitional' box drawing never completes)

#1 is reproducible on simulator, haven't tried to reproduce #2 yet.

Interestingly audio playback continues while the game is in the locked up state.
This task depends upon

Closed by  Tom Ross (midgey34)
Monday, 30 July 2007, 21:22 GMT
Reason for closing:  Works For Me
Additional comments about closing:  Tested on both a Gigabeat F40 and iPod 5G. Both load level 20 fine and can be quit. Quit on iPod is MENU+SELECT.
Comment by Dave Hooper (stripwax) - Monday, 23 October 2006, 21:16 GMT
Also, why has the rb->yield() call been added back in for ipod 5g? It was slow enough before ...
Comment by Dave Hooper (stripwax) - Tuesday, 24 October 2006, 16:12 GMT
More info:
#1 - is NOT reproducible on simulator, I am an idiot. Sim is fine, and target is probably fine too but attempting to exit the game seems to lock up ... i.e. #1 doesn't exist and #2 is the only problem.

#2 - also not reproducible on simulator.

However, I can only reproduce lockups on the ipod 5g target itself while music is playing. In fact the lockups on the device itself seem to be able to occur at any time, not just when attempting to exit, or while starting level 20. This morning the game just locked up on the initial screen of star (the menu with the spinning arrow). I imagine this must be related to the change to calling yield() on ipod 5g targets whereas other targets use sleep : perhaps this yield call never returns whilst playing music (= just a guess)
Comment by Jens Arnold (amiconn) - Thursday, 26 October 2006, 19:26 GMT
Hmm, none of these problems is reproducable on any of my targets here (closest to G5 would be mini G2 and H300). I added the yield() because every thread has to yield every now and then in order to not starve other threads. The other targets also yield, in sleep(), not only once but over and over until the sleep() times out. I suspect the new scheduler to be the root cause of the problem, as several people reported occasional freezes.
Comment by Dave Hooper (stripwax) - Monday, 06 November 2006, 18:32 GMT
Could someone who does have a 5g video ipod please confirm if this is reproducible for them? This is *consistently* reproducible for me, i.e. star locks up after just a few seconds after launching, and requires resetting the ipod. star is basically unplayable on ipod 5g right now (whatever the cause..)
Comment by Dave Chapman (linuxstb) - Wednesday, 08 November 2006, 22:49 GMT
Star works fine on my 5g. I'm currently testing some changes to increase the animation speeds to make it more playable, but I haven't encountered the bugs you've mentioned, even before I started making my (very minor) changes.
Comment by James Carney (jscarney) - Tuesday, 09 January 2007, 03:52 GMT
I've recently experienced this on my Gigabeat. After starting the plugin the player locks up, I must cycle the battery to get it to shoutdown.