Rockbox

Tasklist

FS#5521 - Switching fileview to ID3 database causes lock-up

Attached to Project: Rockbox
Opened by Jeremy Cayot (woodensoul) - Friday, 09 June 2006, 16:33 GMT
Last edited by Jonathan Gordon (jdgordon) - Monday, 06 November 2006, 06:02 GMT
Task Type Bugs
Category ID3 / meta data
Status Closed
Assigned To No-one
Operating System All players
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

It 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, 17:38 GMT
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.
Comment by Jeremy Cayot (woodensoul) - Friday, 09 June 2006, 16:42 GMT
I forgot to mention that the lock-up occurs when the navi button is pushed in to navigate the ID3 database.
Comment by Steve Bavin (pondlife) - Tuesday, 04 July 2006, 09:36 GMT
Do you have voiced directories enabled? If so, does turning this off resolve the crash?
Comment by Jeremy Cayot (woodensoul) - Sunday, 09 July 2006, 16:58 GMT
I do not have voiced directories enabled.
Comment by Matthias Mohr (aka Massa) (mmohr) - Wednesday, 12 July 2006, 12:12 GMT
I also have this problem (voiced directories are disabled).
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...
Comment by Matthias Mohr (aka Massa) (mmohr) - Wednesday, 12 July 2006, 13:00 GMT
Here are some additional informations which may (hopefully) help:

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
--------------------------------------------------------------------------------
Comment by Dan Everton (safetydan) - Wednesday, 16 August 2006, 04:33 GMT
This may be fixed in builds newer than 2006-08-16 04:30. It seems that the directory needs to be reloaded after using tagcache otherwise the dirbrowser gets confused.
Comment by Matthias Mohr (aka Massa) (mmohr) - Wednesday, 23 August 2006, 14:59 GMT
Jeremy, can you confirm that it's fixed?
Comment by Jeremy Cayot (woodensoul) - Thursday, 24 August 2006, 11:46 GMT
I tested a build from about 2 days ago and still got the freeze after a navi-push following a switch to ID3 database.
Comment by Matthias Mohr (aka Massa) (mmohr) - Saturday, 02 September 2006, 17:45 GMT
Jeremy, I also retested it and can't reproduce it anymore -
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?
Comment by Jeremy Cayot (woodensoul) - Saturday, 09 September 2006, 23:45 GMT
It seems that this bug has been fixed with recent builds. I have not been able reproduce it. Let's hope it's a permanent fix.
Comment by Matthias Mohr (aka Massa) (mmohr) - Wednesday, 13 September 2006, 20:42 GMT
So I'll now close it - it may be reopened if it occurs again ;)
Comment by Paul Louden (darkkone) - Friday, 20 October 2006, 13:02 GMT
Ah, comment is in the history. Gotcha. I am a doofus.
Comment by Linus Mellberg (aelg) - Friday, 01 December 2006, 09:49 GMT
This bug does still exist in the CVS-061130 on the Iriver H-320.
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.
Comment by Roel (roeliooo) - Friday, 29 December 2006, 21:46 GMT
Hi,

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?
Comment by Jeremy Cayot (woodensoul) - Friday, 29 December 2006, 22:09 GMT
I've been able to avoid this problem for a while. It seems that if you are in the WPS when you press <Navi>, then while viewing the file browser, change the fileview to ID3 database via long <A-B> press, the crash does not occur. However, if you change the fileview to ID3 database while viewing the WPS, the crash occurs as soon as <Navi> is pushed to view the database. So until the bug is resolved, that is how to avoid the crash.
Comment by Roel (roeliooo) - Friday, 29 December 2006, 22:25 GMT
Thnx Jeremy, your solution works fine :). I hope that somebody can fix this problem.
Comment by Steve Bavin (pondlife) - Thursday, 25 January 2007, 17:56 GMT
Roel or Linus (or Jeremy),

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
Comment by Tom Ross (midgey34) - Wednesday, 07 February 2007, 01:40 GMT
Sorry, I can't reproduce the issue here in either the WPS or file browser. Please try a current build and report if the issue has been resolved.

Loading...