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 527788 - Could not fetch metadata for CD
Could not fetch metadata for CD
Status: RESOLVED FIXED
Product: banshee
Classification: Other
Component: Metadata
git master
Other All
: High normal
: 1.6
Assigned To: Banshee Maintainers
Banshee Maintainers
: 549380 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-04-12 21:24 UTC by Klaus Zeitler
Modified: 2009-11-12 04:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
A test program for musicbrainz (21.60 KB, application/x-compressed-tar)
2008-04-13 02:57 UTC, Scott Peterson
  Details
Test code (543 bytes, text/x-csharp)
2008-09-20 07:27 UTC, Scott Peterson
  Details
Native test (209 bytes, text/x-csrc)
2008-09-21 05:31 UTC, Scott Peterson
  Details
Banshee patch (93.60 KB, patch)
2008-09-21 06:39 UTC, Scott Peterson
none Details | Review
Wireshark tcpdump (5.39 KB, application/octet-stream)
2008-10-01 15:42 UTC, Kay Wrobel
  Details
update to patch (93.86 KB, patch)
2009-01-24 03:28 UTC, Tom Corner
committed Details | Review
Handle exceptions thrown by MusicBrainz (8.93 KB, patch)
2009-06-10 21:10 UTC, Bertrand Lorentz
committed Details | Review

