gohugoio / hugo

The world’s fastest framework for building websites.
https://gohugo.io
Apache License 2.0
76.12k stars 7.54k forks source link

Modifying many files simultaneously causes crashes #10263

Open earthboundkid opened 2 years ago

earthboundkid commented 2 years ago

Essentially every time I check out a different branch in git or run prettier over my files, Hugo crashes. Here's the most recent crash:

``` goroutine 19169 [running]: github.com/gohugoio/hugo/hugolib.(*Site).renderPaginator(0xc0739ff440, 0xc0250dfd70, {0x63f1bd8, 0xc0168b3c20}) github.com/gohugoio/hugo/hugolib/site_render.go:193 +0x65f github.com/gohugoio/hugo/hugolib.pageRenderer(0x4c9c3c5?, 0xc0739ff440, 0xc000508fd0?, 0x4c9c346?, 0xc00c6cd170?) github.com/gohugoio/hugo/hugolib/site_render.go:143 +0x2f2 created by github.com/gohugoio/hugo/hugolib.(*Site).renderPages github.com/gohugoio/hugo/hugolib/site_render.go:74 +0x108 ```

And another:

``` panic: runtime error: index out of range [0] with length 0 goroutine 2824 [running]: github.com/gohugoio/hugo/hugolib.(*pageState).shiftToOutputFormat(0xc06661a6f0, 0x1, 0x0) github.com/gohugoio/hugo/hugolib/page.go:859 +0x3d3 github.com/gohugoio/hugo/hugolib.(*pageState).initOutputFormat(...) github.com/gohugoio/hugo/hugolib/page.go:455 github.com/gohugoio/hugo/hugolib.(*Site).preparePagesForRender.func1(0x3673e900?) github.com/gohugoio/hugo/hugolib/hugo_sites.go:853 +0x2a github.com/gohugoio/hugo/hugolib.(*pageMap).withEveryBundlePage.func1({0x402d365?, 0x20300a?}, 0x400?) github.com/gohugoio/hugo/hugolib/content_map_page.go:691 +0x2a github.com/gohugoio/hugo/hugolib.contentTrees.Walk.func1({0xc0732a1668?, 0x3673ea00?}, {0x5abc720?, 0xc0744d8c60?}) github.com/gohugoio/hugo/hugolib/content_map.go:876 +0x3b github.com/armon/go-radix.recursiveWalk(0xc0744d8cc0, 0xc00e3554c8) github.com/armon/go-radix@v1.0.0/radix.go:519 +0x45 github.com/armon/go-radix.recursiveWalk(0x66?, 0xc00e3554c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x12?, 0xc00e3554c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x0?, 0xc00e3554c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x5d48ec2?, 0xc00e3554c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.(*Tree).Walk(...) github.com/armon/go-radix@v1.0.0/radix.go:447 github.com/gohugoio/hugo/hugolib.contentTrees.Walk({0xc073c41c60?, 0x4?, 0x512d959?}, 0xc00e355508?) github.com/gohugoio/hugo/hugolib/content_map.go:874 +0x5b github.com/gohugoio/hugo/hugolib.(*pageMap).withEveryBundlePage(0xc0129445b0?, 0x0?) github.com/gohugoio/hugo/hugolib/content_map_page.go:689 +0x47 github.com/gohugoio/hugo/hugolib.(*Site).preparePagesForRender(0x5cd9ee0?, 0x0?, 0x512d08a?) github.com/gohugoio/hugo/hugolib/hugo_sites.go:852 +0x5e github.com/gohugoio/hugo/hugolib.(*HugoSites).render(0xc06d5aea80, 0xc07444e640) github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:308 +0x585 github.com/gohugoio/hugo/hugolib.(*HugoSites).Build.func4() github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:147 +0x2a runtime/trace.WithRegion({0x63f8e30?, 0xc074d180f0?}, {0x5d4e739, 0x6}, 0xc00e3558a8) runtime/trace/annotation.go:141 +0xe3 github.com/gohugoio/hugo/hugolib.(*HugoSites).Build(0xc06d5aea80, {0x0, {0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0xc074d180c0, 0x0, ...}, ...) github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:149 +0x5f9 github.com/gohugoio/hugo/commands.(*commandeer).rebuildSites(0xc0002f1590, {0xc074d11fb0?, 0x2?, 0x2?}) github.com/gohugoio/hugo/commands/hugo.go:765 +0x210 github.com/gohugoio/hugo/commands.(*commandeer).handleEvents.func4(0xc0002f1590, 0xc074d16060) github.com/gohugoio/hugo/commands/hugo.go:1157 +0x96 github.com/gohugoio/hugo/commands.(*commandeer).handleEvents(0xc0002f1590, 0xc02b2b1dd0, 0xc03baf6998, {0xc073b57c50?, 0x2, 0x2}, 0xc011f20de0?) github.com/gohugoio/hugo/commands/hugo.go:1160 +0xc5a github.com/gohugoio/hugo/commands.(*commandeer).newWatcher.func1() github.com/gohugoio/hugo/commands/hugo.go:895 +0x265 created by github.com/gohugoio/hugo/commands.(*commandeer).newWatcher github.com/gohugoio/hugo/commands/hugo.go:886 +0x3ca # status: 2 # ```

