msgfmt produces invalid UTF-8 sequences for desktop files

Bug #1831988 reported by Mike WIlliams
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gettext (Ubuntu)
Fix Released
Undecided
Unassigned
Xenial
Confirmed
Low
Unassigned

Bug Description

VIM has recently added support for validating gnome desktop files and this is reporting errors due to invalid UTF-8 sequences produced by msgfmt.

Steps to reproduce:
1. Checkout rev 1253704 from the VIM git repo on GitHub - https://github.com/vim/vim
2. Run ./configure in the repo to set up the build environment.
2. Change to the po directory in the repo - cd src/po
3. Process and validate the gvim desktop file using the Makefile -

$ make gvim.desktop
msgfmt --desktop -d . --template gvim.desktop.in -o tmp_gvim.desktop
rm -f LINGUAS
if command -v desktop-file-validate; then desktop-file-validate tmp_gvim.desktop; fi
/usr/bin/desktop-file-validate
tmp_gvim.desktop: warning: file contains lines that are not UTF-8 encoded. There is no guarantee the validator will correctly work.
[Invalid UTF-8] tmp_gvim.desktop: error: value "\xe0\xac\xaa\xe0\xac\xbe\xe0\xac\xa0\xe0\xad\x8d\xe0\xac\xaf \xe0\xac\xab\xe0\xac\xbe\xe0\xac\x87\xe0\xac\xb2\xe0\xac\x97\xe0\xad\x81\xe0\xac\xa1\xe0\xac\xbc\xe0\xac\xbf\xe0\xac\x95\xe0\xad\x81 \xe0\xac\xb8\xe0\xac\xae\xe0\xad\x8d\xe0\xac\xaa\xe0\xac\xbe\xe0\xac\xa6\xe0\xac\xa8 \xe0\xac\x95\xe0\xac\xb0\xe0\xac\xa8\xe0\xad\x8d\xe0\xac\xa4\xe0\xad" for locale string key "Comment[or]" in group "Desktop Entry" contains invalid UTF-8 characters, locale string values should be encoded in UTF-8
Makefile:176: recipe for target 'gvim.desktop' failed
make: *** [gvim.desktop] Error 1

The template file has valid UTF-8 sequences so no errors are expected. The error is correct as the generated desktop file has a truncated 3 byte UTF-8 sequence at the end of the line as reported. The problem is msgfmt is emitting an invalid UTF-8 sequence for this one line.

This is happening on an up to date 16.04 LTS -

$ apt list gettext desktop-file-utils
Listing... Done
desktop-file-utils/xenial-updates,now 0.22-1ubuntu5.2 i386 [installed]
gettext/xenial-updates,xenial-security,now 0.19.7-2ubuntu3.1 i386 [installed]

There has been some discussion of this issue on the VIM developers mailing list - https://groups.google.com/d/msg/vim_dev/yYGCsJJPlA0/i1PNO_46AgAJ

A candidate patch for the issue from upstream for the gettext package has been identified -
https://groups.google.com/d/msg/vim_dev/yYGCsJJPlA0/6yAEzO9LAgAJ

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: gettext 0.19.7-2ubuntu3.1
ProcVersionSignature: Ubuntu 4.15.0-51.55~16.04.1-generic 4.15.18
Uname: Linux 4.15.0-51-generic i686
ApportVersion: 2.20.1-0ubuntu2.18
Architecture: i386
CurrentDesktop: Unity
Date: Fri Jun 7 10:30:31 2019
InstallationDate: Installed on 2019-02-05 (121 days ago)
InstallationMedia: Ubuntu 16.04.5 LTS "Xenial Xerus" - Release i386 (20180731)
SourcePackage: gettext
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Mike WIlliams (mrmrdubya) wrote :
Revision history for this message
Olivier Tilloy (osomon) wrote :

I can reproduce the error in a xenial VM, not in a bionic one.

Changed in gettext (Ubuntu):
status: New → Fix Released
Changed in gettext (Ubuntu Xenial):
status: New → Confirmed
importance: Undecided → Low
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.