@bep bep released this Feb 15, 2018 · 794 commits to master since this release

Assets 24

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, sligthly, 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.


Automated with GoReleaser
Built with go version go1.9.4 linux/amd64