What version of Hugo are you using (hugo version)?

hugo v0.102.3+extended darwin/amd64 BuildDate=unknown

Does this issue reproduce with the latest release?

Yes.

earthboundkid commented 2 years ago

Another:

``` panic: runtime error: index out of range [0] with length 0 goroutine 2869 [running]: github.com/gohugoio/hugo/hugolib.(*pageState).shiftToOutputFormat(0xc017befc50, 0x1, 0x0) github.com/gohugoio/hugo/hugolib/page.go:859 +0x3d3 github.com/gohugoio/hugo/hugolib.(*pageState).initOutputFormat(...) github.com/gohugoio/hugo/hugolib/page.go:455 github.com/gohugoio/hugo/hugolib.(*Site).preparePagesForRender.func1(0x5135a78?) github.com/gohugoio/hugo/hugolib/hugo_sites.go:853 +0x2a github.com/gohugoio/hugo/hugolib.(*pageMap).withEveryBundlePage.func1({0xc017bef980?, 0x1?}, 0x0?) github.com/gohugoio/hugo/hugolib/content_map_page.go:691 +0x2a github.com/gohugoio/hugo/hugolib.contentTrees.Walk.func1({0xc0536cdbf0?, 0xc0041df4c8?}, {0x5abc720?, 0xc010b53fb0?}) github.com/gohugoio/hugo/hugolib/content_map.go:876 +0x3b github.com/armon/go-radix.recursiveWalk(0xc010afa030, 0xc0041df4c8) github.com/armon/go-radix@v1.0.0/radix.go:519 +0x45 github.com/armon/go-radix.recursiveWalk(0xc010b53f80?, 0xc0041df4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0xc010b527b0?, 0xc0041df4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0xc010a88300?, 0xc0041df4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x512292a?, 0xc0041df4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x512292a?, 0xc0041df4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0xc06a703540?, 0xc0041df4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0xc039fb7980?, 0xc0041df4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0xc?, 0xc0041df4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x0?, 0xc0041df4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x5d48ec2?, 0xc0041df4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.(*Tree).Walk(...) github.com/armon/go-radix@v1.0.0/radix.go:447 github.com/gohugoio/hugo/hugolib.contentTrees.Walk({0xc02a4ce700?, 0x4?, 0x512d959?}, 0xc0041df508?) github.com/gohugoio/hugo/hugolib/content_map.go:874 +0x5b github.com/gohugoio/hugo/hugolib.(*pageMap).withEveryBundlePage(0xc0314d09c0?, 0x0?) github.com/gohugoio/hugo/hugolib/content_map_page.go:689 +0x47 github.com/gohugoio/hugo/hugolib.(*Site).preparePagesForRender(0x5cd9ee0?, 0x0?, 0x512d08a?) github.com/gohugoio/hugo/hugolib/hugo_sites.go:852 +0x5e github.com/gohugoio/hugo/hugolib.(*HugoSites).render(0xc025149bc0, 0xc006ad6280) github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:308 +0x585 github.com/gohugoio/hugo/hugolib.(*HugoSites).Build.func4() github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:147 +0x2a runtime/trace.WithRegion({0x63f8e30?, 0xc0168293e0?}, {0x5d4e739, 0x6}, 0xc0041df8a8) runtime/trace/annotation.go:141 +0xe3 github.com/gohugoio/hugo/hugolib.(*HugoSites).Build(0xc025149bc0, {0x0, {0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0xc0168293b0, 0x0, ...}, ...) github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:149 +0x5f9 github.com/gohugoio/hugo/commands.(*commandeer).rebuildSites(0xc000536690, {0xc0168292f0?, 0xc02b8920c0?, 0xc024b4f9e0?}) github.com/gohugoio/hugo/commands/hugo.go:765 +0x210 github.com/gohugoio/hugo/commands.(*commandeer).handleEvents.func4(0xc000536690, 0xc019e462b8) github.com/gohugoio/hugo/commands/hugo.go:1157 +0x96 github.com/gohugoio/hugo/commands.(*commandeer).handleEvents(0xc000536690, 0xc03abb10e0, 0xc03a211880, {0xc01417f3e0?, 0x2, 0x2}, 0xffffffffffffffff?) github.com/gohugoio/hugo/commands/hugo.go:1160 +0xc5a github.com/gohugoio/hugo/commands.(*commandeer).newWatcher.func1() github.com/gohugoio/hugo/commands/hugo.go:895 +0x265 created by github.com/gohugoio/hugo/commands.(*commandeer).newWatcher github.com/gohugoio/hugo/commands/hugo.go:886 +0x3ca # status: 2 # ```
bep commented 2 years ago

