FS#12429 - Fuze+: playback failures (data aborts/undef instr/etc) with several codecs
Opened by Jean-Louis Biasini (JeanLouisBiasini) - Monday, 05 December 2011, 17:29 GMT
Last edited by Andree Buschmann (Buschel) - Sunday, 11 December 2011, 16:34 GMT
Several problem occurs with those format on Fuze+'s port. The problem has been identified as player specific as it doesn't occurs on clip+ and has been seen on 2 differents Fuze+ unit.
The problem are quite random which lead to difficulties to track them down precisely. Nevertheless, 3 differents phases can be observe regarding the behaviour of the fuze+ and mpc files:
- Normal behaviour (files can be selected, play, playlist also play without problem)
- Non-playing behauviour (files are skipped one after the other till the end of the dynamic play list) -- Nothing consistent was found on how to go from normal into non-playing behaviour or reverse.
- Buggy behaviour (you can actually play and skip between files but after playing one file, the player will just hang stucked or go into panic at the moment to load the next one:
Two different value set were observed for now (backtrace remains the same):
Data abort at 63E57B28
(domain 0, fault 8)
Data abort at 63E57B24
(domain 0, fault 8)
Several tests were made so far to establish that:
1) The problem is not files specific as normal behaviour and non-playing and buggy behaviour occurs on the same sets of files. Differents tag coding and even wiping all the tag away didn't help either.
2) The problem is not related to database as not building it and/or erasing all DB files doesn't wipe out the buggy behaviour.
3) The problem ist not be related to specific settings or if so, it is related to defaut settings. Recompiling, reinstalling rockbox from scratch doesn't solve the buggy behaviour
4) Nothing consistent was found about how the player goes from normal to non-playing or reverse. However some consistent (systematical) way to go from non-playing to buggy phase was found:
- Reinitialize the database (wether if there are no DB or an already present up-to-date one). But the player will then be back on non-playing phases after reboot.
- Playing a big directory with a lot of files after skipping 20 to 50 of then the player will eventually start playing one of then (a random one nothing consistent here to)
- desactivating the directory's cache option (settings > system > disk) this way is the only way to remains even after reboot.
5) the backtrace of panic occuring in buggy behaviour was given into the ./utils/analisys/find_address.pl tool with the following result:
6) Flac format as been seen with the same non-playing behviour. But buggy phases gave no backtrace:
Data abort at 63E71120
(domain 0, fault 1)
Sunday, 11 December 2011, 16:34 GMT
Reason for closing: Fixed
Additional comments about closing: The MPC sv7 crash is fixed with r31211, flac crash is fixed with r31207 (enlarged MAX_FRAMESIZE).
The undefined instruction and the dircache influence will be handled in separate tasks.