Report forwarded
to debian-bugs-dist@lists.debian.org, Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>: Bug#680915; Package kid3.
(Mon, 09 Jul 2012 07:57:09 GMT) (full text, mbox, link).
Acknowledgement sent
to Francois Gouget <fgouget@free.fr>:
New Bug report received and forwarded. Copy sent to Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>.
(Mon, 09 Jul 2012 07:57:10 GMT) (full text, mbox, link).
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: kid3: Pipes cause tag corruption
Date: Mon, 09 Jul 2012 09:53:40 +0200
Package: kid3
Version: 2.1-2
Severity: normal
Dear Maintainer,
This typically happens when the 'Import from MusicBrainz Release...' feature inserts information about the interpret in multi-artist albums. When it does so it results in a tag of the form:
Tag Name: Arranger
Tag Value: Vocal|Artist Name
The problem is that if one saves and reloads the album in kid3, then everything following the '|' character in the tag value is garbage. I'm not sure if this will manage to go through in an email but this is a typical result:
Tag value: Vocal|䘀爀愀渀挀攀 䜀愀氀氀
Note that this artist name is actually supposed to be plain ascii (no chinese/japanese characters).
Changing the value to use a colon instead of the pipe avoids the issue.
Adding a pipe character in another tag does not cause this sort of corruption. Instead the pipe character is replaced with a space.
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages kid3 depends on:
ii kde-runtime 4:4.8.4-1
ii libavcodec53 7:0.10.3-dmo1
ii libavformat53 7:0.10.3-dmo1
ii libavutil51 7:0.11.1-dmo2
ii libc6 2.13-33
ii libchromaprint0 0.6-2
ii libflac++6 1.2.1-6
ii libflac8 1.2.1-6
ii libgcc1 1:4.7.1-2
ii libid3-3.8.3c2a 3.8.3-15
ii libkdecore5 4:4.8.3-2
ii libkdeui5 4:4.8.3-2
ii libkio5 4:4.8.3-2
ii libogg0 1.3.0-4
ii libphonon4 4:4.6.0.0-2
ii libqt4-dbus 4:4.8.2-1
ii libqt4-network 4:4.8.2-1
ii libqt4-svg 4:4.8.2-1
ii libqt4-xml 4:4.8.2-1
ii libqtcore4 4:4.8.2-1
ii libqtgui4 4:4.8.2-1
ii libstdc++6 4.7.1-2
ii libtag1c2a 1.7.2-1
ii libvorbis0a 1.3.2-1.3
ii libvorbisfile3 1.3.2-1.3
ii phonon 4:4.6.0.0-2
kid3 recommends no packages.
kid3 suggests no packages.
-- no debconf information
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>: Bug#680915; Package kid3.
(Sat, 25 Aug 2012 15:27:10 GMT) (full text, mbox, link).
Acknowledgement sent
to Urs Fleisch <urs.fleisch@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>.
(Sat, 25 Aug 2012 15:27:10 GMT) (full text, mbox, link).
This is a bug in id3lib. As can be seen in the Kid3 source code:
mp3file.cpp:465
// This will not work with buggy id3lib. A BOM 0xfffe is written before
// the first string, but not before the subsequent strings. Prepending a
// BOM or changing the byte order does not help when id3lib rewrites
// this field when another frame is changed. So you cannot use
// string lists with Unicode encoding.
Kid3 uses the pipe character to separate strings in string lists. The IPLS frame contains a string list with alternating involvement, involvee strings, see http://www.id3.org/id3v2.3.0#sec4.4. So in this example, "Vocal|Artist Name" is a string list with involvement "Vocal" and involvee "Artist Name" and more could follow. Unfortunately, id3lib does not correctly encode string lists when UTF16 is used as encoding. You have the following possible workarounds:
- When using string lists, do not use UTF16 encoding. You can set "ISO-8859-1" as text encoding for ID3v2 in the Kid3 settings. Kid3 will automatically use UTF16 when a field contains non-ASCII characters. This will let you correctly encode those involved people lists if they contain only ASCII characters.
- You can use ID3v2.4.0, where these problems do not exist. However, not all devices support ID3v2.4.0.
For the Debian maintainers: Please reassign this bug to libid3-3.8.3c2a. Unfortunately, id3lib is not actively maintained, but I will try to fix the bug there and send a patch for id3lib.
Regards,
Urs
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>: Bug#680915; Package kid3.
(Sun, 26 Aug 2012 18:36:05 GMT) (full text, mbox, link).
Acknowledgement sent
to Urs Fleisch <urs.fleisch@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>.
(Sun, 26 Aug 2012 18:36:05 GMT) (full text, mbox, link).
> For the Debian maintainers: Please reassign this bug to libid3-3.8.3c2a.
> Unfortunately, id3lib is not actively maintained, but I will try to fix
> the bug there and send a patch for id3lib.
Here is a patch for id3lib, it has to be applied after
debian/patches/30-fix-utf16.patch because it modifies the same file.
It just inserts a BOM before each string of a string list, so that
a valid string list is written.
---
diff -ru id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp
--- id3lib-3.8.3.orig/src/io_helpers.cpp 2012-08-26 19:52:21.523825799 +0200
+++ id3lib-3.8.3/src/io_helpers.cpp 2012-08-26 19:53:02.060028394 +0200
@@ -373,10 +373,17 @@
//}
// Right code
unsigned char *pdata = (unsigned char *) data.c_str();
+ unicode_t lastCh = BOM;
for (size_t i = 0; i < size; i += 2)
{
unicode_t ch = (pdata[i] << 8) | pdata[i+1];
+ if (lastCh == 0 && ch != BOM)
+ {
+ // Last character was NULL, so start next string with BOM.
+ writer.writeChars((const unsigned char*) &BOM, 2);
+ }
writer.writeChars((const unsigned char*) &ch, 2);
+ lastCh = ch;
}
// End patch
}
---
Regards,
Urs
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>: Bug#680915; Package kid3.
(Mon, 27 Aug 2012 17:18:06 GMT) (full text, mbox, link).
Acknowledgement sent
to pmatthaei@debian.org:
Extra info received and forwarded to list. Copy sent to Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>.
(Mon, 27 Aug 2012 17:18:06 GMT) (full text, mbox, link).
reassign #680916 libid3-3.8.3c2a
thanks
Much thanks for taking care of it Urs! So I will reassign it :)
Am 26.08.2012 20:33, schrieb Urs Fleisch:
>> For the Debian maintainers: Please reassign this bug to libid3-3.8.3c2a.
>> Unfortunately, id3lib is not actively maintained, but I will try to fix
>> the bug there and send a patch for id3lib.
>
> Here is a patch for id3lib, it has to be applied after
> debian/patches/30-fix-utf16.patch because it modifies the same file.
> It just inserts a BOM before each string of a string list, so that
> a valid string list is written.
>
> ---
> diff -ru id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp
> --- id3lib-3.8.3.orig/src/io_helpers.cpp 2012-08-26 19:52:21.523825799 +0200
> +++ id3lib-3.8.3/src/io_helpers.cpp 2012-08-26 19:53:02.060028394 +0200
> @@ -373,10 +373,17 @@
> //}
> // Right code
> unsigned char *pdata = (unsigned char *) data.c_str();
> + unicode_t lastCh = BOM;
> for (size_t i = 0; i < size; i += 2)
> {
> unicode_t ch = (pdata[i] << 8) | pdata[i+1];
> + if (lastCh == 0 && ch != BOM)
> + {
> + // Last character was NULL, so start next string with BOM.
> + writer.writeChars((const unsigned char*) &BOM, 2);
> + }
> writer.writeChars((const unsigned char*) &ch, 2);
> + lastCh = ch;
> }
> // End patch
> }
>
> ---
>
> Regards,
> Urs
--
/*
Mit freundlichem Gruß / With kind regards,
Patrick Matthäi
GNU/Linux Debian Developer
Blog: http://www.linux-dev.org/
E-Mail: pmatthaei@debian.org
patrick@linux-dev.org
*/
Severity set to 'minor' from 'normal'
Request was from Patrick Matthäi <pmatthaei@debian.org>
to control@bugs.debian.org.
(Tue, 25 Sep 2012 07:42:07 GMT) (full text, mbox, link).
Added tag(s) upstream.
Request was from Patrick Matthäi <pmatthaei@debian.org>
to control@bugs.debian.org.
(Tue, 25 Sep 2012 07:42:08 GMT) (full text, mbox, link).
Bug reassigned from package 'kid3' to 'libid3-3.8.3c2a'.
Request was from Patrick Matthäi <pmatthaei@debian.org>
to control@bugs.debian.org.
(Mon, 12 Nov 2012 12:12:03 GMT) (full text, mbox, link).
No longer marked as found in versions kid3/2.1-2.
Request was from Patrick Matthäi <pmatthaei@debian.org>
to control@bugs.debian.org.
(Mon, 12 Nov 2012 12:12:03 GMT) (full text, mbox, link).
Marked as found in versions id3lib3.8.3/3.8.3-15.
Request was from Patrick Matthäi <pmatthaei@debian.org>
to control@bugs.debian.org.
(Mon, 12 Nov 2012 12:12:04 GMT) (full text, mbox, link).
Added tag(s) pending.
Request was from Stefan Ott <stefan@ott.net>
to control@bugs.debian.org.
(Sat, 18 Oct 2014 01:57:05 GMT) (full text, mbox, link).
Reply sent
to Stefan Ott <stefan@ott.net>:
You have taken responsibility.
(Tue, 28 Oct 2014 22:21:15 GMT) (full text, mbox, link).
Notification sent
to Francois Gouget <fgouget@free.fr>:
Bug acknowledged by developer.
(Tue, 28 Oct 2014 22:21:15 GMT) (full text, mbox, link).
Subject: Bug#680915: fixed in id3lib3.8.3 3.8.3-16
Date: Tue, 28 Oct 2014 22:18:56 +0000
Source: id3lib3.8.3
Source-Version: 3.8.3-16
We believe that the bug you reported is fixed in the latest version of
id3lib3.8.3, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 680915@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Stefan Ott <stefan@ott.net> (supplier of updated id3lib3.8.3 package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Mon, 20 Oct 2014 03:08:52 +0200
Source: id3lib3.8.3
Binary: libid3-3.8.3-dev libid3-doc libid3-tools libid3-3.8.3c2a
Architecture: source amd64 all
Version: 3.8.3-16
Distribution: unstable
Urgency: low
Maintainer: Stefan Ott <stefan@ott.net>
Changed-By: Stefan Ott <stefan@ott.net>
Description:
libid3-3.8.3-dev - ID3 Tag Library: Development Libraries and Header Files
libid3-3.8.3c2a - library for manipulating ID3v1 and ID3v2 tags
libid3-doc - ID3 Tag Library: Documentation
libid3-tools - ID3 Tag Library: Utilities
Closes: 669875680915723185
Changes:
id3lib3.8.3 (3.8.3-16) unstable; urgency=low
.
* debian/patches:
- Added 31-fix-utf16-stringlists.patch closes: #680915
- Fixed typos in 20-create-manpages.patch closes: #669875
* Added multiarch support closes: #723185
* debian/control:
- Removed DM-Upload-Allowed field
- Updated Standards-Version to 3.9.6
- Updated Vcs- fields to use canonical URIs
* Removed reference to remote icons from the HTML documentation
* Added lintian override for a false-positive spelling error
* debian/copyright: Converted to machine-readable format
Checksums-Sha1:
6ac6647091cdde460eca0a42a141609e209b57c2 2141 id3lib3.8.3_3.8.3-16.dsc
1427d933377ff755f5c146e2508faef1abe75920 12772 id3lib3.8.3_3.8.3-16.debian.tar.xz
c72788e01df7610b46ea9aff4cdeb0d8be49a7e4 199918 libid3-3.8.3-dev_3.8.3-16_amd64.deb
18f8c43b4e1a38f18053ed8f71b3d85aa24a7aa3 416980 libid3-doc_3.8.3-16_all.deb
63ce16c0a1e45fbfb0b210e0337ab5ee358b6033 100290 libid3-tools_3.8.3-16_amd64.deb
6ca19981656cbf49c92b255f6e1c4b9153eae465 158198 libid3-3.8.3c2a_3.8.3-16_amd64.deb
Checksums-Sha256:
9e79e4db9371117f9198583358d9c21a8c115d0364691fab5bd9ebfb84afe113 2141 id3lib3.8.3_3.8.3-16.dsc
74efdd351ef0977fe516c4bda3d5cec16308610505ebfd680d045c53260ef661 12772 id3lib3.8.3_3.8.3-16.debian.tar.xz
1b4014ade616128c01b8d3c1ae5c6abe923bdda6f222e57947a8b6c85cfcf90b 199918 libid3-3.8.3-dev_3.8.3-16_amd64.deb
958c97bf05e235d84dddfb60502c2a037eae11374e1907291919e52bf5c654ad 416980 libid3-doc_3.8.3-16_all.deb
235452d08996fbbf5681e79a4aa2c89f9218225a67317a4ad8e275ba27a6abe8 100290 libid3-tools_3.8.3-16_amd64.deb
f7977c6b90470cb23270556e1d6a3ae87bf9b160e386b0dcaf7dda8694c018c1 158198 libid3-3.8.3c2a_3.8.3-16_amd64.deb
Files:
87f65fef0c18d839e13e3fd20014a177 2141 libs optional id3lib3.8.3_3.8.3-16.dsc
6c873480fbbcf036d7ee6527e8d5302b 12772 libs optional id3lib3.8.3_3.8.3-16.debian.tar.xz
2c2d48771ff5bcebee941f4cf7d9883d 199918 libdevel optional libid3-3.8.3-dev_3.8.3-16_amd64.deb
a0317505cacbde3afb0f59df5752d99c 416980 doc optional libid3-doc_3.8.3-16_all.deb
53fb17d7030b8788f8871d41e3458285 100290 sound optional libid3-tools_3.8.3-16_amd64.deb
976ababc6a4b88d140c53494bd78f806 158198 libs optional libid3-3.8.3c2a_3.8.3-16_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAEBAgAGBQJUUBOdAAoJEMOOgWCheEH+VxQP/iGK2FZ/n4elN4bQiNqdYfZy
bP1Z6bz/DoEMRbIEy4Je0sXdzVW9nHvr0s7ekCsMDsO48McrPPlxolMCkBWpT2J2
EAA1BwRyQiFumKUqHxuS/Xrk4ST+Igqu/TrAbdgL3by7W2xI/y5og9RC33YWZSQb
rsE+2kgVTH2W6hB5SaagywF08OOY2MhrSUgrdkPd4tQHqwLGTOKk1IKsjNo9ay+2
CRQWUd0Pcj56dMgOU1fswDulWppc6LgM714NVQEqdxcke93iHmpttG6UQiuc0qZf
h6DsM8nMVy5+SORdr5pikU+8X9vwMfAkZPp774kmAFMOHMl9KOpg6QN4mztnavrW
d450hSwBgsoT4IbknPWB/pyzcIB2g/eJvs4OyMvfyC/THnk7DgpLpcjzCNyADB55
+QA5EPQ2NYWu4rN0GqGp7PzPqgjJeh+dUcZJBSTo4Oo6bdBAKjWxORm6nKQ5guVI
CGWHamCbAZHyJDV1YpQnx3b3lu+1UvypUFHjdVdEujTJrAGQ801J9J1WCp0kle8z
Zd17yemq0D4fC5euVJyEa9tUp1hy7tasFCFM8BuintMwZUTiNV9D3T/C79qiAv/G
VMbMqA80Gh50lJsUFFnC0rOAG/ATowa7NQuvm31LkGQmbjPUgMcQqw0XTn3osm2Z
GhtzeVnW1rCih08Z4TGh
=Rhoe
-----END PGP SIGNATURE-----
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Mon, 25 May 2015 07:35:51 GMT) (full text, mbox, link).
Debbugs is free software and licensed under the terms of the GNU General
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.