So, I have experienced this myself, which is why I put the label on it. But now, trying to force the error, I'm not able to reproduce it.

One question, in your problem repo; do you commit .hugo_build.lock to Git or is it in .gitignore?

earthboundkid commented 2 years ago

It is in .gitignore.

earthboundkid commented 2 years ago

Another panic:

``` panic: runtime error: index out of range [0] with length 0 goroutine 2909 [running]: github.com/gohugoio/hugo/hugolib.(*pageState).shiftToOutputFormat(0xc01dbefb60, 0x1, 0x0) github.com/gohugoio/hugo/hugolib/page.go:859 +0x3d3 github.com/gohugoio/hugo/hugolib.(*pageState).initOutputFormat(...) github.com/gohugoio/hugo/hugolib/page.go:455 github.com/gohugoio/hugo/hugolib.(*Site).preparePagesForRender.func1(0x5135a78?) github.com/gohugoio/hugo/hugolib/hugo_sites.go:853 +0x2a github.com/gohugoio/hugo/hugolib.(*pageMap).withEveryBundlePage.func1({0xc01dd15890?, 0xc015d11f01?}, 0x0?) github.com/gohugoio/hugo/hugolib/content_map_page.go:691 +0x2a github.com/gohugoio/hugo/hugolib.contentTrees.Walk.func1({0xc019e690b0?, 0x5135a78?}, {0x5abc720?, 0xc01c951830?}) github.com/gohugoio/hugo/hugolib/content_map.go:876 +0x3b github.com/armon/go-radix.recursiveWalk(0xc01c951860, 0xc00361b4c8) github.com/armon/go-radix@v1.0.0/radix.go:519 +0x45 github.com/armon/go-radix.recursiveWalk(0xc01c951320?, 0xc00361b4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0xc01c93cff0?, 0xc00361b4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0xc01c93cf60?, 0xc00361b4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x512292a?, 0xc00361b4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x512292a?, 0xc00361b4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0xc0257fd2e0?, 0xc00361b4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0xc01c90a360?, 0xc00361b4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x12?, 0xc00361b4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x0?, 0xc00361b4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.recursiveWalk(0x5d48ec2?, 0xc00361b4c8) github.com/armon/go-radix@v1.0.0/radix.go:525 +0xb3 github.com/armon/go-radix.(*Tree).Walk(...) github.com/armon/go-radix@v1.0.0/radix.go:447 github.com/gohugoio/hugo/hugolib.contentTrees.Walk({0xc024740460?, 0x4?, 0x512d959?}, 0xc00361b508?) github.com/gohugoio/hugo/hugolib/content_map.go:874 +0x5b github.com/gohugoio/hugo/hugolib.(*pageMap).withEveryBundlePage(0xc018484750?, 0x0?) github.com/gohugoio/hugo/hugolib/content_map_page.go:689 +0x47 github.com/gohugoio/hugo/hugolib.(*Site).preparePagesForRender(0x5cd9ee0?, 0x0?, 0x512d08a?) github.com/gohugoio/hugo/hugolib/hugo_sites.go:852 +0x5e github.com/gohugoio/hugo/hugolib.(*HugoSites).render(0xc004bd98c0, 0xc010fb1db0) github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:308 +0x585 github.com/gohugoio/hugo/hugolib.(*HugoSites).Build.func4() github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:147 +0x2a runtime/trace.WithRegion({0x63f8e30?, 0xc01cfaf620?}, {0x5d4e739, 0x6}, 0xc00361b8a8) runtime/trace/annotation.go:141 +0xe3 github.com/gohugoio/hugo/hugolib.(*HugoSites).Build(0xc004bd98c0, {0x0, {0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0xc01cfaf5f0, 0x0, ...}, ...) github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:149 +0x5f9 github.com/gohugoio/hugo/commands.(*commandeer).rebuildSites(0xc00036bc20, {0xc010bb2c00?, 0xc02b229c80?, 0xc0113138c0?}) github.com/gohugoio/hugo/commands/hugo.go:765 +0x210 github.com/gohugoio/hugo/commands.(*commandeer).handleEvents.func4(0xc00036bc20, 0xc0135b0060) github.com/gohugoio/hugo/commands/hugo.go:1157 +0x96 github.com/gohugoio/hugo/commands.(*commandeer).handleEvents(0xc00036bc20, 0xc0355de1b0, 0xc0347e2a08, {0xc010bb2600?, 0x16, 0x20}, 0xc01242a5a0?) github.com/gohugoio/hugo/commands/hugo.go:1160 +0xc5a github.com/gohugoio/hugo/commands.(*commandeer).newWatcher.func1() github.com/gohugoio/hugo/commands/hugo.go:895 +0x265 created by github.com/gohugoio/hugo/commands.(*commandeer).newWatcher github.com/gohugoio/hugo/commands/hugo.go:886 +0x3ca # status: 2 # ```

