GNOME Bugzilla – Bug 390153
Magnatune plugin hangs, charges CC but no music
Last modified: 2007-01-13 05:07:20 UTC
OS: Ubuntu 6.10 Rhythmbox 0.9.7 built from source; all dependencies from up-to-date Ubuntu repositories. I tested the Magnatune plugin twice, with the following results: First attempt: Purchased "Dead Man's Hand" by "Seismic Anamoly" for $8. After clicking "Purchase", a window appeared containing just the following text: "Authorizing purchase with Magnatune server. Please wait...". This window did not disappear and did not make any indication that anything had happened. I clicked the "X" button, and the window disappeared. Nothing further happened regarding my purchase, and Rhythmbox continued to function just as it had before I clicked "Purchase Album". I checked my online banking interface, and discovered that my card had been charged $8. I never received an email regarding this purchase, telling me where I could download the album. Second attempt: Purchased "Prospects" by "Chris Juergensen". This time I was running Rhythmbox from a console. The exact same thing happened, except this time I did not close the idle "Authorizing..." window (it is still open, an hour later). This time, I DID receive an email telling me where to download my album, and was able to download it successfully. The following also appeared on my console; I'm not sure if it's related or not: Traceback (most recent call last):
+ Trace 97382
self.__download_album(audio_dl_uri)
library_location = self.__client.get_list("/apps/rhythmbox/library_locations", gconf.VALUE_STRING)[0] # Just use the first library location
Because I'm not certain what the expected behavior is, I cannot delve much further than this. I am pretty sure that an indefinitely hanging window is not the expected behavior. It could be that I simply typed my email address wrong the first time and thus never received the email, and because I never got to whatever happens after the "Authorizing..." window, I never had any other recourse. Regardless, I think a little bit of discussion is in order; now that Rhythmbox is causing people's credit cards to be charged, the highest degree of reliability is to be expected, otherwise there'll be a whole world of trouble once this code finds itself in common distribution. I apologize if this isn't the most informative bug report and is not exactly reproducible. If somebody can provide a way to test this system that doesn't charge my credit card, I'd be happy to try and look into it more. I marked it "blocker" so it would get seen; feel free to change it to "critical" if that's more suitable.
Cc'ing the Magnatune plugin author.
Okay, the problem was not having a Library path set; after setting one and restarting RB it seems to have automatically started downloading both albums. So this isn't quite so scary after all. It's still a pretty substantial bug though, if I may say so.
Created attachment 78965 [details] [review] fix This will cause a dialog to pop up if there is no library location set when the user clicks the purchase button. This patch relies on the method name patch from bug 388425 to apply properly. If it isn't, just change purchase_album back to purchase_tracks.
I reworked this a bit to use rb.error_dialog instead of constructing a dialog manually, so the result looks like all other rhythmbox error dialogs.