convert: gsfonts are missing after 8:6.9.10.23+dfsg-2.1ubuntu11.6

Bug #2012684 reported by Greg Whiteley
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
imagemagick (Ubuntu)
New
Undecided
Unassigned

Bug Description

Background
----------

Our builds have started failing generating images with imagemagick as of around 2023-03-22 TZ +1100

All issues seen on 20.04 - definitely failing with version 8:6.9.10.23+dfsg-2.1ubuntu11.6

Package version details below

Issue
-----

This generation command was working in clean-room 20.04 builds up to this point in time

convert -background black -fill white -size 50x50 -gravity Center -font "fixed" -pointsize 48 label:01 text_01.png

Now it fails with

$ convert -background black -fill white -size 50x50 -gravity Center -font "fixed" -pointsize 48 label:01 text_01.png
convert-im6.q16: unable to read font `fixed' @ error/annotate.c/RenderFreetype/1338.
convert-im6.q16: no images defined `text_01.png' @ error/convert.c/ConvertImageCommand/3258.

Investigation
-------------

Issue occurs on version "8:6.9.10.23+dfsg-2.1ubuntu11.6"

apt is refusing to install the ".4" (probably last known good) or ".5" versions - saying they are unavailable. I've reverted back to version "8:6.9.10.23+dfsg-2.1ubuntu11" for the comparison.

I can see the difference with "convert -list font"

In 1ubuntu11 (works) I see "fixed" in the list

  Font: fixed
    family: Helvetica
    style: Normal
    stretch: Normal
    weight: 400
    glyphs: /usr/share/fonts/type1/gsfonts/n019003l.pfb

in 1ubuntu11.6 it is not present.

Using the command "convert -list font" under strace I see that ghostscript fonts are no longer being parsed. The outputs are identical until:

In 1ubuntu11 (works) I see:

...
916982 stat("/etc/ImageMagick-6/type-ghostscript.xml", {st_mode=S_IFREG|0644, st_size=9680, ...}) = 0
916982 openat(AT_FDCWD, "/etc/ImageMagick-6/type-ghostscript.xml", O_RDONLY) = 3
916982 lseek(3, 0, SEEK_END) = 9680
916982 mmap(NULL, 9680, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd089fa0000
916982 munmap(0x7fd089fa0000, 9680) = 0
916982 close(3) = 0
916982 stat("/usr/share/fonts/type1/gsfonts/a010013l.afm", {st_mode=S_IFREG|0644, st_size=43100, ...}) = 0
916982 access("/usr/share/fonts/type1/gsfonts/a010013l.afm", F_OK) = 0
916982 stat("/usr/share/fonts/type1/gsfonts/a010013l.pfb", {st_mode=S_IFREG|0644, st_size=63673, ...}) = 0
916982 access("/usr/share/fonts/type1/gsfonts/a010013l.pfb", F_OK) = 0
....
916982 stat("/usr/share/fonts/type1/gsfonts/s050000l.pfb", {st_mode=S_IFREG|0644, st_size=33709, ...}) = 0
916982 access("/usr/share/fonts/type1/gsfonts/s050000l.pfb", F_OK) = 0
916982 access("/etc/fonts/fonts.conf", R_OK) = 0
...

In 1ubuntu11.6 I see at the same point - then the output continuing the same as 1ubuntu11 after:

...
917636 openat(AT_FDCWD, "/usr/share/ImageMagick-6/locale.xml", O_RDONLY) = 3
917636 lseek(3, 0, SEEK_END) = 2461
917636 mmap(NULL, 2461, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f040d877000
917636 munmap(0x7f040d877000, 2461) = 0
917636 close(3) = 0
917636 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/ImageMagick-6.9.10//config-Q16/locale.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
917636 openat(AT_FDCWD, "/etc/ImageMagick-6/locale.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
917636 openat(AT_FDCWD, "/usr/share/doc/imagemagick-6-common/htmllocale.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
917636 openat(AT_FDCWD, "/home/user/.config/ImageMagick/locale.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
917636 openat(AT_FDCWD, "/home/user/.magick/locale.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
917636 openat(AT_FDCWD, "/usr/share/ImageMagick-6/english.xml", O_RDONLY) = 3
917636 lseek(3, 0, SEEK_END) = 49236
917636 mmap(NULL, 49236, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f040d86b000
917636 munmap(0x7f040d86b000, 49236) = 0
917636 close(3) = 0
917636 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/ImageMagick-6.9.10//config-Q16/english.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
917636 openat(AT_FDCWD, "/etc/ImageMagick-6/english.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
917636 openat(AT_FDCWD, "/usr/share/doc/imagemagick-6-common/htmlenglish.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
917636 openat(AT_FDCWD, "/home/user/.config/ImageMagick/english.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
917636 openat(AT_FDCWD, "/home/user/.magick/english.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
917636 brk(0x5612eb166000) = 0x5612eb166000
917636 access("/etc/fonts/fonts.conf", R_OK) = 0
...

Has someone changed the --configure line?

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: imagemagick-6.q16 8:6.9.10.23+dfsg-2.1ubuntu11.6
ProcVersionSignature: Ubuntu 5.15.0-67.74~20.04.1-generic 5.15.85
Uname: Linux 5.15.0-67-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.20.11-0ubuntu27.25
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Fri Mar 24 11:19:19 2023
InstallationDate: Installed on 2021-04-12 (710 days ago)
InstallationMedia: Ubuntu 20.04.2.0 LTS "Focal Fossa" - Release amd64 (20210209.1)
SourcePackage: imagemagick
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Greg Whiteley (greg-whiteley) wrote :
Revision history for this message
David Zuelke (dzuelke) wrote :

This is because `/etc/` is now prohibited in the default policy file. I don't know why that change was made as part of https://bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/2004580, it's definitely wrong.

Revision history for this message
David Zuelke (dzuelke) wrote :

Corrected patches that fix this regression are attached to https://bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/2004580

Revision history for this message
David Zuelke (dzuelke) wrote :

This affects jammy and kinetic, as well.

Revision history for this message
Greg Whiteley (greg-whiteley) wrote :

I only referred to focal because I understand that gsfonts was removed/reworked upstream in debian and doesn't exist in jammy (at least not in the same form). I didn't want to assume a problem larger than the one I had seen.

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.