In the other tab, here's what I did:

[ adhoc@goldbook: ~/src/spl/poor-richard ]
$ git stash
Saved working directory and index state WIP on cj/elections: 6d6d5712 Topics: Add aliases to Español page
(Fri, Sep 16  09:15:02 AM) (cj/elections↑41↓13|…)
[ adhoc@goldbook: ~/src/spl/poor-richard ]
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
(Fri, Sep 16  09:15:06 AM) (master|…)
[ adhoc@goldbook: ~/src/spl/poor-richard ]
$ git pull
From github.com:spotlightpa/poor-richard
 - [deleted]           (none)     -> origin/cj/flip-flop
remote: Enumerating objects: 26, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 26 (delta 16), reused 22 (delta 16), pack-reused 0
Unpacking objects: 100% (26/26), 9.48 KiB | 231.00 KiB/s, done.
   44681b5a..1e5b8ef8  master     -> origin/master
Updating 44681b5a..1e5b8ef8
Fast-forward
 config/_default/params.json                          |  6 +++---
 content/newsletters/talkofthetown/2022-09-15-1000.md | 20 ++++++++++++++++++++
 data/editorsPicks.json                               |  7 +++----
 layouts/_default/list.html                           |  4 ++--
 layouts/partials/component/promo-header.html         |  5 +----
 5 files changed, 29 insertions(+), 13 deletions(-)
 create mode 100644 content/newsletters/talkofthetown/2022-09-15-1000.md

I think it is more likely to be triggered if you do one mass operation and then another, like stash, checkout, pull vs. just checkout.

earthboundkid commented 2 years ago

Here's a different crash, I think caused by moving a file around:

Change detected, rebuilding site.
2022-09-16 20:07:42.050 -0400
Source changed "/Users/adhoc/src/spl/poor-richard/content/elections.md": CREATE
ERROR 2022/09/16 20:07:47 Rebuild failed: "/Users/adhoc/src/spl/poor-richard/content/news/2022-02-21-SPLCANNABIS21.md:123:1": failed to render shortcode "featured/keypoints": failed to process shortcode: "/Users/adhoc/src/spl/poor-richard/layouts/shortcodes/featured/keypoints.html:35:16": execute of template failed at <markdownify>: error calling markdownify: runtime error: invalid memory address or nil pointer dereference
Total in 5158 ms
Rebuilt in 28692 ms
panic: send on closed channel

goroutine 18440 [running]:
github.com/gohugoio/hugo/deps.(*globalErrHandler).SendError(...)
        github.com/gohugoio/hugo/deps/deps.go:121
