• Status Closed
  • Percent Complete
  • Task Type Bugs
  • Category User Interface
  • Assigned To No-one
  • Operating System All players
  • 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 - 2009-10-25
Last edited by mc2739 - 2009-11-05

FS#10723 - Rockbox hangs or panics while trying to clear settings on boot

This bug was introduced with r23258 (works with r23257)

Steps to reproduce
1. hold record button while powering on
2. e280 locks up while displaying the verbose bootloader screen.

I commented the splashf() on line 538 in apps/main.c and it did not lock and did reset the settings.

Closed by  mc2739
2009-11-05 03:48
Reason for closing:  Fixed
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

This was fixed in r23507

I can also reproduce this on my e260v2, although instead of hanging, it gets a data abort at 300265f8. According to the file, this address is in find_viewport in skin_parser.o

Here are my findings so far in trying to track this down using r23258:
NOTE: this may not be accurate for current svn.

1. apps/main.c line 536 calls splash()
2. apps/gui/splash.c line 225 calls splashf()
3. apps/gui/splash.c line 208 calls splash_internal()
4. apps/gui/splash.c line 64 calls viewport_set_defaults()
5. apps/gui/viewport.c line 170 calls viewport_set_fullscreen()
6. apps/gui/viewport.c line 116 calls sb_skin_get_info_vp()

I think this is where the problem is, sb_skin_init() has not yet been called and we are calling sb_skin_get_info_vp().

To test if this was the case, I set a bool if the settings cleared, moved the splash() after sb_skin_init() and used to bool to determine whether or not to splash the message. This worked properly.

At this point, I do not know the best way to fix this issue. Moving the splash works, but a warning would also need to be added stating that splash should not be used before sb_skin_init(). The more proper fix might be for sb_skin_get_info_vp() to know that sb_skin_init() has not happened yet and just return the standard fullscreen viewport.


Available keyboard shortcuts


Task Details

Task Editing