Bug 1893457 - Easytag leaves ogg files malformed
Summary: Easytag leaves ogg files malformed
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: easytag
Version: 36
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: David King
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-10-31 18:33 UTC by iolo
Modified: 2023-02-27 19:02 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug


Attachments (Terms of Use)
MPV error output (324 bytes, text/plain)
2020-10-31 18:33 UTC, iolo
no flags Details


Links
System ID Private Priority Status Summary Last Updated
GNOME Gitlab GNOME easytag issues 8 0 None None None 2020-11-23 15:08:44 UTC

Description iolo 2020-10-31 18:33:21 UTC
Created attachment 1725521 [details]
MPV error output

Description of problem:
After editing ogg files with easytag, the files are malformed, and will no longer play in MPV.

Version-Release number of selected component (if applicable):
easytag-2.4.3-11.fc33.x86_64

How reproducible:
always

Steps to Reproduce:
1. Try to play an ogg file in a player; I used MPV and it worked
2. Edit the tags of that ogg file with Easytag
3. Try to play the file again after saving it in Easytag

Actual results:
The file fails to play.

Expected results:
The file plays normally.

Additional info:
MPV prints some error messages when trying to play the file post-Easytag. They're in the attachment mpv-ogg.txt.

This seems to be a somewhat common issue and has been for some years, as suggested by https://gitlab.gnome.org/GNOME/easytag/-/issues/8 and the fact that OpenSUSE specifically patches their distribution of Easytag to fix the issue: https://build.opensuse.org/request/show/596947

Heaven only knows why the Gnome people have decided not to patch the issue upstream, but in the meantime it might be best if a downstream patch is applied in Fedora, like OpenSUSE have done.

Comment 1 iolo 2020-11-11 18:20:56 UTC
Any thoughts on whether something similar as what OpenSUSE does could be done in Fedora?

Comment 2 iolo 2020-11-19 19:17:02 UTC
Hello? Is anybody still maintaining this package?

Comment 3 David King 2020-11-23 15:17:54 UTC
Currently waiting on the upstream merge request to be approved.

Comment 4 Van de Bugger 2020-12-09 14:10:53 UTC
> Currently waiting on the upstream merge request to be approved.

It can take some time (the issue is known for 2 years for now). Meanwhile it's better to apply the patch or disable Ogg support, because currently EasyTag is not Ogg tagger but Ogg destroyer.

Comment 5 iolo 2020-12-12 20:07:44 UTC
The way I stumbled upon this bug was that I, being unaware of this long-standing issue with easytag, used it to tag some ogg files for which I had no backups, thus destroying them. I would hate for that to happen to someone else, and thus I think it would be good to apply a patch downstream, or disable ogg support altogether, while waiting for upstream to fix the issue on their end. That is, unless there is a Fedora policy forbidding that.

The way things are going, it looks like easytag may be almost unmaintained, with the bug having been open for several years, and the merge request [1] sitting untouched for several months, with who knows how many more months until they manage to actually merge the fix. That is a lot of time for people to accidentally destroy their ogg files.


[1] https://gitlab.gnome.org/GNOME/easytag/-/merge_requests/8

Comment 6 Lars Alexandersen 2021-01-25 03:10:42 UTC
I can confirm that this bug has existed for quite a while.

However it seems that it mostly appears after a file has been edited and saved using EasyTag at least two times. First time may succeed without noticeable problems.


Steps to reproduce:

======
Step 0

0a) Create a reference file: Use Audacity to generate a sine tone, e.g. 3 seconds of 440 Hz. Export as ogg, sine.ogg. You may want to create a read only backup copy of the file as a base line and source for further testing.

0b) Check the ogg file using ogginfo:
#ogginfo sine.ogg

output:
...
	TITLE=440 Hz sine
...

0c) Play the ogg file using ogg123
#ogg123 sine.ogg

No audible errors.

======
Step 1

1a) Edit the ogg file using EasyTAG, e.g. add an artist and date. Save the file.

1b) Check the ogg file again using ogginfo:
#ogginfo sine.ogg

output:
...
	TITLE=440 Hz sine
	ARTIST=audacity
	DATE=2017
...

1c) Play the off file using ogg123
#ogg123 sine.ogg

