Cover fetching should be asynchronous, but it isn't.

Bug #602833 reported by Anthony Simpson
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Exaile
Fix Released
Medium
reacocard

Bug Description

Because cover fetching isn't asynchronous, if you are on a slow internet connect (dialup, for example), cover fetching will freeze up Exaile indefinitely. This is hard to diagnose, and the only reason we figured it out was because I hit ctrl-c in the terminal running Exaile after it froze, and it gave this output:

12:36:33,929:INFO : Playing file:///home/rayne/Music/OneRepublic/Waking%20Up/4%20-%20Everybody%20Loves%20Me.ogg (xl.player.engine_normal)
^C12:38:02,285:DEBUG : Event callback exception caught!
Traceback (most recent call last):
  File "/usr/local/lib/exaile/xl/event.py", line 270, in emit
    event.data, *cb.args, **cb.kwargs)
  File "/usr/local/lib/exaile/xlgui/widgets/info.py", line 320, in on_playback_track_start
    self.set_track(track)
  File "/usr/local/lib/exaile/xlgui/widgets/info.py", line 183, in set_track
    image_data = covers.MANAGER.get_cover(track, use_default=True)
  File "/usr/local/lib/exaile/xl/covers.py", line 291, in get_cover
    data = self.get_cover_data(cover, use_default=use_default)
  File "/usr/local/lib/exaile/xl/covers.py", line 313, in get_cover_data
    ret = method.get_cover_data(data)
  File "/usr/local/share/exaile/plugins/lastfmcovers/__init__.py", line 97, in get_cover_data
    data = h.read()
  File "/usr/lib/python2.6/socket.py", line 329, in read
    data = self._sock.recv(rbufsize)
KeyboardInterrupt
 (xl.event)
12:38:02,287:DEBUG : Saving settings... (xl.settings)
/usr/local/lib/exaile/xlgui/__init__.py:57: GtkWarning: gtk_widget_is_ancestor: assertion `ancestor != NULL' failed
  gtk.main()

This happened after I installed Exaile 0.3.2.0 from source. I'm running Ubuntu 10.04.

Related branches

reacocard (reacocard)
Changed in exaile:
assignee: nobody → Aren Olson (reacocard)
importance: Undecided → Medium
milestone: none → 0.3.3
status: New → Confirmed
Revision history for this message
Matteo Castellini (mcastellini) wrote :

I've stumbled upon this problem too. I attach a patch that makes the retrieval and update of the cover image a threaded operation, thus not blocking the whole UI.

Revision history for this message
reacocard (reacocard) wrote :

Patch committed (with minor modifications) trunk/3883.

Changed in exaile:
status: Confirmed → Fix Committed
Harpianto,ANDI (amhnews)
Changed in exaile:
status: Fix Committed → Confirmed
Revision history for this message
Mathias Brodala (mathbr) wrote :

Please don’t just change the bug status without a comment. I’ve changed it to incomplete for now, waiting for your feedback.

Changed in exaile:
status: Confirmed → Incomplete
Revision history for this message
Dustin Spicuzza (dustin-virtualroadside) wrote :

No idea why the guy changed the status. Changing this back to Fix Committed so we can move on with the 0.3.3 release.

Changed in exaile:
status: Incomplete → Fix Committed
Changed in exaile:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.