Libmusicbrainz fails to parse metadata after recent MusicBrainz API update
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libmusicbrainz (Ubuntu) |
Fix Released
|
Undecided
|
Logan Rosen | ||
Precise |
Fix Released
|
High
|
Timo Aaltonen |
Bug Description
[Impact]
apps using libmusicbrainz4-3 will not list complete song information
the uploaded version does include other fixes too, and the tarball was released on May 16th and has not seen further fixes to the branch since
[Test case]
open sound-juicer, pop in a CD you know is listed on Musicbrainz, and notice how it doesn't show any song names
[Regression potential]
Although the upstream changes were such that a simple backport was not feasible the regression potential is minimal, since this has now been in Debian and quantal for some time, and has been tested on precise too.
--
When trying to rip a CD with sound-juicer in Ubuntu 12.04, none of the track names appear and the following errors are printed to stderr:
Unrecognised release group element: 'primary-type'
Unrecognised track element: 'number'
Unrecognised track element: 'number'
Unrecognised track element: 'number'
[repeated once for each track on CD]
This appears to have started happening after MusicBrainz rolled out a schema update that added some more information to releases.
Apparently the packaged version of libmusicbrainz does not handle the new elements in the XML and ignores everything after them inside the parent, as discussed in this bug report:
http://
Apparently this bug has been fixed in libmusicbrainz 4.0.3.
Related branches
- Daniel Holbach: Approve
- Ubuntu branches: Pending requested
-
Diff: 17671 lines (+3088/-10035)194 files modified.gitignore (+9/-0)
CMakeLists.txt (+5/-6)
Doxyfile.cmake (+1/-1)
NEWS.txt (+26/-0)
README.md (+44/-0)
README.txt (+0/-44)
config.h.cmake (+0/-2)
debian/changelog (+8/-0)
debian/control (+2/-2)
examples/.gitignore (+8/-0)
examples/CMakeLists.txt (+8/-2)
examples/cdlookup.cc (+1/-1)
examples/cdlookup_c.c (+1/-1)
examples/collections.cc (+1/-1)
examples/search.cc (+1/-1)
examples/search_c.c (+1/-1)
include/musicbrainz4/.gitignore (+1/-0)
include/musicbrainz4/Alias.h (+8/-3)
include/musicbrainz4/AliasList.h (+1/-1)
include/musicbrainz4/Annotation.h (+3/-3)
include/musicbrainz4/AnnotationList.h (+1/-1)
include/musicbrainz4/Artist.h (+32/-5)
include/musicbrainz4/ArtistCredit.h (+3/-3)
include/musicbrainz4/ArtistList.h (+1/-1)
include/musicbrainz4/Attribute.h (+3/-3)
include/musicbrainz4/AttributeList.h (+1/-1)
include/musicbrainz4/CDStub.h (+3/-3)
include/musicbrainz4/CDStubList.h (+1/-1)
include/musicbrainz4/Collection.h (+3/-3)
include/musicbrainz4/CollectionList.h (+1/-1)
include/musicbrainz4/Disc.h (+3/-3)
include/musicbrainz4/DiscList.h (+1/-1)
include/musicbrainz4/Entity.h (+12/-24)
include/musicbrainz4/FreeDBDisc.h (+3/-3)
include/musicbrainz4/FreeDBDiscList.h (+1/-1)
include/musicbrainz4/HTTPFetch.h (+1/-1)
include/musicbrainz4/IPI.h (+63/-0)
include/musicbrainz4/IPIList.h (+37/-0)
include/musicbrainz4/ISRC.h (+3/-3)
include/musicbrainz4/ISRCList.h (+1/-1)
include/musicbrainz4/ISWC.h (+65/-0)
include/musicbrainz4/ISWCList.h (+62/-0)
include/musicbrainz4/Label.h (+32/-5)
include/musicbrainz4/LabelInfo.h (+3/-3)
include/musicbrainz4/LabelInfoList.h (+1/-1)
include/musicbrainz4/LabelList.h (+1/-1)
include/musicbrainz4/Lifespan.h (+4/-3)
include/musicbrainz4/List.h (+3/-3)
include/musicbrainz4/ListImpl.h (+5/-11)
include/musicbrainz4/Medium.h (+3/-3)
include/musicbrainz4/MediumList.h (+3/-3)
include/musicbrainz4/Message.h (+3/-3)
include/musicbrainz4/Metadata.h (+3/-3)
include/musicbrainz4/NameCredit.h (+3/-3)
include/musicbrainz4/NameCreditList.h (+1/-1)
include/musicbrainz4/NonMBTrack.h (+3/-3)
include/musicbrainz4/NonMBTrackList.h (+1/-1)
include/musicbrainz4/PUID.h (+3/-3)
include/musicbrainz4/PUIDList.h (+1/-1)
include/musicbrainz4/Query.h (+22/-1)
include/musicbrainz4/Rating.h (+3/-3)
include/musicbrainz4/Recording.h (+17/-4)
include/musicbrainz4/RecordingList.h (+1/-1)
include/musicbrainz4/Relation.h (+3/-3)
include/musicbrainz4/RelationList.h (+3/-3)
include/musicbrainz4/RelationListList.h (+63/-0)
include/musicbrainz4/Release.h (+17/-4)
include/musicbrainz4/ReleaseGroup.h (+34/-5)
include/musicbrainz4/ReleaseGroupList.h (+1/-1)
include/musicbrainz4/ReleaseList.h (+1/-1)
include/musicbrainz4/SecondaryType.h (+65/-0)
include/musicbrainz4/SecondaryTypeList.h (+62/-0)
include/musicbrainz4/Tag.h (+3/-3)
include/musicbrainz4/TagList.h (+1/-1)
include/musicbrainz4/TextRepresentation.h (+3/-3)
include/musicbrainz4/Track.h (+4/-3)
include/musicbrainz4/TrackList.h (+1/-1)
include/musicbrainz4/UserRating.h (+3/-3)
include/musicbrainz4/UserTag.h (+3/-3)
include/musicbrainz4/UserTagList.h (+1/-1)
include/musicbrainz4/Work.h (+34/-5)
include/musicbrainz4/WorkList.h (+1/-1)
include/musicbrainz4/defines.h (+42/-0)
schema/musicbrainz_mmd-1.0.rng (+0/-585)
schema/musicbrainz_mmd-1.0rc1.rng (+0/-478)
schema/musicbrainz_mmd-1.0rc2.rng (+0/-518)
schema/musicbrainz_mmd-1.0rc3.rng (+0/-518)
schema/musicbrainz_mmd-1.0rc4.rng (+0/-539)
schema/musicbrainz_mmd-1.0rc5.rng (+0/-585)
schema/musicbrainz_mmd-1.1.rng (+0/-694)
schema/musicbrainz_mmd-1.2.rng (+0/-736)
schema/musicbrainz_mmd-1.3.rng (+0/-807)
schema/musicbrainz_mmd-1.4.rng (+0/-911)
schema/musicbrainz_mmd-2.0.rng (+0/-1537)
src/.gitignore (+7/-0)
src/Alias.cc (+58/-16)
src/Annotation.cc (+9/-16)
src/Artist.cc (+61/-41)
src/ArtistCredit.cc (+6/-14)
src/Attribute.cc (+6/-13)
src/CDStub.cc (+11/-18)
src/CMakeLists.txt (+10/-3)
src/Collection.cc (+9/-15)
src/Disc.cc (+9/-16)
src/Entity.cc (+23/-14)
src/FreeDBDisc.cc (+11/-19)
src/HTTPFetch.cc (+4/-1)
src/IPI.cc (+118/-0)
src/ISRC.cc (+7/-14)
src/ISWC.cc (+123/-0)
src/ISWCList.cc (+101/-0)
src/Label.cc (+59/-37)
src/LabelInfo.cc (+8/-15)
src/Lifespan.cc (+20/-15)
src/List.cc (+6/-13)
src/Medium.cc (+11/-18)
src/MediumList.cc (+9/-10)
src/Message.cc (+7/-14)
src/Metadata.cc (+33/-40)
src/NameCredit.cc (+8/-16)
src/NonMBTrack.cc (+9/-16)
src/PUID.cc (+7/-14)
src/Query.cc (+26/-9)
src/Rating.cc (+7/-14)
src/Recording.cc (+34/-36)
src/Relation.cc (+17/-24)
src/RelationList.cc (+9/-10)
src/RelationListList.cc (+148/-0)
src/Release.cc (+37/-38)
src/ReleaseGroup.cc (+68/-36)
src/SecondaryType.cc (+124/-0)
src/SecondaryTypeList.cc (+101/-0)
src/Tag.cc (+8/-15)
src/TextRepresentation.cc (+8/-15)
src/Track.cc (+25/-18)
src/UserRating.cc (+6/-13)
src/UserTag.cc (+7/-14)
src/Work.cc (+70/-39)
src/c-int-medium-defines.inc (+2/-2)
src/c-int-medium-source.inc (+2/-2)
src/c-int-query-defines.inc (+2/-2)
src/c-int-query-source.inc (+2/-2)
src/c-int-release-defines.inc (+2/-2)
src/c-int-release-source.inc (+2/-2)
src/c-int-source-funcs.inc (+12/-3)
src/cinterface.xml (+38/-10)
src/make-c-interface.cc (+125/-4)
test-data/README (+0/-13)
test-data/invalid/artist/basic_1.xml (+0/-12)
test-data/invalid/artist/basic_2.xml (+0/-12)
test-data/invalid/artist/empty_2.xml (+0/-3)
test-data/invalid/artist/empty_3.xml (+0/-7)
test-data/invalid/artist/ratings_1.xml (+0/-6)
test-data/invalid/artist/ratings_2.xml (+0/-6)
test-data/invalid/artist/search_result_1.xml (+0/-11)
test-data/invalid/artist/tags_1.xml (+0/-6)
test-data/valid/artist/Tchaikovsky-1.xml (+0/-90)
test-data/valid/artist/Tchaikovsky-2.xml (+0/-18)
test-data/valid/artist/Tori_Amos_1.xml (+0/-8)
test-data/valid/artist/Tori_Amos_2.xml (+0/-67)
test-data/valid/artist/Tori_Amos_3.xml (+0/-25)
test-data/valid/artist/Tori_Amos_4.xml (+0/-14)
test-data/valid/artist/Tori_Amos_5.xml (+0/-13)
test-data/valid/artist/empty_1.xml (+0/-7)
test-data/valid/artist/empty_2.xml (+0/-11)
test-data/valid/artist/search_result_1.xml (+0/-19)
test-data/valid/label/Atlantic_Records_1.xml (+0/-9)
test-data/valid/label/Atlantic_Records_2.xml (+0/-14)
test-data/valid/label/Atlantic_Records_3.xml (+0/-17)
test-data/valid/label/search_result_1.xml (+0/-14)
test-data/valid/release-group/The_Cure_1.xml (+0/-36)
test-data/valid/release-group/search_result_1.xml (+0/-23)
test-data/valid/release/Highway_61_Revisited_1.xml (+0/-68)
test-data/valid/release/Highway_61_Revisited_2.xml (+0/-18)
test-data/valid/release/Little_Earthquakes_1.xml (+0/-24)
test-data/valid/release/Little_Earthquakes_2.xml (+0/-73)
test-data/valid/release/Mission_Impossible_2.xml (+0/-155)
test-data/valid/release/Under_the_Pink_1.xml (+0/-16)
test-data/valid/release/Under_the_Pink_2.xml (+0/-17)
test-data/valid/release/Under_the_Pink_3.xml (+0/-16)
test-data/valid/release/search_result_1.xml (+0/-29)
test-data/valid/track/Silent_All_These_Years_1.xml (+0/-7)
test-data/valid/track/Silent_All_These_Years_2.xml (+0/-21)
test-data/valid/track/Silent_All_These_Years_3.xml (+0/-16)
test-data/valid/track/Silent_All_These_Years_4.xml (+0/-33)
test-data/valid/track/Silent_All_These_Years_5.xml (+0/-20)
test-data/valid/track/Silent_All_These_Years_6.xml (+0/-16)
test-data/valid/track/search_result_1.xml (+0/-45)
test-data/valid/user/User_1.xml (+0/-15)
tests/.gitignore (+5/-0)
tests/CMakeLists.txt (+10/-2)
tests/ctest.c (+190/-5)
tests/mbtest.cc (+342/-121)
valgrind.supp (+18/-2)
Changed in libmusicbrainz (Ubuntu): | |
status: | Confirmed → In Progress |
assignee: | nobody → Logan Rosen (logan) |
description: | updated |
tags: |
added: verification-done removed: verification-needed |
Status changed to 'Confirmed' because the bug affects multiple users.