After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 781444 - Magnatune: Clicking 'download' does nothing, clicking it again crashes Rhythmbox
Magnatune: Clicking 'download' does nothing, clicking it again crashes Rhythmbox
Status: RESOLVED OBSOLETE
Product: rhythmbox
Classification: Other
Component: Plugins (other)
3.4.x
Other Linux
: High critical
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-04-18 10:39 UTC by Stefan Nagy
Modified: 2018-05-24 19:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
stack trace (12.48 KB, text/plain)
2017-04-25 09:05 UTC, Stefan Nagy
  Details
magnatune: Show missing progress bar allowing cancellation (1.11 KB, patch)
2017-10-08 16:57 UTC, gkrithi8
none Details | Review
magnatune: Show missing progress bar allowing cancellation (1.10 KB, patch)
2017-10-14 12:23 UTC, gkrithi8
none Details | Review
magnatune: allow replacing existing albums / tracks with newly downloaded ones (1.09 KB, patch)
2017-10-14 12:26 UTC, gkrithi8
none Details | Review
magnatune: don't allow parallel album downloads (3.35 KB, patch)
2017-10-14 12:27 UTC, gkrithi8
none Details | Review

Description Stefan Nagy 2017-04-18 10:39:30 UTC
I have a Magnatune account and use Rhythmbox to browse the tracks and listen to them. When I like an album I click download – and nothing happens. When I click download again, Rhythmbox crashes.

It doesn't seem to make any difference if I click 'Download' in the menu bar or if I open the context menu of a track and click 'Download album'.
Comment 1 Jonathan Matthew 2017-04-25 08:49:04 UTC
Thanks for taking the time to report this.
Without a stack trace from the crash it's very hard to determine what caused it.
Can you get us a stack trace? Please see https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces for more information on how to do so. When pasting a stack trace in this bug report, please reset the status of this bug report from NEEDINFO to its previous status. Thanks in advance!
Comment 2 Stefan Nagy 2017-04-25 09:05:52 UTC
Created attachment 350380 [details]
stack trace

I hope this is usable. Please tell me if I did something wrong or you need more information.
Comment 3 Stefan Nagy 2017-04-25 09:07:42 UTC
I can't reset the status of the bug report (I can only choose between NEEDINFO and RESOLVED).
Comment 4 gkrithi8 2017-10-08 16:55:59 UTC
There are 2 issues here as described by bug reporter:

1. Nothing happens when album is clicked.
2. Rhythmbox crashes on further clicks.
Comment 5 gkrithi8 2017-10-08 16:57:07 UTC
Created attachment 361140 [details] [review]
magnatune: Show missing progress bar allowing cancellation

Fixes issue [1] in the above comment.
Comment 6 gkrithi8 2017-10-08 17:10:07 UTC
The crash mentioned in [2] happens when 'Download Album' is clicked on an album, which is already downloading. Not sure what is expected here. When the same album is downloaded again after the completion of the previous download, the following 'File exists' error is encountered.

Exception in thread Thread-1:
Traceback (most recent call last):
  • File "/usr/lib/python3.5/threading.py", line 914 in _bootstrap_inner
    self.run()
  • File "/usr/lib/python3.5/threading.py", line 862 in run
    self._target(*self._args, **self._kwargs)
  • File "/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/magnatune/MagnatuneSource.py", line 469 in unzip_album
    track_out = Gio.file_new_for_uri(track_uri).create(Gio.FileCreateFlags.NONE, None)
GLib.GError: g-io-error-quark: Error opening file “/home/vbox/Music/Park St Trio/3 Plus 5/01-Fernet-Park St Trio_.ogg”: File exists (2)

Here, even a successful re-download is not replacing the old files. So, the following questions remain:

1. Should a sequential re-download replace the old ones ? 

 Probably yes, as there is a chance that more tracks are added to the album recently.

2. Should a parallel download of the same album be allowed ?

 Probably no, as it doesn't make much sense.
Comment 7 gkrithi8 2017-10-14 12:23:17 UTC
Created attachment 361579 [details] [review]
magnatune: Show missing progress bar allowing cancellation

Use 'props.property_name' rather than 'set_property(property_name)'
Comment 8 gkrithi8 2017-10-14 12:26:14 UTC
Created attachment 361580 [details] [review]
magnatune: allow replacing existing albums / tracks with  newly downloaded ones

Addresses issue [1] in comment #6
Comment 9 gkrithi8 2017-10-14 12:27:52 UTC
Created attachment 361581 [details] [review]
magnatune: don't allow parallel album downloads

Addresses issue [2] in comment #6
Comment 10 gkrithi8 2017-10-14 18:53:04 UTC
Original rhythmbox console crash message for reference:

sys:1: Warning: invalid unclassed pointer in cast to 'RBAsyncCopy'
sys:1: Warning: invalid cast from 'GtkStyleContext' to 'RBAsyncCopy'
Segmentation fault (core dumped)

Stack trace as in comment #2:

(gdb) bt
  • #0 0x00005596c0bf5c50 in
  • #1 copy_async_progress_in_main
    at ../../../../gio/gfile.c line 6239
  • #2 g_main_dispatch
    at ../../../../glib/gmain.c line 3148

The first async copy object ( dl = RB.AsyncCopy() ) in the self.__copies list was replaced by a new object, with the second 'Download Album' click by the user, as below:

self.__copies[audio_dl_uri] = dl

But, the first async copy object was still active in GIO async calls, and hence the crash.
Comment 11 GNOME Infrastructure Team 2018-05-24 19:28:08 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/1581.