Description Klaus Zeitler 2008-04-12 21:24:00 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
Comment 1 Scott Peterson 2008-04-13 02:57:23 UTC
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)
Comment 2 Klaus Zeitler 2008-04-13 20:43:04 UTC
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.
Comment 3 Neil Munro 2008-05-12 18:38:33 UTC
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.
Comment 4 Christopher Halse Rogers 2008-06-12 09:29:59 UTC
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)
Comment 5 Andrew Conkling 2008-09-16 02:02:41 UTC
*** Bug 549380 has been marked as a duplicate of this bug. ***
Comment 6 Scott Peterson 2008-09-20 07:27:52 UTC
Created attachment 119029 [details]
Test code
Comment 7 Scott Peterson 2008-09-20 07:38:47 UTC
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.
Comment 8 Klaus Zeitler 2008-09-20 16:45:12 UTC
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.
Comment 9 Roderich Schupp 2008-09-20 22:13:00 UTC
(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.

Comment 10 Scott Peterson 2008-09-21 05:31:40 UTC
Created attachment 119067 [details]
Native test
Comment 11 Scott Peterson 2008-09-21 05:38:41 UTC
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.
Comment 12 Scott Peterson 2008-09-21 06:39:50 UTC
Created attachment 119070 [details] [review]
Banshee patch
Comment 13 Scott Peterson 2008-09-21 06:40:51 UTC
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.
Comment 14 Klaus Zeitler 2008-09-21 08:41:31 UTC
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.


Comment 15 Scott Peterson 2008-09-21 09:48:21 UTC
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?
Comment 16 Klaus Zeitler 2008-09-21 11:12:44 UTC
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.
Comment 17 Roderich Schupp 2008-09-21 16:54:03 UTC
(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.
Comment 18 Darin Ohashi 2008-09-22 03:07:04 UTC
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.
Comment 19 Scott Peterson 2008-09-22 04:27:46 UTC
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.
Comment 20 Klaus Zeitler 2008-09-22 21:48:27 UTC
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.
Comment 21 Andrew Conkling 2008-09-23 02:15:16 UTC
(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
Comment 22 Darin Ohashi 2008-09-23 23:01:20 UTC
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.
Comment 23 Scott Peterson 2008-09-23 23:07:48 UTC
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.
Comment 24 Gabriel Burt 2008-09-23 23:13:54 UTC
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.
Comment 25 Scott Peterson 2008-09-24 05:28:43 UTC
Well then, as I see it, the problem is with the MusicBrainz database. Perhaps we should have some UI for submitting discs to MB.
Comment 26 Roderich Schupp 2008-09-24 07:55:02 UTC
For example, a button like Picard that says "Submit disc data to MusicBrainz"
and just opens a browser window with the appropriate MusicBrainz page.
Comment 27 Darin Ohashi 2008-09-24 21:03:40 UTC
There is a bug requesting this functionality.

http://bugzilla.gnome.org/show_bug.cgi?id=526082
Comment 28 Klaus Zeitler 2008-09-24 21:28:31 UTC
(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.
Comment 29 Scott Peterson 2008-09-25 01:37:02 UTC
> I also tried now about 10 CDs that I copied

That is your problem. Copying the CDs probably changed the TOC.
Comment 30 Kay Wrobel 2008-10-01 15:31:45 UTC
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.
Comment 31 Kay Wrobel 2008-10-01 15:42:02 UTC
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.
Comment 32 Roderich Schupp 2008-10-01 16:02:41 UTC
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
Comment 33 Kay Wrobel 2008-10-01 17:00:51 UTC
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.
Comment 34 Kay Wrobel 2008-10-01 17:19:19 UTC
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?
Comment 35 Andrew Conkling 2008-10-01 17:31:42 UTC
(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.
Comment 36 Kay Wrobel 2008-10-01 18:36:10 UTC
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
Comment 37 David Nielsen 2008-11-20 20:13:57 UTC
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-
Comment 38 Bertrand Lorentz 2008-12-30 21:51:58 UTC
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.
Comment 39 Gabriel Burt 2009-01-13 21:54:54 UTC
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).
Comment 40 Tom Corner 2009-01-22 18:50:08 UTC
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. 
Comment 41 Gabriel Burt 2009-01-22 19:15:37 UTC
Hi Tom, see http://banshee-project.org/contribute/write-code/ for information on making patches.
Comment 42 Scott Peterson 2009-01-23 02:16:53 UTC
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?
Comment 43 Tom Corner 2009-01-24 03:28:07 UTC
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?
Comment 44 Gabriel Burt 2009-01-24 18:42:38 UTC
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.
Comment 45 Tom Corner 2009-01-25 12:21:41 UTC
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.
Comment 46 Gabriel Burt 2009-01-25 18:01:01 UTC
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..
Comment 47 Scott Peterson 2009-01-26 00:43:14 UTC
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.
Comment 48 Tom Corner 2009-01-30 14:20:43 UTC
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.
Comment 49 Gabriel Burt 2009-04-02 20:30:28 UTC
Thanks Tom, I committed more or less your last patch.

This doesn't solve the real problem of this bug report though, does it?
Comment 50 Roderich Schupp 2009-06-08 22:43:05 UTC
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.
Comment 51 Gabriel Burt 2009-06-09 19:41:23 UTC
Ok, thanks for the report, bumping the priority of this for 1.6.
Comment 52 Bertrand Lorentz 2009-06-10 21:10:49 UTC
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 ?
Comment 53 Roderich Schupp 2009-06-15 16:37:53 UTC
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)
Comment 54 Roderich Schupp 2009-06-15 21:14:18 UTC
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.
Comment 55 Gabriel Burt 2009-06-16 16:19:35 UTC
Roderich, are you using Banshee 1.5.0?
Comment 56 Gabriel Burt 2009-06-16 16:34:18 UTC
Thanks for the patch Bertrand.
Comment 57 Roderich Schupp 2009-06-16 16:57:38 UTC
(In reply to comment #55)
> Roderich, are you using Banshee 1.5.0?

Yes.

Comment 58 Gabriel Burt 2009-06-16 17:27:48 UTC
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?
Comment 59 Bertrand Lorentz 2009-06-16 18:46:47 UTC
I just committed my patch, so you can all test just with git master.
Comment 60 Roderich Schupp 2009-06-16 22:26:37 UTC
(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.
Comment 61 Gabriel Burt 2009-11-12 04:09:50 UTC
Closing this bug.  Please open new bugs for other issues.