GNOME Bugzilla – Bug 527788
Could not fetch metadata for CD
Last modified: 2009-11-12 04:09:50 UTC
Please describe the problem: I installed version 0.98.3 with one-click-install for OpenSuse 10.3. When I insert a CD Banshee complains now: Could not fetch metadata for CD I see the following output from banshee: [1015]$ banshee-1 --play --audio-cd /dev/sr1 & [1016]$ [Info 00:24:01.614] Querying MusicBrainz for Disc Release (VijY3pl4ElONCJGf.CxQxb0HC0Y-) [Warn 00:24:01.833] Cannot connect to NetworkManager - An available, working network connection will be assumed [Info 00:24:01.976] All services are started 1.625319s [Info 00:24:02.210] Query finished (success: False, 0.599771 seconds) ** (Nereid:21934): DEBUG: bp_cdda: storing device node for fast seeks (/dev/sr1) ** (Nereid:21934): DEBUG: bp_cdda: setting device property on source (/dev/sr1) But the original banshee (which is still there) is able to fetch the metadata. Here I see a lot more output: [1016]$ banshee --play --audio-cd /dev/sr1 & [1] 21960 [1017]$ Warning: [4/12/2008 12:26:50 AM] (Cannot connect to NetworkManager) - An available, working network connection will be assumed Debug: [4/12/2008 12:26:50 AM] (Loading audio profiles) - /usr/share/banshee/audio-profiles Debug: [4/12/2008 12:26:50 AM] (Default player engine) - GStreamer 0.10 Debug: [4/12/2008 12:26:50 AM] (Audio CD Core Initialized) - Setting MusicBrainz proxy to www.musicbrainz.org:80 Debug: [4/12/2008 12:26:50 AM] (Testing device for DAP support) - /org/freedesktop/Hal/devices/volume_uuid_1fb8a99f_9c22_430d_b1ca_bb4ce28e378d Debug: [4/12/2008 12:26:50 AM] (DAP has not been added) - /org/freedesktop/Hal/devices/volume_uuid_1fb8a99f_9c22_430d_b1ca_bb4ce28e378d Debug: [4/12/2008 12:26:51 AM] (Testing device for DAP support) - /org/freedesktop/Hal/devices/volume_uuid_2cf783a8_75c9_46c7_85dc_fa5e721ce86d Debug: [4/12/2008 12:26:51 AM] (DAP has not been added) - /org/freedesktop/Hal/devices/volume_uuid_2cf783a8_75c9_46c7_85dc_fa5e721ce86d Warning: [4/12/2008 12:26:51 AM] (Power Management Call Failed) - Cannot find GNOME Power Manager: Name org.gnome.PowerManager has no owner Debug: [4/12/2008 12:26:51 AM] (Enabled multimedia keys support) - Using org.gnome.SettingsDaemon Steps to reproduce: Happens every time I insert a new CD (then Gnome starts banshee automatically). Also happens when I start banshee-1 in an xterm. Actual results: No artist, track info, no cover image Expected results: Does this happen every time? yes Other information: Banshee 0.13 is able to fetch the metadata
Created attachment 109158 [details] A test program for musicbrainz Could you please extract and run the attached program and post the output? (Source code included in the archive)
I assume I have to run MusicBrainzTest.exe in the shell like this: [1038]$ mono MusicBrainzTest.exe http://musicbrainz.org/ws/1/release/?type=xml&limit=1&discid=VijY3pl4ElONCJGf.CxQxb0HC0Y- Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object at Program.Main () [0x00000] This doesn't look good. Unfortunately I don't know anything about mono. So please bear with me. I have no idea if that's a problem with the little test program or with my environment.
I have a similar issue. I can be wireless or wired on Ubuntu. When using wired banshee has no issues attempting to get the metadata, however if i switch to wireless banshee and musicbrainz no longer seem to work. I assume since wireless networking is handled by network manager it's a problem with that.
I think I _may_ be seeing this bug (Banshee 1.0). On a couple of CDs (Animals by Pink Floyd, The Good Son by Nick Cave & the Badseeds) the "Searching for CD metadata" throbber never stops spinning, and no data is recorded in the CD source view. However, the context menu for the CD has 'Import "The Good Son"' as one of its entries, so some sort of metadata has been retrieved. Output of the test program: ┌─(raof@CowboyLaputopu:pts/3)────────────────────────────────────────(~/Temp)─┐ └─(19:22:%)── ./MusicBrainzTest.exe ──(Thu,Jun12)─┘ http://musicbrainz.org/ws/1/release/?type=xml&limit=1&discid=nNqVaxfippsySchUlHwVHntFRHk- The Good Son by Nick Cave & The Bad Seeds http://musicbrainz.org/ws/1/release/38f58932-4688-4ae8-8114-a05fc33f69d7?type=xml&inc=release-events+labels+discs+tracks+track-level-rels+artist+artist-rels+release-rels+track-rels+label-rels+url-rels Foi Na Cruz The Good Son Sorrow's Child The Weeping Song The Ship Song The Hammer Song Lament The Witness Song Lucy Commandline debug output, including a couple of cycles of insert/remove the CD and a couple of accidental import attempts: [Debug 19:07:58.176] NDesk.DBus.Bus.Session.RequestName ('org.bansheeproject.Banshee') => PrimaryOwner [Info 19:07:58.188] Running Banshee 1.0.0 [Debug 19:08:00.241] Core service started (DBusServiceManager, 0.002873s) [Debug 19:08:00.270] Core service started (DBusCommandService, 0.027875s) [Debug 19:08:00.428] Opened SQLite connection to /home/raof/.config/banshee-1/banshee.db [Debug 19:08:00.428] Core service started (DbConnection, 0.157752s) [Debug 19:08:00.515] Database version 11 is up to date [Debug 19:08:00.530] Core service started (PreferenceService, 0.013893s) [Debug 19:08:00.532] Core service started (SourceManager, 0.001419s) [Debug 19:08:00.807] Core service started (MediaProfileManager, 0.275094s) [Debug 19:08:00.810] Core service started (PlayerEngine, 0.002988s) [Debug 19:08:00.815] Configuration client extension loaded (Banshee.GnomeBackend.GConfConfigurationClient) [Debug 19:08:00.997] IO provider extension loaded (Banshee.IO.Unix.Provider) [Debug 19:08:01.030] Core service started (TranscoderService, 0.043636s) [Debug 19:08:01.035] Core service started (PlaybackController, 0.004535s) [Debug 19:08:01.036] Core service started (ImportSourceManager, 0.00085s) [Debug 19:08:01.046] Core service started (LibraryImportManager, 0.009758s) [Debug 19:08:01.047] Core service started (UserJobManager, 0.00105s) [Debug 19:08:01.075] Core service started (HardwareManager, 0.02798s) [Debug 19:08:01.168] Adding icon theme search path: /home/raof/Devel/Banshee/trunk/bin/share/banshee-1/icons [Debug 19:08:01.169] Core service started (GtkElementsService, 0.093377s) [Debug 19:08:01.227] Core service started (InterfaceActionService, 0.058153s) [Debug 19:08:01.228] Album artwork path set to /home/raof/.cache/album-art [Debug 19:08:01.229] Core service started (ArtworkManager, 0.001003s) [Debug 19:08:02.541] Core service started (NereidPlayerInterface, 1.312026s) [Debug 19:08:02.609] Extension service started (AudioCdService, 0.065884s) [Debug 19:08:02.612] Extension service started (DapService, 0.002157s) [Debug 19:08:02.618] Using GNOME 2.22 API for Multimedia Keys [Debug 19:08:02.618] Extension service started (MultimediaKeysService, 0.006007s) [Debug 19:08:02.641] Extension service started (BookmarksService, 0.023331s) [Debug 19:08:02.645] Extension service started (CoverArtService, 0.003524s) [Debug 19:08:02.822] Extension service started (NotificationAreaService, 0.176673s) 0:00:00.323509763 16314 0x1c4f930 ERROR GST_PIPELINE ./grammar.y:571:_gst_parse_yyparse: no element "xingenc" [Debug 19:08:03.149] GStreamer pipeline does not run: audioconvert ! xingenc bitrate=128 ! id3v2mux 0:00:00.637764367 16314 0x1c4f930 ERROR GST_PIPELINE ./grammar.y:571:_gst_parse_yyparse: no element "fluwmaenc" 0:00:00.637879536 16314 0x1c4f930 ERROR GST_PIPELINE ./grammar.y:571:_gst_parse_yyparse: no element "fluasfmux" [Debug 19:08:03.462] GStreamer pipeline does not run: audioconvert ! fluwmaenc bitrate=64000 vbr=false ! fluasfmux [Debug 19:08:03.463] Extension service started (GStreamerCoreService, 0.640441s) [Debug 19:08:03.482] Player state change: NotReady -> Ready [Debug 19:08:03.501] Player state change: Ready -> Idle [Debug 19:08:03.514] Extension service started (GnomeService, 0.006927s) [Debug 19:08:03.858] Extension service started (PodcastService, 0.344469s) [Debug 19:08:03.974] Audioscrobbler state: connected [Debug 19:08:03.987] Extension service started (AudioscrobblerService, 0.128228s) [Info 19:08:03.989] All services are started 3.757586s [Info 19:08:05.543] nereid Client Started [Debug 19:08:05.569] Dap support extension loaded: Banshee.Dap.Mtp [Debug 19:08:05.876] Dap support extension loaded: Banshee.Dap.MassStorage [Debug 19:08:06.016] Dap support extension loaded: Banshee.Dap.Ipod [Debug 19:08:20.262] Last.fm State Changed to Connecting (Nereid:16314): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed (Nereid:16314): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed (Nereid:16314): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed [Debug 19:08:23.213] Mapping audio CD (/org/freedesktop/Hal/devices/volume_part_1_size_419123200) [Info 19:08:23.214] Querying MusicBrainz for Disc Release (nNqVaxfippsySchUlHwVHntFRHk-) [Debug 19:08:27.601] Last.fm State Changed to Connected [Debug 19:08:27.606] Logged into Last.fm as RAOF (not a subscriber) (Nereid:16314): Pango-CRITICAL **: pango_layout_set_text: assertion `length == 0 || text != NULL' failed [Info 19:08:54.764] Ripping using encoder profile `Wavpack' with pipeline: audioconvert ! wavpackenc mode=4 md5=true extra-processing=6 ! apev2mux [Debug 19:08:54.828] GStreamer ripping track 0 to /home/raof/Music/Unknown Artist/Unknown Album/01. Track 1.wv Found 1 'encoder' tag: "Banshee 1.0.0" Found 1 'encoder-version' tag: 65536 Found 1 'artist' tag: "Unknown Artist" Found 1 'album' tag: "Unknown Album" Found 1 'title' tag: "Track 1" Found 1 'track-number' tag: 1 Found 1 'track-count' tag: 9 Found 1 'album-disc-number' tag: 1 Found 1 'date' tag: 0001-01-01 (Nereid:16314): GLib-GObject-WARNING **: IA__g_object_new_valist: object class `GThemedIcon' has no property named `names' (Nereid:16314): GLib-GIO-CRITICAL **: g_themed_icon_constructed: assertion `themed->names != NULL && themed->names[0] != NULL' failed (Nereid:16314): GLib-CRITICAL **: g_strv_length: assertion `str_array != NULL' failed [Info 19:09:15.974] Ripping using encoder profile `Free Lossless Audio Codec' with pipeline: audioconvert ! flacenc [Debug 19:09:15.978] GStreamer ripping track 0 to /home/raof/Music/Unknown Artist/Unknown Album/01. Track 1.flac Found 1 'encoder' tag: "Banshee 1.0.0" Found 1 'encoder-version' tag: 65536 Found 1 'artist' tag: "Unknown Artist" Found 1 'album' tag: "Unknown Album" Found 1 'title' tag: "Track 1" Found 1 'track-number' tag: 1 Found 1 'track-count' tag: 9 Found 1 'album-disc-number' tag: 1 Found 1 'date' tag: 0001-01-01 [Debug 19:10:03.078] Unmapping audio CD (/org/freedesktop/Hal/devices/volume_part_1_size_419123200) [Info 19:11:04.996] Querying MusicBrainz for Disc Release (nNqVaxfippsySchUlHwVHntFRHk-) [Debug 19:11:04.998] Mapping audio CD (/org/freedesktop/Hal/devices/volume_part_1_size_419123200) (Nereid:16314): Pango-CRITICAL **: pango_layout_set_text: assertion `length == 0 || text != NULL' failed [Debug 19:11:47.813] Unmapping audio CD (/org/freedesktop/Hal/devices/volume_part_1_size_419123200) [Info 19:12:28.190] Querying MusicBrainz for Disc Release (nNqVaxfippsySchUlHwVHntFRHk-) [Debug 19:12:28.191] Mapping audio CD (/org/freedesktop/Hal/devices/volume_part_1_size_419123200)
*** Bug 549380 has been marked as a duplicate of this bug. ***
Created attachment 119029 [details] Test code
Sorry for not getting around to this until now. OK, here's what we're going to do. If you're experiencing this problem, please: Get the latest musicbrainz-sharp code: $ svn co http://svn.musicbrainz.org/musicbrainz-sharp/trunk musicbrainz-sharp Compile it: $ cd musicbrainz-sharp $ ./autogen.sh $ make Download the test code: $ cd src/ $ wget http://bugzilla.gnome.org/attachment.cgi?id=119029 -O Main.cs Compile it: $ gmcs Main.cs -r:MusicBrainz/MusicBrainz.dll Put an offending CD in the CD ROM tray and run the test: $ mono Main.exe If it prints correct metadata, let us know. If it does something else, please post the output. Thanks.
Unfortunately this doesn't work. Here's the output: $ mono Main.exe Didn't find the CD uXyN3S2r.kjduKF8YW93sgAYsDc- Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object at MainClass.Main (System.String[] args) [0x00000] BTW the old banshee (0.13.2) is able to show the meta data.
(In reply to comment #7) > If it prints correct metadata, let us know. Works on at least 3 CDs where Banshee (1.2.1) reproducibly shows "Searching for CD metadata...", but never returns.
Created attachment 119067 [details] Native test
Alrighty, if you're getting a "Didn't find the CD" message, please do the following: Get the latest libcdid: $ wget http://users.musicbrainz.org/~matt/libdiscid-0.2.2.tar.gz $ tar -xf libdiscid-0.2.2.tar.gz $ cd libdiscid-0.2.2/ Make and install libcdid: $ ./configure --prefix=/usr $ make $ sudo make install Get the test code: $ wget http://bugzilla.gnome.org/attachment.cgi?id=119067 -O main.c Compile it: $ gcc main.c -ldiscid -I./include/ -o main Run it: $ ./main Please post the outcome of that execution, as well as the outcome of the other test. This will tell us if musicbrainz-sharp is generating incorrect disc IDs. As for the other test working but Banshee not, I will see about that right now.
Created attachment 119070 [details] [review] Banshee patch
Ok, if the first tests works for you but Banshee does not, try this new patch. It just syncs Banshee to the latest musicbrainz-sharp.
the test in comment#11 returns the same disc ID as the one made with the test from comment#7 ./main DiscID: uXyN3S2r.kjduKF8YW93sgAYsDc- here's the result from test in comment #7 again: mono Main.exe Didn't find the CD uXyN3S2r.kjduKF8YW93sgAYsDc- I take it that trying the new patch wouldn't do me any good since both test cases fail for me.
Klaus, did this CD work with the old Banshee? It appears that the disc you're using is not in the MusicBrainz database. What is the release?
Oops. I should have checked with MusicBrainz first, but I was so sure that if the old banshee finds it would be there. (just tried it again and yes the old banshee finds the CD (Fairport Convention - Fiddlestix), but I can't find it in MusicBrainz (I just tried a search on the website). I also checked that it's not in my music library. So how does the old banshee do it? Now I tried your two tests with two other CDs where I'm sure that they are in the MusicBrainz database (U2 - The Joshua tree and Pink Floyd - Dark side). The test case from comment#7 works fine for them, metadata is found and correct. And to my amazement banshee-1 now also found them (and it did not a few weeks ago). Or is this due to the fact that I have this new libcdid now? I'm sorry that I caused you additional trouble with the CD that I tried first.
(In reply to comment #13) > Ok, if the first tests works for you but Banshee does not, try this new patch. Applied the patch to latest Banshee from SVN and it works for all three of my "Searching for CD metadata..., but never returns" CDs.
This seems to fix my "Searching for CD metadata" issues as well. I have successfully ripped about 4 cds that banshee 1.2.1 got stuck with. However, in one case banshee hung after I inserted a cd to rip. I had successfully ripped Animals, by Pink Floyd, when I inserted home & gardens by haujobb, banshee stopped responding. The terminal output looked like this: [Debug 22:37:10.336] Beginning auto rip of Homes & Gardens [Info 22:37:10.347] Ripping using encoder profile `Ogg Vorbis' with pipeline: audioconvert ! vorbisenc quality=0.5 ! oggmux [Debug 22:37:10.349] GStreamer ripping track 0 to /home/darino/music/Haujobb/Homes Gardens/01. Haujobbs State.ogg Found 1 'encoder' tag: "Banshee 1.3.1" Found 1 'encoder-version' tag: 66305 Found 1 'artist' tag: "Haujobb" Found 1 'album' tag: "Homes & Gardens" Found 1 'title' tag: "Haujobb's State" Found 1 'track-number' tag: 1 Found 1 'track-count' tag: 14 Found 1 'album-disc-number' tag: 1 Found 1 'album-disc-count' tag: 1 Found 1 'date' tag: 0001-01-01 Found 1 'musicbrainz-trackid' tag: "cb5ac8c1-a95a-4937-b56a-bc03a577fc26" Found 1 'musicbrainz-artistid' tag: "14ca858e-39ac-403b-bbe0-78e16623879e" Found 1 'musicbrainz-albumid' tag: "53fe2b93-588a-4fcf-bd0b-3406c0d66cd9" make: *** [run] Interrupt After I restarted banshee, the same cd ripped fine.
Darin: It sounds like your import freezing bug is not related to MusicBrainz support. You may want to open a new bug and look for steps to reproduce the problem. Klaus: The disc you are using is not in the MusicBrainz database. The old Banshee used a previous (and now deprecated) version of the MusicBrainz API. IIRC, that version allowed for closest-match searching of discs based on their Table of Contents. That is not exposed in the new API because it often leads to false-positives. If you would like, you can add your disc to the MusicBrainz database. Their are tools available on their website for doing that. Everyone else: It seems like syncing Banshee with musicbrainz-sharp has taken care of the problem. There are some things I'd like to discuss with Aaron before committing this. Thanks for everyone's help.
Still I wonder how the old banshee as well as sound-juicer find the CD we talked about (Fairport Convention) without problems. I tried a few more today and I had problems with e.g. "Brian Auger - Auger Rhythms" a double CD. I can find it easily when I enter it on the musicBrainz website. Again old banshee and sound-juicer found these 2 CDs immediately. I also noticed that none of the CDs I burned myself was found by banshee-1, but again old banshee and sound-juicer found all of them. So I wonder if the old searching wasn't better after all. Nevertheless thanks a lot for fixing this bug. The new banshee looks really great.
(In reply to comment #20) > Still I wonder how the old banshee as well as sound-juicer find the CD we > talked > about (Fairport Convention) without problems. (In reply to comment #16) > (just tried it again and yes > the old banshee finds the CD (Fairport Convention - Fiddlestix), but I can't > find it in MusicBrainz (I just tried a search on the website). Wait, so which CD was found? I can find no release by Fairport Convention called Fiddlestix on MusicBrainz [1] but I do find one by the Polyjesters [2] that has no CD ID. > I also checked > that it's not in my music library. So how does the old banshee do it? I think that the API changes Scott mentioned were part of that, and perhaps the old Banshee is using other sources for its retrieval? (I'm pretty sure that Sound Juicer uses the API and uses only MusicBrainz, but I'm not 100% on that.) [1] http://musicbrainz.org/search/textsearch.html?query=Fairport+Convention&type=release&limit=50&handlearguments=1 [2] http://musicbrainz.org/show/release/?releaseid=642646
I'm pretty sure that Sound Juicer has some sort of backup when musicbrainz fails. I used Sound Juicer to help me add cd ids to musicbrainz and when you insert a cd that is not found on musicbrainz, Sound Juicer tells you it is not found in musizbrains, but it is still able to find the correct track listings.
That's something we've been discussing: FreeDB fallback. On the one hand, any metadata is better than no metadata. On the other hand, FreeDB sucks.
No, the problem is that soundjuicer uses the old MB API and gets more info with it. I used wireshark and manual searches of MB to verify this.
Well then, as I see it, the problem is with the MusicBrainz database. Perhaps we should have some UI for submitting discs to MB.
For example, a button like Picard that says "Submit disc data to MusicBrainz" and just opens a browser window with the appropriate MusicBrainz page.
There is a bug requesting this functionality. http://bugzilla.gnome.org/show_bug.cgi?id=526082
(In reply to comment #21) Maybe I didn't explain myself well. What puzzled me most is that I could find one of my two examples above (Brian Auger) with a search on the MusicBrainz web site but could not find the other (Fairport Convention) there. Yet as I said both CDs are immediately found by the old banshee and sound-juicer. Maybe they search also some other place. But what worries me more is that I also tried now about 10 CDs that I copied with 3 different CD/DVD Burners. None was found with banshee-1, but all were found by old banshee as well as sound-juicer.
> I also tried now about 10 CDs that I copied That is your problem. Copying the CDs probably changed the TOC.
Hi. Just installed the latest Banshee .deb package from the main project page and also ran into the same issue. I also have three discs already not being found. After I installed the libdiscid as described in comment #11, banshee-1 would not show the error message anymore, but get stuck searching for the CD on MusicBrainz. When I run banshee-1 in a window, I get this: [Info 09:58:46.756] Querying MusicBrainz for Disc Release (o_qunlSrri2.81GoofR_q8TrySY-) ... and it sits there and never returns. I verified the discID on MusicBrainz web site, and it accurately comes back as Richard Marx - Rush Street. So at least it looks as if the discID generated by libdiscid is correct. Even whe I run banshee --debug and then insert the CD, all I get is the same Info message as shown above, meaning there are not OTHER warnings or debug messages. I have attached a Wireshark tcpdump file that shows the entire dialog with the MusicBrainz server. If I read the dump correctly, all information is properly returned from the server. Looks as if the application doesn't get the proper feedback from wherever it's original call was (I assume this happens asynchronously behind the scenes?). Can any developer confirm that all data that comes back from MusicBrainz is complete by analyzing the dump more closely? Thanks. I hope this problem gets resolved soon. And maybe the folks who package the deb files should also make libdiscid a mandatory prerequisite as it seems to get around at least some issues.
Created attachment 119726 [details] Wireshark tcpdump Open this file in Wireshark. 10.10.10.164 is the local IP address and 72.29.166.157 was the IP address of the MusicBrainz server. Check out the entries for protocol HTTP and HTTP/XML and look at the packets. Entry #6 shows the meta data for the CD, and entry #18 shows the track list.
Please try the procedure outlined in comment #13: - check out latest banshee from SVN - if still necessary, apply patch from comment #12 - build banshee and retry your discs with the just built version
Thanks, Roderich. Please don't take it personal, but comment #13 isn't really much of an "outline" and refers to the patch, and the instructions on the main page for compiling the SVN trunk are, I ust say, VERY OpenSUSE-specific. I'm using Ubuntu 8.04 here and had to install a gazillion of development packages (as I was prompted by autogen). That said: I downloaded the SVN version (1.3.2 as of this writing) and compiled it with ./autogen.sh --disable-ipod and then make and then make run, but banshee still hangs, searching for the CD. Sorry if I'm going to sound like a noob now, but how to I apply the patch? Thanks.
Never mind my last question. I found instructions for the patch command. I copied the mbpatch.diff to the directory where the banshee trunk is located (directory name "banshee"). Then I run: $ patch < mbpatch.diff can't find file to patch at input line 5 Perhaps you should have used the -p or --strip option? The text leading up to this was: -------------------------- |Index: src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs |=================================================================== |--- src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs (revision 4578) |+++ src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs (working copy) -------------------------- File to patch: And it stops. However, from the same directory I can more src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs just fine. I also tried the -p1 option but get the same effect. What am I doing wrong?
(In reply to comment #34) > $ patch < mbpatch.diff patch -p0 < mbpatch.diff Probably best to continue any general discussion of checking out/patching/testing on the mailing list, where more people would be able to help and to help keep this discussion here focused on the bug/patch.
Thanks. That worked. After make distclean and re-running autogen and make again, I get this compilation error: Making all in Banshee.AudioCd make[4]: Entering directory `/home/kuw/Downloads/banshee/banshee/src/Extensions/Banshee.AudioCd' Compiling Banshee.AudioCd.dll... ./Banshee.AudioCd/AudioCdDiscModel.cs(103,42): error CS0117: `MusicBrainz.LocalDisc' does not contain a definition for `TrackDurations' /home/kuw/Downloads/banshee/banshee/bin/MusicBrainz.dll (Location of the symbol related to previous error) ./Banshee.AudioCd/AudioCdDiscModel.cs(112,13): warning CS0162: Unreachable code detected Compilation failed: 1 error(s), 1 warnings make[4]: *** [../../../bin/Banshee.AudioCd.dll] Error 1
I don't know if this is the same issue but certain cds when inserted sit looking for metadata forever. When comparing the test program output with what banshee generates as the discid they are identical. The test cd is known by musicbrainz. http://musicbrainz.org/show/release/?releaseid=66730 discid: ivnatpvaxWUMvabODtuxtXz4bwk-
I just got hit by the same issue as David : banshee looking for metadata forever. I was able to reproduce it and grab a network capture. For each CD, banshee makes 2 queries to MusicBrainz. In my case, the first HTTP query succeeded, but the second failed : GET /ws/1/release/b2f862e5-a1f3-475d-85a1-6cb1160286aa?type=xml&inc=release-events+labels+discs+artist-rels+release-rels+track-rels+label-rels+url-rels HTTP/1.1 Host: musicbrainz.org HTTP/1.1 503 Service Temporarily Unavailable Date: Tue, 30 Dec 2008 20:20:42 GMT Server: Apache/1.3.41 (Unix) mod_perl/1.30 X-Rate-Limited: 600.1 600.0 10 Content-Type: text/plain; charset=utf-8 Via: 1.1 musicbrainz.org Connection: close Transfer-Encoding: chunked 48 The MusicBrainz web server is currently busy. Please try again later. After a quick look at the code, it seems that the HTTP return code 503 is not handled. So parsing the response probably fails, but the UI doesn't show it. Of course, as I was digging deeper, the musicbrainz server started responding again, so I couldn't reproduce this anymore.
Hey Scott, Is this still the latest MusicBrainz code, or should we jump over this patch and get the very latest? The patch as is doesn't apply 100% cleanly - have time to fix it up? If not, we can go w/ what you have (marking as commit after 1.4.2 in that case).
Hi Scott, I took your patch and applied it todays svn version. I tweaked it until it worked. How did you make the nice diff for your patch? I have muched improved fetching of metadata. I wanted to post the bug here. Also I wanted to see if I could adapt it to the 1.4.2 release.
Hi Tom, see http://banshee-project.org/contribute/write-code/ for information on making patches.
Banshee has a local copy of the MusicBrainz# code. That copy is old. If someone wants to grab the latest code from the MB svn repo (http://svn.musicbrainz.org/musicbrainz-sharp/trunk) and finagle the bagel into Banshee, that would be great. It should be pretty straight-forward work. If no one is available, I'll see if I can get around to it this weekend. My computer is having existential issues, so I don't have access to all of my codes and things. The larger issue is that Banshee is keeping a local copy of the code. Ideally, we want to just use the code in the MB repo. We could do that with an external SVN link, or making MusicBrainz# a package dependency. That would require that MB# be packaged and made available in all the major distro repos. I'm not interested in making that happen right now because a) I don't know jack about packaging, b) I don't have the time to do a little dance with each distro's packaging authorities, and c) I would really like to hold off until there is a stable one-oh release of MB#, which I have been delaying on the grounds that it needs to be "out there" so bugs can be found. Anyone else have opinions on these things?
Created attachment 127141 [details] [review] update to patch This patch is a minor update to Scott's Banshee-patch. It works with the current svn code. It has only a few minor changes to the previous patch. Several lines of code in MusicBrainz/LocalDisc.cs and Banshee.AudioCd/AudioCdDiscModel.cs have been changed. When is a fix for this problem going to appear in a release? Does it make sense to make a patch for 1.4.2?
Tom, is your patch the verbatim latest from MusicBrainz#? All patches should be made against trunk. It will appear in a release after I'm convinced the patch is the right one and it's committed, which will probably be our next one, possibly called 1.5.1.
I made the patch against trunk with the current MusicBrainz-sharp there. I have taken a brief look at the latest code from MusicBrainz. It seems to be changed quite a bit. I will look at it further and see if I can apply it to Banshee.
Scott, are you making releases of MB#? Is it being used elsewhere besides Banshee? Wondering how we can make this smoother for the future - either packaging it, bundling a release src tarball..
Yeah, I don't know about release. I've had a few people mention to me that they use it, but I have no real idea. I need to do a release, I know. Anyone want to help me out with this? Packaging and stuff is not my thing.
Scott, I don't think a source release is such a bad job if you just need a tar.bz2 file. If you need special packaging for multiple distributions then it is not so easy. The tar.bz2 file I could do and if you have a place to put it I can do an ebuild for Gentoo.
Thanks Tom, I committed more or less your last patch. This doesn't solve the real problem of this bug report though, does it?
This bug is still present in 1.5.0 - with a vengeance. I tried several CDs where the metadata lookup succeeded with 1.4.3 + Tom Corner's patch: none works with 1.5.0. banshee --debug just shows: [Info 00:28:46.505] Querying MusicBrainz for Disc Release bOmCptoeoRForPX02QO7SoSp_6w-) [Debug 00:28:46.505] Mapping audio CD (/org/freedesktop/Hal/devices/volume_part_1_size_419500032) [Debug 00:28:51.471] FSQ Enqueue: /home/roderich/.gvfs/cdda mount on sr0 but the GUI has the endlessly spinning "Searching for CD metadata..." I even removed the MusicBrainz code from 1.5.0 and dropped in the one from 1.4.3 + patch, same result. Looks like a synchronization problem: the thread doing the MusicBrainz lookup seems to work correctly, but doesn't communicate that it's done.
Ok, thanks for the report, bumping the priority of this for 1.6.
Created attachment 136305 [details] [review] Handle exceptions thrown by MusicBrainz This patch wraps all calls to MusicBrainz in a try/catch block. Exceptions are logged and the metadata query is marked as failed. This should help handle errors from MusicBrainz (like not responding, or being busy). I wonder if the stuff done in AudioCdDiscModel.LoadDiscMetadata is a good candidate for becoming a SimpleAsyncJob ?
With the patch from #52 I get (with Mono 2.4): [Info 18:25:41.912] Querying MusicBrainz for Disc Release (A17cq1tZzzWwUMwSgcVOjiHv.eI-) [Warn 18:25:42.554] Caught an exception - The requested feature is not implemented. (in `System') at System.Net.WebResponse.get_IsFromCache () [0x00000] in /var/tmp/build/mono-2.4+dfsg/mcs/class/System/System.Net/WebResponse.cs:73 at MusicBrainz.MusicBrainzObject.XmlProcessingClosure (System.String url, MusicBrainz.XmlProcessingDelegate code) [0x000f5] in /var/tmp/build/banshee-1.5.0/src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzObject.cs:420 at MusicBrainz.MusicBrainzObject.Query[Release] (System.String url_extension, Int32 limit, Int32 offset, System.String parameters, System.Nullable`1& count) [0x00018] in /var/tmp/build/banshee-1.5.0/src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzObject.cs:455 at MusicBrainz.Query`1[MusicBrainz.Release].LoadResults () [0x00000] in /var/tmp/build/banshee-1.5.0/src/Libraries/MusicBrainz/MusicBrainz/Query.cs:55 at MusicBrainz.Query`1[MusicBrainz.Release].get_Count () [0x00016] in /var/tmp/build/banshee-1.5.0/src/Libraries/MusicBrainz/MusicBrainz/Query.cs:95 at MusicBrainz.Query`1[MusicBrainz.Release].PerfectMatch () [0x0000e] in /var/tmp/build/banshee-1.5.0/src/Libraries/MusicBrainz/MusicBrainz/Query.cs:122 at Banshee.AudioCd.AudioCdDiscModel.LoadDiscMetadata (System.Object state) [0x0000e] in /var/tmp/build/banshee-1.5.0/src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:124 [Info 18:25:42.554] Query finished (success: False, 0.642121 seconds)
Line 420 in src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzObject.cs is bool from_cache = cache_implemented && response.IsFromCache; I don't understand how this caching on the MusicBrainz data level is supposed to work, but if I disable it by changing the above line to bool from_cache = false; looking up disc metadata works.
Roderich, are you using Banshee 1.5.0?
Thanks for the patch Bertrand.
(In reply to comment #55) > Roderich, are you using Banshee 1.5.0? Yes.
Roderich, can you git pull, your cache problem should be fixed in master. I do wonder if that is the only except everybody is seeing, though. Can others please test with Bertrand's patch applied?
I just committed my patch, so you can all test just with git master.
(In reply to comment #58) > Roderich, can you git pull, your cache problem should be fixed in master. Tried with 1.5.0-46-g47edf30 and several CDs - works like a charme.
Closing this bug. Please open new bugs for other issues.