FS#12270 - Loading sbs crashes device and uisimulator since r30478

Attached to Project: Rockbox
Opened by Michael Chicoine (mc2739) - Saturday, 10 September 2011, 16:42 GMT
Last edited by Jonathan Gordon (jdgordon) - Sunday, 11 September 2011, 01:30 GMT
Task Type Bugs
Category Themes
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


The uisimulator will crash when loading a Base Skin (sbs).

Tested on clean e200 uisimulator.

First failing build - r30478
Last working build - r30477
Latest build tested - r30495 (still fails)

To recreate the failure:
1. start the uisimulator from a clean install
2. go to Settings -> Theme Settings -> Base Skin
3. select classic_statusbar

The uisimulator crashes after printing numerous SDL_WaitEvent() error messages and finally a Segmentation fault message.

Running with gdb produces:

Program received signal SIGSEGV, Segmentation fault.
0x0807ef05 in skin_data_reset (wps_data=0x81bda78)
at /home/mc2739/rockbox/apps/gui/skin_engine/skin_parser.c:1400
1400 struct gui_img *img = (struct gui_img*)list->token->;

The win32 cross-compiled sim also fails, but no error messages are output (the program just closes).
This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Sunday, 11 September 2011, 01:30 GMT
Reason for closing:  Fixed
Additional comments about closing:  r30499
Comment by Michael Chicoine (mc2739) - Saturday, 10 September 2011, 20:55 GMT
Further testing (r30497) reveals crashes on the actual device using the same procedure.

The e200 deadlocks with a "Loading..." splash. The backlight and button light never go out.

The e200v2 panics with the following message:

Data abort
at 30028B0C
FSR 0x8
(domain 0, fault 8)
address 0xEA01A9B9