This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#5521 - Switching fileview to ID3 database causes lock-up
Attached to Project:
Rockbox
Opened by Jeremy Cayot (woodensoul) - Friday, 09 June 2006, 18:33 GMT+1
Last edited by Jonathan Gordon (jdgordon) - Monday, 06 November 2006, 07:02 GMT+1
Opened by Jeremy Cayot (woodensoul) - Friday, 09 June 2006, 18:33 GMT+1
Last edited by Jonathan Gordon (jdgordon) - Monday, 06 November 2006, 07:02 GMT+1
|
DetailsIt doesn't happen every time, but is still occuring using the CVS build 060609-0019. I use the quick menu to make the fileview change.
|
This task depends upon
Closed by Tom Ross (midgey34)
Sunday, 18 February 2007, 18:38 GMT+1
Reason for closing: Works For Me
Additional comments about closing: I can\'t reproduce the reported issue and the user hasn\'t responded in nearly two months.
Sunday, 18 February 2007, 18:38 GMT+1
Reason for closing: Works For Me
Additional comments about closing: I can\'t reproduce the reported issue and the user hasn\'t responded in nearly two months.
And it happens always when switching the fileview to ID3 database
(from "all" if that matters), going back to WPS screen (the music
still plays) and then pressing the NAVI button to navigate.
The music suddenly stops, the whole device freezes and I have to use
the reset hole to switch my device off...
I reproduced the problem with an H300 simulator and CVS from today.
I don't know if this is the same place at which it crashes on the
real device - but it's a beginning ;)
It seems the reason for crashing is in apps\\gui\\list.c in function
gui_list_draw.
It tries to get the entry_name and does get a wrong (corrupt) pointer:
entry_name = gui_list->callback_get_item_name(current_item,
gui_list->data,
entry_buffer);
In my test this gives back an pointer at address 0x7 which of course
is "out of bounds". This pointer will be given to display->getstringsize
(which is a pointer to lcd_getstringsize) and there to font_getstringsize
and to utf8decode where the access to that pointer leads to the crash.
I have no idea why the pointer is wrong (maybe the gui_list pointer is
also no longer correct after switching the viewmode?)
Hopefully some more experienced developer is able to use my information
and find out what's causing this bug...
Here's the call stack which I got when it crashes inside the simulator:
--------------------------------------------------------------------------------
Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 2136.0x8d8]
0x004464eb in utf8decode (utf8=0x8 <Address 0x8 out of bounds>, ucs=0x312fbce)
at common/unicode.c:250
250 unsigned char c = *utf8++;
(gdb) where
#0 0x004464eb in utf8decode (utf8=0x8 <Address 0x8 out of bounds>,
ucs=0x312fbce) at common/unicode.c:250
#1 0x00441c4c in font_getstringsize (str=0x7 <Address 0x7 out of bounds>,
w=0x312fc3c, h=0x312fc38, fontnumber=1) at font.c:389
#2 0x0043f024 in lcd_getstringsize (str=0x7 <Address 0x7 out of bounds>,
w=0x312fc3c, h=0x312fc38) at drivers/lcd-16bit.c:153
#3 0x0042197e in gui_list_draw (gui_list=0x54d400) at gui/list.c:202
#4 0x00422298 in gui_synclist_draw (lists=0x54d400) at gui/list.c:530
#5 0x004179bb in dirbrowse () at tree.c:928
#6 0x004169ac in browse_root () at tree.c:257
#7 0x00404430 in app_main () at main.c:104
--------------------------------------------------------------------------------
so it seems we need some more information from your.
You're just listening to some music and when you switch to ID3 database
and go back to WPS screen it freezes? Always? Or only sometimes?
Seems that the crash on happens when you enter the database for the first time since startup, once you've sucessfully entered it once it works fine.
Steps to repuduce:
1. Set Show files: Supported
2. Restart player
3. Switch to Show files: ID3 Database using the quick menu
4. Press the NAVI button
Doesn't matter if I'm using directory cache or voice the player still crashes.
I have also this problem. I'm using a Iriver H140 with Rockbox build 061222 ... really frustrating :-(. Any one else also has this problem with recent builds?
I can't repro this but would like to fix it - can you please check if it's still happening with a current build, and if so, export your settings to a .cfg file and attach it to a reply here. (Or even better, report back that it is now fixed!)
Thanks,
Steve