Description
verless serve -w
occasionally runs into a concurrent map access error.
fatal error: concurrent map writes
goroutine 11079 [running]:
runtime.throw(0xcd3f82, 0x15)
/usr/local/go/src/runtime/panic.go:1116 +0x72 fp=0xc000533a30 sp=0xc000533a00 pc=0x434dc2
runtime.mapassign_faststr(0xbf0b20, 0xc00080c300, 0xc000741670, 0x7, 0x7)
/usr/local/go/src/runtime/map_faststr.go:211 +0x3f7 fp=0xc000533a98 sp=0xc000533a30 pc=0x414b17
github.com/verless/verless/plugin/tags.(*tags).createListPage(...)
/home/circleci/project/plugin/tags/tags.go:81
github.com/verless/verless/plugin/tags.(*tags).ProcessPage(0xc00030e218, 0xc00036be60, 0x0, 0x0)
/home/circleci/project/plugin/tags/tags.go:42 +0x377 fp=0xc000533b38 sp=0xc000533a98 pc=0xb5dc67
github.com/verless/verless/core.(*Build).processFile(0xc00058d880, 0xc0005012e0, 0x10, 0xc00014ad50, 0x2e, 0x40759f, 0xb6514f)
/home/circleci/project/core/build.go:260 +0x489 fp=0xc000533f48 sp=0xc000533b38 pc=0xb67fc9
github.com/verless/verless/core.(*Build).Run.func2(0xc000424600, 0xc00058d880, 0xc0005012e0, 0x10, 0xc0004246c0, 0xc0005012f0)
/home/circleci/project/core/build.go:182 +0x89 fp=0xc000533fb0 sp=0xc000533f48 pc=0xb6aab9
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1373 +0x1 fp=0xc000533fb8 sp=0xc000533fb0 pc=0x4643f1
created by github.com/verless/verless/core.(*Build).Run
/home/circleci/project/core/build.go:179 +0x20a
goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7efc6cbade98, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0002cfc98, 0x72, 0x0, 0x0, 0xc9ac31)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc0002cfc80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:384 +0x1d4
net.(*netFD).accept(0xc0002cfc80, 0x407dfcbe44141ab6, 0x0, 0x407dfcbe44141ab6)
/usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc000236d60, 0x5fd628f0, 0xc000937788, 0x48ce06)
/usr/local/go/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc000236d60, 0xc0009377d8, 0x18, 0xc000000180, 0x6d689c)
/usr/local/go/src/net/tcpsock.go:261 +0x64
net/http.(*Server).Serve(0xc0000f49a0, 0xe5fe00, 0xc000236d60, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2930 +0x25d
net/http.(*Server).ListenAndServe(0xc0000f49a0, 0xc0000f49a0, 0x1)
/usr/local/go/src/net/http/server.go:2859 +0xb7
net/http.ListenAndServe(...)
/usr/local/go/src/net/http/server.go:3115
github.com/verless/verless/core.listenAndServe(0xe67900, 0xc0002bed80, 0xc0001f3060, 0xf, 0xc000028670, 0x4, 0x4, 0xc000271f90, 0xc00006e960, 0x0)
/home/circleci/project/core/serve.go:132 +0x31c
github.com/verless/verless/core.Serve(0x7fff57828f7f, 0x8, 0x0, 0x0, 0x0, 0x1f90, 0xc000028670, 0x4, 0x4, 0x1, ...)
/home/circleci/project/core/serve.go:112 +0x3c3
github.com/verless/verless/cli.newServeCmd.func1(0xc0002fc2c0, 0xc0002373e0, 0x1, 0x2, 0x0, 0x0)
/home/circleci/project/cli/serve.go:24 +0xb9
github.com/spf13/cobra.(*Command).execute(0xc0002fc2c0, 0xc0002373c0, 0x2, 0x2, 0xc0002fc2c0, 0xc0002373c0)
/go/pkg/mod/github.com/spf13/[email protected]/command.go:850 +0x453
github.com/spf13/cobra.(*Command).ExecuteC(0xc00029eb00, 0xc00051df78, 0x40759f, 0xc00006e058)
/go/pkg/mod/github.com/spf13/[email protected]/command.go:958 +0x349
github.com/spf13/cobra.(*Command).Execute(...)
/go/pkg/mod/github.com/spf13/[email protected]/command.go:895
main.main()
/home/circleci/project/cmd/verless/main.go:12 +0x2b
goroutine 7 [select]:
github.com/verless/verless/core.watch.func1(0xc0002b7680, 0x7fff57828f7f, 0x8, 0xc0002bedb0, 0x3, 0x3, 0xc00006eb40, 0xc00006e960)
/home/circleci/project/core/watch.go:35 +0x12f
created by github.com/verless/verless/core.watch
/home/circleci/project/core/watch.go:31 +0xb7
goroutine 8 [sleep]:
time.Sleep(0x5f5e100)
/usr/local/go/src/runtime/time.go:188 +0xba
github.com/radovskyb/watcher.(*Watcher).Start(0xc0002b7680, 0x5f5e100, 0x0, 0x0)
/go/pkg/mod/github.com/radovskyb/[email protected]/watcher.go:608 +0x338
github.com/verless/verless/core.watch.func2(0xc0002b7680, 0xc0002bb660)
/home/circleci/project/core/watch.go:82 +0x34
created by github.com/verless/verless/core.watch
/home/circleci/project/core/watch.go:81 +0x18e
goroutine 10780 [IO wait]:
internal/poll.runtime_pollWait(0x7efc6cbadf78, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc00058c198, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00058c180, 0xc00015e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc00058c180, 0xc00015e000, 0x1000, 0x1000, 0x1367340, 0xc000146480, 0x1)
/usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00030e100, 0xc00015e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:184 +0x8e
net/http.(*connReader).Read(0xc0005e8300, 0xc00015e000, 0x1000, 0x1000, 0x2, 0xc00073c140, 0x203000)
/usr/local/go/src/net/http/server.go:797 +0xf4
bufio.(*Reader).fill(0xc000428c60)
/usr/local/go/src/bufio/bufio.go:100 +0x103
bufio.(*Reader).ReadSlice(0xc000428c60, 0xa, 0x28, 0xc00085b9c0, 0x40dcc6, 0xc0000e1100, 0x100)
/usr/local/go/src/bufio/bufio.go:359 +0x3d
bufio.(*Reader).ReadLine(0xc000428c60, 0xc00085b9c8, 0xc00003d500, 0x7efc93921e98, 0x0, 0x40e538, 0x30)
/usr/local/go/src/bufio/bufio.go:388 +0x34
net/textproto.(*Reader).readLineSlice(0xc0005e9170, 0xc0000e1100, 0x0, 0x48c530, 0xc00085ba40, 0x0)
/usr/local/go/src/net/textproto/reader.go:58 +0x6c
net/textproto.(*Reader).ReadLine(...)
/usr/local/go/src/net/textproto/reader.go:39
net/http.readRequest(0xc000428c60, 0x0, 0xc0000e1100, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:1015 +0xa4
net/http.(*conn).readRequest(0xc000108aa0, 0xe61a40, 0xc000ad8000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:983 +0x191
net/http.(*conn).serve(0xc000108aa0, 0xe61a40, 0xc000ad8000)
/usr/local/go/src/net/http/server.go:1850 +0x6d4
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2962 +0x35c
goroutine 10779 [IO wait]:
internal/poll.runtime_pollWait(0x7efc6cbaddb8, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc00058c098, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00058c080, 0xc0004dc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc00058c080, 0xc0004dc000, 0x1000, 0x1000, 0x13ab, 0x0, 0x0)
/usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00030e0f0, 0xc0004dc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:184 +0x8e
net/http.(*connReader).Read(0xc0005e8390, 0xc0004dc000, 0x1000, 0x1000, 0x7efc6cb12878, 0x0, 0x7efc6cbb20f8)
/usr/local/go/src/net/http/server.go:797 +0xf4
bufio.(*Reader).fill(0xc000428cc0)
/usr/local/go/src/bufio/bufio.go:100 +0x103
bufio.(*Reader).ReadSlice(0xc000428cc0, 0xc00093d90a, 0x7efc6cb12878, 0xc00093d9c0, 0x40dcc6, 0xc000541f00, 0x100)
/usr/local/go/src/bufio/bufio.go:359 +0x3d
bufio.(*Reader).ReadLine(0xc000428cc0, 0xc00093d9c8, 0xc000080000, 0x7efc939217d0, 0x0, 0x1, 0xc0004dd000)
/usr/local/go/src/bufio/bufio.go:388 +0x34
net/textproto.(*Reader).readLineSlice(0xc0005e83f0, 0xc000541f00, 0x0, 0x4378ac, 0xc00093da28, 0x0)
/usr/local/go/src/net/textproto/reader.go:58 +0x6c
net/textproto.(*Reader).ReadLine(...)
/usr/local/go/src/net/textproto/reader.go:39
net/http.readRequest(0xc000428cc0, 0x0, 0xc000541f00, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:1015 +0xa4
net/http.(*conn).readRequest(0xc000108280, 0xe61a40, 0xc000ad80c0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:983 +0x191
net/http.(*conn).serve(0xc000108280, 0xe61a40, 0xc000ad80c0)
/usr/local/go/src/net/http/server.go:1850 +0x6d4
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2962 +0x35c
goroutine 47 [chan receive]:
github.com/verless/verless/core.(*Build).Run(0xc00058d880, 0xc0002bed80, 0x7fff57828f7f)
/home/circleci/project/core/build.go:199 +0x2a2
github.com/verless/verless/core.Serve.func1(0xc00006eb40, 0xe67900, 0xc0002bed80, 0x7fff57828f7f, 0x8, 0xc000272140, 0xc00006e960)
/home/circleci/project/core/serve.go:94 +0x249
created by github.com/verless/verless/core.Serve
/home/circleci/project/core/serve.go:79 +0x488
goroutine 11078 [runnable]:
github.com/verless/verless/fs.StreamFiles.func1(0xc0000604d0, 0x65, 0xe641e0, 0xc000538c30, 0x0, 0x0, 0x4a580f, 0xc000538c30)
/home/circleci/project/fs/fs.go:71 +0x173
path/filepath.walk(0xc0000604d0, 0x65, 0xe641e0, 0xc000538c30, 0xc00004cf08, 0x0, 0x0)
/usr/local/go/src/path/filepath/path.go:360 +0x425
path/filepath.walk(0xc000678560, 0x1c, 0xe641e0, 0xc000b2dc70, 0xc00004cf08, 0x0, 0x0)
/usr/local/go/src/path/filepath/path.go:384 +0x2ff
path/filepath.walk(0xc000678500, 0x15, 0xe641e0, 0xc000b2dba0, 0xc00004cf08, 0x0, 0x0)
/usr/local/go/src/path/filepath/path.go:384 +0x2ff
path/filepath.walk(0xc0005012e0, 0x10, 0xe641e0, 0xc000b2dad0, 0xc00004cf08, 0x0, 0xc0005012e0)
/usr/local/go/src/path/filepath/path.go:384 +0x2ff
path/filepath.Walk(0xc0005012e0, 0x10, 0xc00050af08, 0x10, 0x0)
/usr/local/go/src/path/filepath/path.go:406 +0xff
github.com/verless/verless/fs.StreamFiles(0xc0005012e0, 0x10, 0xc000424600, 0xc00050afa0, 0x2, 0x2, 0xb65639, 0xc0002b7680)
/home/circleci/project/fs/fs.go:50 +0x18b
github.com/verless/verless/core.(*Build).Run.func1(0xc0005012e0, 0x10, 0xc000424600, 0xc0004246c0)
/home/circleci/project/core/build.go:170 +0x82
created by github.com/verless/verless/core.(*Build).Run
/home/circleci/project/core/build.go:169 +0x169
goroutine 11083 [semacquire]:
sync.runtime_Semacquire(0xc0005012f8)
/usr/local/go/src/runtime/sema.go:56 +0x42
sync.(*WaitGroup).Wait(0xc0005012f0)
/usr/local/go/src/sync/waitgroup.go:130 +0x64
github.com/verless/verless/core.(*Build).Run.func3(0xc0005012f0, 0xc0004246c0)
/home/circleci/project/core/build.go:193 +0x2b
created by github.com/verless/verless/core.(*Build).Run
/home/circleci/project/core/build.go:191 +0x24d
goroutine 11080 [runnable]:
syscall.Syscall(0x48, 0x9, 0x3, 0x0, 0x8000, 0x0, 0x0)
/usr/local/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.fcntl(0x9, 0x3, 0x0, 0xc0007daf00, 0x0, 0x0)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:382 +0x4c
syscall.SetNonblock(0x9, 0xc92201, 0x4, 0x1)
/usr/local/go/src/syscall/exec_unix.go:106 +0x41
os.newFile(0x9, 0xc000096500, 0x47, 0x1, 0x2f62000000000000)
/usr/local/go/src/os/file_unix.go:165 +0x163
os.openFileNolog(0xc000096500, 0x47, 0x0, 0xc000000000, 0x48, 0xc0000964b0, 0x48)
/usr/local/go/src/os/file_unix.go:226 +0x18d
os.OpenFile(0xc000096500, 0x47, 0x0, 0xc000000000, 0x4bd067, 0xc000096190, 0x48)
/usr/local/go/src/os/file.go:307 +0x63
os.Open(...)
/usr/local/go/src/os/file.go:287
io/ioutil.ReadFile(0xc000096500, 0x47, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/io/ioutil/ioutil.go:53 +0x77
github.com/verless/verless/core.(*Build).processFile(0xc00058d880, 0xc0005012e0, 0x10, 0xc000422e70, 0x37, 0x0, 0x0)
/home/circleci/project/core/build.go:235 +0xc0
github.com/verless/verless/core.(*Build).Run.func2(0xc000424600, 0xc00058d880, 0xc0005012e0, 0x10, 0xc0004246c0, 0xc0005012f0)
/home/circleci/project/core/build.go:182 +0x89
created by github.com/verless/verless/core.(*Build).Run
/home/circleci/project/core/build.go:179 +0x20a
goroutine 11082 [runnable]:
syscall.Syscall6(0x101, 0xffffffffffffff9c, 0xc0002d0b60, 0x80000, 0x0, 0x0, 0x0, 0xa, 0x80000, 0x0)
/usr/local/go/src/syscall/asm_linux_amd64.s:41 +0x5
syscall.openat(0xffffffffffffff9c, 0xc0002d0af0, 0x65, 0x80000, 0x2f62000000000000, 0x12, 0x1, 0x12)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:68 +0xbb
syscall.Open(...)
/usr/local/go/src/syscall/syscall_linux.go:138
os.openFileNolog(0xc0002d0af0, 0x65, 0x0, 0xc000000000, 0x66, 0xc0002d0a80, 0x66)
/usr/local/go/src/os/file_unix.go:200 +0x8f
os.OpenFile(0xc0002d0af0, 0x65, 0x0, 0xc000000000, 0x4bd067, 0xc0002d0a10, 0x66)
/usr/local/go/src/os/file.go:307 +0x63
os.Open(...)
/usr/local/go/src/os/file.go:287
io/ioutil.ReadFile(0xc0002d0af0, 0x65, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/io/ioutil/ioutil.go:53 +0x77
github.com/verless/verless/core.(*Build).processFile(0xc00058d880, 0xc0005012e0, 0x10, 0xc0000604e0, 0x55, 0x0, 0x0)
/home/circleci/project/core/build.go:235 +0xc0
github.com/verless/verless/core.(*Build).Run.func2(0xc000424600, 0xc00058d880, 0xc0005012e0, 0x10, 0xc0004246c0, 0xc0005012f0)
/home/circleci/project/core/build.go:182 +0x89
created by github.com/verless/verless/core.(*Build).Run
/home/circleci/project/core/build.go:179 +0x20a
goroutine 11081 [runnable]:
github.com/alecthomas/chroma.(*coalescer).Tokenise.func1(0x10, 0xc00039e860, 0x70)
/go/pkg/mod/github.com/alecthomas/[email protected]/coalesce.go:15 +0x5a
github.com/alecthomas/chroma.Iterator.Tokens(0xc000b43200, 0xc00060d428, 0x9bffaf, 0xc00060d428)
/go/pkg/mod/github.com/alecthomas/[email protected]/iterator.go:15 +0x3c
github.com/alecthomas/chroma/formatters/html.(*Formatter).Format(0xc0002eaa10, 0xe55580, 0xc000398b40, 0xc000197000, 0xc000b43200, 0x0, 0x0)
/go/pkg/mod/github.com/alecthomas/[email protected]/formatters/html/html.go:161 +0x2f
github.com/yuin/goldmark-highlighting.(*HTMLRenderer).renderFencedCodeBlock(0xc000258540, 0xe654a0, 0xc000398b40, 0xc0005f2000, 0x1538, 0x1738, 0xe6e880, 0xc0006120a0, 0x1701, 0x3, ...)
/go/pkg/mod/github.com/yuin/[email protected]/highlighting.go:488 +0xd55
github.com/yuin/goldmark/renderer.(*renderer).Render.func2(0xe6e880, 0xc0006120a0, 0x1, 0x3, 0x0, 0x0)
/go/pkg/mod/github.com/yuin/[email protected]/renderer/renderer.go:166 +0x108
github.com/yuin/goldmark/ast.walkHelper(0xe6e880, 0xc0006120a0, 0xc00060d8f8, 0x3, 0x0, 0x0)
/go/pkg/mod/github.com/yuin/[email protected]/ast/ast.go:476 +0x43
github.com/yuin/goldmark/ast.walkHelper(0xe6e640, 0xc0002b6280, 0xc00060d8f8, 0xc00063a000, 0x0, 0xc0005f2000)
/go/pkg/mod/github.com/yuin/[email protected]/ast/ast.go:482 +0x160
github.com/yuin/goldmark/ast.Walk(...)
/go/pkg/mod/github.com/yuin/[email protected]/ast/ast.go:471
github.com/yuin/goldmark/renderer.(*renderer).Render(0xc000686050, 0xe555e0, 0xc0000ea150, 0xc0005f2000, 0x1538, 0x1738, 0xe6e640, 0xc0002b6280, 0xc10e01, 0xc000090138)
/go/pkg/mod/github.com/yuin/[email protected]/renderer/renderer.go:161 +0x13c
github.com/yuin/goldmark.(*markdown).Convert(0xc000326300, 0xc0005f2000, 0x1538, 0x1738, 0xe555e0, 0xc0000ea150, 0xc000090138, 0x1, 0x1, 0x8, ...)
/go/pkg/mod/github.com/yuin/[email protected]/markdown.go:117 +0xe3
github.com/verless/verless/parser.(*markdown).ParsePage(0xc00079b770, 0xc0005f2000, 0x1538, 0x1738, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/circleci/project/parser/markdown.go:38 +0x162
github.com/verless/verless/core.(*Build).processFile(0xc00058d880, 0xc0005012e0, 0x10, 0xc000422ce0, 0x33, 0x40759f, 0xb6514f)
/home/circleci/project/core/build.go:240 +0x17a
github.com/verless/verless/core.(*Build).Run.func2(0xc000424600, 0xc00058d880, 0xc0005012e0, 0x10, 0xc0004246c0, 0xc0005012f0)
/home/circleci/project/core/build.go:182 +0x89
created by github.com/verless/verless/core.(*Build).Run
/home/circleci/project/core/build.go:179 +0x20a
verless version
The output of verless version
:
verless version v0.5.2
Git tag: v0.5.2
Git commit: acf5c32
System information
area/core kind/bug exp/intermediate prio/medium