No audible errors.

======
Step 2

2a) Re-edit the ogg file using EasyTAG, e.g. add a track number. Save the file.

2b) Check the ogg file using ogginfo:
#ogginfo sine.ogg
output:
...
	TITLE=440 Hz sine
	ARTIST=audacity
	DATE=2017
	TRACKNUMBER=01
	TRACKTOTAL=01
Negative or zero granulepos (-335) on Vorbis stream outside of headers. This file was created by a buggy encoder
...


2c) Play the ogg file using ogg123
#ogg123 sine.ogg

Error(s) should be audible.

2d) Open file in Audacity. Changes to the sine waveform are visible upon zoom in.

Comment 7 Tim Jackson 2021-08-17 21:55:18 UTC
Still reproducible on easytag-2.4.3-12.fc34.x86_64

Comment 8 Ben Cotton 2021-11-04 13:47:17 UTC
This message is a reminder that Fedora 33 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '33'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 33 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 9 Ben Cotton 2021-11-04 14:16:43 UTC
This message is a reminder that Fedora 33 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '33'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 33 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 10 Ben Cotton 2021-11-04 15:14:23 UTC
This message is a reminder that Fedora 33 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '33'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 33 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 11 Tim Jackson 2022-01-14 22:28:40 UTC
This serious data-damaging bug has been open for far too long. Whilst it's clear that this should be fixed upstream (and upstream seems largely dead), what is standing in the way of temporarily applying the known-good patch which OpenSuSE has been carrying for over 3 years?

Here's the pull request: https://src.fedoraproject.org/rpms/easytag/pull-request/1

If none of the maintainers is willing to apply this downstream patch, I offer to do the work in Fedora if granted access to do it. (username: timj)

For the record, I took the patch from https://build.opensuse.org/package/view_file/GNOME:Apps/easytag/easytag-revert-open-handle-ogg.patch and applied it to the sources of easytag-2.4.3-12.fc34. Rebuilt cleanly and appears to solve the issue:

# with 2.4.3-12.fc34
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 sine.wav
oggenc sine.wav
[...]
oggz-validate sine.ogg
# ok
easytag .&
[edit track number in sine.ogg to "1", save]
oggz-validate sine.ogg
# ok
[edit track number in sine.ogg to "2", save]
oggz-validate sine.ogg
-00:00:00.007: serialno 1130217793: Packet out of order (previous 00:00:00.033)
-00:00:00.007: serialno 1130217793: Granulepos decreasing within track

# patched with easytag-revert-open-handle-ogg.patch -p1 -R
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 sine.wav
oggenc sine.wav
[...]
oggz-validate sine.ogg
# ok
easytag .&
[edit track number in sine.ogg to "1", save]
oggz-validate sine.ogg
# ok
[edit track number in sine.ogg to "2", save]
oggz-validate sine.ogg
#ok

After the patch, I am unable to trigger the creation of a corrupt file despite edited various tags, adding/removing cover art etc.

Comment 12 Ben Cotton 2022-05-12 14:55:22 UTC
This message is a reminder that Fedora Linux 34 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 34 on 2022-06-07.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '34'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 34 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 13 Van de Bugger 2022-05-19 00:08:36 UTC
The problem still present in easytag-2.4.3-14.fc36.x86_64.

Comment 14 Josh G 2022-09-15 19:02:05 UTC
I discovered this problem when some of my OGG files wouldn't get detected by plex on Fedora 36. At first I thought it was a problem with ffmpeg because gstreamer would still play them. Then I looked deeper to try and debug gstreamer and noticed the OGG headers had been repeated. Since I had recently ripped them with asunder I repeated the process and noticed the freshly ripped files didn't have the extra headers but only got them after I adjusted the tags using easytag.  I pulled from the repo created here a week ago: https://github.com/maazl/easytag and then updated its configure script and the makefile.am/in files so that the appdata check passed.  I also renamed some of the icon/appdata info but I wasn't 100% successful since the app icon doesn't show up but I did end up successfully making an rpm for fedora 36 where this issue no longer occurs.  I think at a minimum the opensuse patch above should be considered or at least disable the use of easytag for OGG files since its corrupting them.


Note You need to log in before you can comment on or make changes to this bug.