hugo/docs/content/en/news/0.36.1-relnotes/index.md

1.8 KiB


date: 2018-02-15 title: "Hugo 0.36.1: One Bugfix" description: "Fixes a multi-thread image processing issue." categories: ["Releases"] images:

  • images/blog/hugo-bug-poster.png

This release fixes a multi-thread issue when reprocessing and reusing images across pages. When doing something like this with the same image from a partial used in, say, both the home page and the single page:
{{ with $img }}
{{ $big := .Fill "1024x512 top" }}
{{ $small := $big.Resize "512x" }}
{{ end }}

There would be timing issues making Hugo in some cases trying to process the same image twice at the same time.

You would experience errors of type:

png: invalid format: not enough pixel data

This commit fixes that by adding a mutex per image. This should also improve the performance, slightly, as it avoids duplicate work.

The current workaround before this fix is to always operate on the original:

{{ with $img }}
{{ $big := .Fill "1024x512 top" }}
{{ $small := .Fill "512x256 top" }}
{{ end }}

This error was rare (no reports on GitHub or the discussion forum), but very hard to debug for the end user.