Page MenuHomePhabricator

Update librsvg to ≥2.42.3 (2.44.10)
Open, Stalled, MediumPublic

Assigned To
None
Authored By
Ebrahim
Apr 29 2018, 6:27 PM
Referenced Files
F31692374: image.png
Mar 19 2020, 4:43 PM
F31692371: image.png
Mar 19 2020, 4:43 PM
F17411508: out.png
Apr 29 2018, 6:27 PM
F17411512: out2.png
Apr 29 2018, 6:27 PM
F17411468: 001-grinning-face.svg
Apr 29 2018, 6:27 PM
Tokens
"Burninate" token, awarded by Volker_E."Burninate" token, awarded by Liuxinyu970226."Burninate" token, awarded by JoKalliauer.

Description

Steps to reproduce:

  1. Download this and go to its path with terminal
  2. ssh tools-dev.wmflabs.org rsvg-convert <001-grinning-face.svg >out.png
  3. xdg-open out.png (or open out.png on macOS)

Actual:
It is broken with Wikimedia's librsvg, rsvg-convert version 2.40.2 (ssh tools-dev.wmflabs.org rsvg-convert -v)

out.png (48×48 px, 641 B)

Expected:

My local librsvg, rsvg-convert version 2.42.2, the result of rsvg-convert <001-grinning-face.svg >out.png

out2.png (48×48 px, 2 KB)

Update: After looking into it, it looks like backporting ≥2.42.3 in Debian stretch brings a long list of dependencies. This task is blocked until we upgrade Thumbor to Buster

Related Objects

StatusSubtypeAssignedTask
StalledNone
StalledNone
OpenBUG REPORTNone
OpenNone
OpenNone
OpenNone
StalledNone
StalledNone
StalledNone
StalledNone
StalledNone
OpenNone
DuplicateBUG REPORTNone
StalledBUG REPORTNone
StalledBUG REPORTNone
StalledNone
StalledNone
DuplicateNone
StalledNone
StalledNone
OpenNone
StalledNone
DuplicateNone
OpenNone
DuplicateNone
StalledNone
StalledNone
DuplicateBUG REPORTNone
StalledNone
OpenBUG REPORTNone
StalledNone
OpenBUG REPORTNone
StalledNone
StalledNone
StalledNone
StalledNone
StalledNone
StalledBUG REPORTNone
InvalidNone
StalledBUG REPORTNone
StalledBUG REPORTNone
StalledNone
ResolvedNone
OpenNone
InvalidNone
Resolvedfgiunchedi
Resolved Gilles
Resolvedfgiunchedi
Resolvedjijiki
ResolvedNone
Resolvedjijiki
OpenNone
DuplicateNone

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Most of the icons in the OOUI library, which are just simple black and white paths compressed by SVGO, won't convert correctly on the live servers:

image.png (507×704 px, 32 KB)

They work fine for me locally with 2.44.14:

image.png (495×700 px, 31 KB)

As SVGO is used in more and more tools and workflows this is only going to get worse.

AFAICT this entire task stack is the wrong way around? We can't do this upgrade until T216815 is done, and all of the "sub-tasks" are mostly different aspects of duplicates of this one, and so should be parents/blocked by this one, right?

@Esanders : Your bug is imho T217990 and can be fixed using https://tools.wmflabs.org/svgworkaroundbot/ (activate "run svgcleaner"). It is related to missing spaces between arc-to-flags. That is a common SVGO problem, you should try https://github.com/scour-project/scour and https://github.com/RazrFalcon/svgcleaner instead, which are imho less buggy and sometimes even offer woraounds for librsvg-bugs. (so they often repair svgs; and hardly break them)

That is a common SVGO problem

Is SVGO actually violating the spec, or is this just a bug in librsvg?

That is a common SVGO problem

Is SVGO actually violating the spec, or is this just a bug in librsvg?

SVGO removes spaces between flags, which are not necesarry since flags can only be 0 or 1, so it is imho a librsvg-bug, see https://github.com/svg/svgo/issues/822 for details. It is similar as removing spaces before dots (.) or minuses (-).

Inkscape, Chrome, Firefox, resvg can handle them imho without problems, but librsvg not. Also most software understand them, hardly anyone (except svgo) removes those spaces, also removing is imho allowed.

But I do not know the W3C-SVG-1.1-DTD-Specifications, so I might be wrong.

Thanks, sounds like this isn't an SVGO problem, but a librsvg problem. Those fixes are workarounds, but the correct fix here is to upgrade librsvg.

AFAICT this entire task stack is the wrong way around? We can't do this upgrade until T216815 is done, and all of the "sub-tasks" are mostly different aspects of duplicates of this one, and so should be parents/blocked by this one, right?

Agreed, fixed (I think).

toorich changed the task status from Stalled to Open.Jun 24 2020, 9:58 AM
toorich added a subscriber: toorich.

Because of a lot of thumbnail error, I think now can re-open this task.

This comment was removed by toorich.
Aklapper changed the task status from Open to Stalled.Jun 24 2020, 10:34 AM

@toorich: This has nothing to do with "lots of thumbnail errors". See previous comments that this is stalled on upgrading Debian versions on Wikimedia servers.

AntiCompositeNumber renamed this task from Update librsvg to ≥2.42.3 to Update librsvg to ≥2.42.3 (2.44.10).Oct 14 2020, 5:26 PM

T154237: SVG image wikisyntax can't use "lang=zh-hant" has indicated that this update may introduce a regression in the handling of some languages in <switch>-translated SVGs.

Removing Packaging and Infrastructure-Foundations, 2.44.10 is included in Buster, which is the version Thumbor is currently being migrated to in Kubernetes.