touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #134471
[Bug 1542175] Re: Problems and crashes with local music collection
Here's a very minimal app that exhibits the same issue:
lp:~vthompson/+junk/test-songs/
To run just push to device and run qmlscene:
adb push test-songs.qml /home/phablet
phablet-shell
qmlscene ~/test-songs.qml --desktop_file_hint=/usr/share/click/preinstalled/com.ubuntu.music/current/com.ubuntu.music_music.desktop
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to thumbnailer in Ubuntu.
https://bugs.launchpad.net/bugs/1542175
Title:
Problems and crashes with local music collection
Status in Ubuntu Music App:
New
Status in thumbnailer package in Ubuntu:
New
Status in unity8 package in Ubuntu:
Invalid
Bug description:
We have just made a change to the thumbnailer that provides a 12x
speed-up for extracting cover art from local music files with embedded
artwork. I'm seeing serious problems with the song list in the music
app with this new thumbnailer. I have tried very hard to find fault
with what the thumbnailer is doing, but I don't think we are to blame.
I need help getting to the bottom of this; I can't debug it myself.
But I'm fairly confident that either the music app or the
implementation of song list widget is doing something wrong.
I've attached an archive that contains 1000 songs, each of which has
embedded cover art. (It's the same boring image for all of them.)
I'm seeing the problem on Mako, rc-proposed, build 359, which includes
the new music app, I believe.
The modified thumbnailer is available in silo 31. Please let me know
when you no longer need the silo, so I can release it again. (We are
really short on silos at the moment; it might be best to grab the
vivid arm debs from the silo.)
To reproduce the problem, install the silo, then:
- Kill the music app
- Clear out the Music folder
- untar the song collection into the Music folder
- run "thumbnailer-admin clear" to empty the caches
- monitor the device with top and wait for the media scanner to finish indexing
- Start the music app and go to the song list
I'm seeing really weird behavior. Initially, the song list flickers a
few times, redrawing itself each time. After a few seconds, it settles
down. Now start scrolling slowly. It might work for some distance but,
after a few songs, the song list is reset to the top (first song) and
redraws itself.
Now scroll down again, quickly. Again, the song list resets to the
top.
Each time this happens, the song list is populated with a bunch of
extra songs. Each time I scroll down, it works fine for the region
that was cached previously, and then things blow up as soon as the
scroll moves into the as-yet unexplored part.
Looking at the thumbnailer, I'm not seeing anything unusual. We
deliver thumbnails as we should. But I notice that, for some reason,
while scrolling in the song list, the music app also sends requests
for artist art to the thumbnailer? Why? There is no artist in sight.
Some of the songs in the collection have an empty artist field and the
thumbnailer returns an error for that (because asking for artist art
without an artist doesn't make sense). But there can be other errors,
such as errors returned by the remote server.
It looks like the song list resetting is related to the error return
from the thumbnailer. Every time the thumbnailer reports that
something could not be extracted, the song list misbehaves.
If the already-thumbnailed list gets too long, you can run
thumbnailer-admin clear
to empty caches. (There doesn't ever seem to be a problem in the
region of the list that has been cached already.)
I'm also getting occasional crashes from the music app while trying
all this. And, every now and then, I find a message such as
DelegateModel::cancel(): index out of range 34 0
in the music app log. (I have no idea whether that is related.)
I'd really appreciate if someone can look at this urgently. We want to
land the improved thumbnailer but, while things are in this state, we
can't. As best as I can tell, the problem might be related to
incorrect error handling when the ThumbnailerImageResponse returns a
request with status "invalid", either in the music app, or somewhere
in the qml machinery.
To manage notifications about this bug go to:
https://bugs.launchpad.net/music-app/+bug/1542175/+subscriptions