- Status New Reopened
- Percent Complete
- Task Type Bugs
- Category User Interface
- Assigned To No-one
- Operating System All players
- Severity Low
- Priority Very Low
- Reported Version Release 3.6
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#11589 - Early USB broken (no statusbar & crash after disconnect)
This bug already stands for a while and was reported in IRC but since nothing happened so far, I’m going to report it here.
On targets with early USB (”usual” looking USB screen when plugging from off-state and probably only hardware bridge USB) the statusbar that should be there in the screen is missing and when you disconnect the player so that the “rest” of Rockbox would start, it crashes.
The address where the crash happens with the build currently flashed to my Ondio is in “lib/libskin_parser.a(skin_parser.o)” - more exactly “9035954: 8b fb bf 903594e <_skin_parse+0×152>”. I pastebinned the complete disassembly of the _skin_parse function here: http://pastebin.com/LZMNW96a .
I will also try to find the exact revision that introduced the bug but that’ll take a while. If I remember correctly it came with some statusbar skinning commit which is already a while ago now and crept up twice in a row (first was fixed, then it came back). Plus it is not the easiest and no quick task testing flashed builds on the Ondio….
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
My bet is r27077. That one reloads skins to ensure that fonts are reloaded after USB disconnect (which is needed because UI fonts may be different and may be using the glyph cache which isn’t allowed while USB is connected)
I’ve tested this on h120 (with a 10 second sleep after show_logo() to give me enough time), and commenting out the settings_apply() and settings_apply_skins() lines near the end of apps/gui/usb_screen.c makes things not freeze. That’s not a proper fix of course.
This patch should fix the crash issue, in what I think is a clean way. The status bar problem is probably still there.
The crash was fixed in r28229
Note that *only* the crash was fixed. The statusbar still doesn’t work properly