github.com/gohugoio/hugo/hugolib.(*HugoSites).Build(0xc00febdb00, {0x0, {0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...}, ...)
        github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:151 +0x686
github.com/gohugoio/hugo/commands.(*commandeer).buildSites(...)
        github.com/gohugoio/hugo/commands/hugo.go:737
github.com/gohugoio/hugo/commands.(*commandeer).fullRebuild.func1()
        github.com/gohugoio/hugo/commands/hugo.go:826 +0x325
created by github.com/gohugoio/hugo/commands.(*commandeer).fullRebuild
        github.com/gohugoio/hugo/commands/hugo.go:794 +0x116
⏎
# status: 2 #
earthboundkid commented 2 years ago
``` panic: html/template: cannot Clone "" after it has executed goroutine 2768 [running]: github.com/gohugoio/hugo/tpl/internal/go_templates/htmltemplate.Must(...) github.com/gohugoio/hugo/tpl/internal/go_templates/htmltemplate/template.go:375 github.com/gohugoio/hugo/tpl/tplimpl.(*templateNamespace).createPrototypes(0xc043f50ab0) github.com/gohugoio/hugo/tpl/tplimpl/template.go:985 +0xab github.com/gohugoio/hugo/tpl/tplimpl.(*templateExec).MarkReady.func1() github.com/gohugoio/hugo/tpl/tplimpl/template.go:311 +0x45 sync.(*Once).doSlow(0x40131dd?, 0x7c01d28?) sync/once.go:74 +0xc2 sync.(*Once).Do(...) sync/once.go:65 github.com/gohugoio/hugo/tpl/tplimpl.(*templateExec).MarkReady(0x4000?) github.com/gohugoio/hugo/tpl/tplimpl/template.go:308 +0x65 github.com/gohugoio/hugo/hugolib.newHugoSites.func2() github.com/gohugoio/hugo/hugolib/hugo_sites.go:377 +0x7c github.com/gohugoio/hugo/lazy.(*Init).Do.func1() github.com/gohugoio/hugo/lazy/init.go:108 +0xb5 github.com/gohugoio/hugo/lazy.(*onceMore).Do(0x1f4a?, 0x4000?) github.com/gohugoio/hugo/lazy/once.go:53 +0x10d github.com/gohugoio/hugo/lazy.(*Init).Do(0xc03db4ad20) github.com/gohugoio/hugo/lazy/init.go:89 +0x4a github.com/gohugoio/hugo/lazy.(*Init).Do.func1() github.com/gohugoio/hugo/lazy/init.go:113 +0x165 github.com/gohugoio/hugo/lazy.(*onceMore).Do(0x37827100?, 0x37827000?) github.com/gohugoio/hugo/lazy/once.go:53 +0x10d github.com/gohugoio/hugo/lazy.(*Init).Do(0xc03db4aa10) github.com/gohugoio/hugo/lazy/init.go:89 +0x4a github.com/gohugoio/hugo/hugolib.(*HugoSites).render(0xc03975d980, 0xc0180e90e0) github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:272 +0x4c github.com/gohugoio/hugo/hugolib.(*HugoSites).Build.func4() github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:147 +0x2a runtime/trace.WithRegion({0x63f8e30?, 0xc040412210?}, {0x5d4e739, 0x6}, 0xc0197cf8a8) runtime/trace/annotation.go:141 +0xe3 github.com/gohugoio/hugo/hugolib.(*HugoSites).Build(0xc03975d980, {0x0, {0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0xc0404121e0, 0x0, ...}, ...) github.com/gohugoio/hugo/hugolib/hugo_sites_build.go:149 +0x5f9 github.com/gohugoio/hugo/commands.(*commandeer).rebuildSites(0xc0002f8ff0, {0xc040412120?, 0xc03e722c90?, 0xc02ff70000?}) github.com/gohugoio/hugo/commands/hugo.go:765 +0x210 github.com/gohugoio/hugo/commands.(*commandeer).handleEvents.func4(0xc0002f8ff0, 0xc0180ef398) github.com/gohugoio/hugo/commands/hugo.go:1157 +0x96 github.com/gohugoio/hugo/commands.(*commandeer).handleEvents(0xc0002f8ff0, 0xc036faec30, 0xc036243eb0, {0xc0410dd200?, 0x2, 0x2}, 0xc01297c390?) github.com/gohugoio/hugo/commands/hugo.go:1160 +0xc5a github.com/gohugoio/hugo/commands.(*commandeer).newWatcher.func1() github.com/gohugoio/hugo/commands/hugo.go:895 +0x265 created by github.com/gohugoio/hugo/commands.(*commandeer).newWatcher github.com/gohugoio/hugo/commands/hugo.go:886 +0x3ca ```