CONTRIB.9FRONT.ORG NO REFUNDS

Advanced Namespace Tools blog

11 January 2017

Golang Successes and Failures in Plan 9

Summary of Discoveries

Specific Testing Results

Warning: Lots of copy/pasted error junk ahead

Lets start with go1.8rc1 test failures built via bootstrap from both 1.7.4 or 1.4.3

9front/amd64 go1.8rc1 test fails

Many tests fail and the test suite did not complete. Some example error excerpts:

   2017/01/11 06:20:07 httptest.Server blocked in Close after 5 seconds, waiting for connections:
     *net.TCPConn 0x90302d0 127.0.0.1:48775 in state idle
   panic: test timed out after 3m0s
   goroutine 87 [running]:
   testing.startAlarm.func1()
          /usr/glenda/go1.8rc1alt/go/src/testing/testing.go:1018 +0xfe
   created by time.goFunc
          /usr/glenda/go1.8rc1alt/go/src/time/sleep.go:170 +0x49
   goroutine 1 [chan receive]:
   testing.(*T).Run(0x8cd8ea0, 0x53942f, 0x10, 0x54a230, 0x8d27d01)
          /usr/glenda/go1.8rc1alt/go/src/testing/testing.go:694 +0x2f3
   testing.runTests.func1(0x8cd8ea0)
          /usr/glenda/go1.8rc1alt/go/src/testing/testing.go:877 +0x6c
   [...]
   goroutine 100 [syscall, locked to thread]:
   syscall.Syscall6(0x7, 0x907c000, 0x1000, 0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x9082de8, 0x23196c, ...)
          /usr/glenda/go1.8rc1alt/go/src/syscall/asm_plan9_amd64.s:53 +0x5
   syscall.Pread(0x7, 0x907c000, 0x1000, 0x1000, 0xffffffffffffffff, 0x25fd3f, 0x9, 0x0)
          /usr/glenda/go1.8rc1alt/go/src/syscall/zsyscall_plan9_amd64.go:228 +0x82
   syscall.Read(0x7, 0x907c000, 0x1000, 0x1000, 0x0, 0x9082e80, 0x9082ed8)
          /usr/glenda/go1.8rc1alt/go/src/syscall/syscall_plan9.go:124 +0x57
   os.(*File).read(0x90302c0, 0x907c000, 0x1000, 0x1000, 0xc, 0x0, 0x0)
          /usr/glenda/go1.8rc1alt/go/src/os/file_plan9.go:247 +0x54
   os.(*File).Read(0x90302c0, 0x907c000, 0x1000, 0x1000, 0x9082f28, 0x26f6b7, 0x4055)
          /usr/glenda/go1.8rc1alt/go/src/os/file.go:101 +0x7b
   os.(*File).Read-fm(0x907c000, 0x1000, 0x1000, 0x9082f68, 0x259948, 0x8f8f890)
          /usr/glenda/go1.8rc1alt/go/src/net/fd_plan9.go:115 +0x4d
   net.newAsyncIO.func1(0x8feeda0, 0x9038d10, 0x907c000, 0x1000, 0x1000)
          /usr/glenda/go1.8rc1alt/go/src/net/fd_io_plan9.go:55 +0xfb
   created by net.newAsyncIO
          /usr/glenda/go1.8rc1alt/go/src/net/fd_io_plan9.go:63 +0xea
   FAIL   encoding/json 180.076s
   [...]
   --- FAIL: TestConnClose (0.01s)
          net_test.go:190: close tcp 127.0.0.1:48162->127.0.0.1:38085: write /net/tcp/clone: unknown control request
   panic: test timed out after 3m0s
   [...]
   FAIL   net/http      180.183s
   ok     net/http/cgi  0.093s
   2017/01/11 06:24:14 httptest.Server blocked in Close after 5 seconds, waiting for connections:
     *net.TCPConn 0x8dee030 127.0.0.1:38990 in state idle
   panic: test timed out after 3m0s
   [...]
   FAIL   net/http/cookiejar   180.073s
   ok     net/http/fcgi 0.023s
   2017/01/11 06:26:32 httptest.Server blocked in Close after 5 seconds, waiting for connections:
     *net.TCPConn 0x8a6e140 127.0.0.1:60394 in state idle
   panic: test timed out after 3m0s
   [...]
          /usr/glenda/go1.8rc1alt/go/src/os/file.go:101 +0x7b
   os.(*File).Read-fm(0x8bb4000, 0x1000, 0x1000, 0x8a7df68, 0x259668, 0x8aadc50)
          /usr/glenda/go1.8rc1alt/go/src/net/fd_plan9.go:115 +0x4d
   net.newAsyncIO.func1(0x8b4d620, 0x8b65170, 0x8bb4000, 0x1000, 0x1000)
          /usr/glenda/go1.8rc1alt/go/src/net/fd_io_plan9.go:55 +0xfb
   created by net.newAsyncIO
          /usr/glenda/go1.8rc1alt/go/src/net/fd_io_plan9.go:63 +0xea
   FAIL   net/http/httptest    180.070s
   ok     net/http/httptrace   0.020s
   panic: test timed out after 3m0s
   [...]
   FAIL   net/http/httputil    180.075s
   ok     net/http/internal    0.012s
   ok     net/mail      0.017s
   2017/01/11 06:29:31 rpc: gob error encoding body: gob: type rpc.R has no exported fields
   panic: test timed out after 3m0s
   [...]
   FAIL   net/rpc       180.101s
   ok     net/rpc/jsonrpc      0.304s
   --- FAIL: TestSendMail (0.01s)
          smtp_test.go:515: close tcp 127.0.0.1:50668->127.0.0.1:44054: write /net/tcp/clone: unknown control request
   --- FAIL: TestTLSClient (0.02s)
          smtp_test.go:610: client error: close tcp 127.0.0.1:54558->127.0.0.1:63356: write /net/tcp/clone: unknown control request
   FAIL
   FAIL   net/smtp      0.060s
   ok     net/textproto 0.027s
   ok     net/url       0.043s
   --- FAIL: TestLongPath (0.13s)
       --- FAIL: TestLongPath/length=247 (0.02s)
          os_test.go:1759: Size("/tmp/_Go_TestLongPath661445873/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir345x/bar.txt") is 0, len(ReadFile()) is 12, want 0
       --- FAIL: TestLongPath/length=248 (0.01s)
          os_test.go:1759: Size("/tmp/_Go_TestLongPath661445873/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456x/bar.txt") is 0, len(ReadFile()) is 12, want 0
       --- FAIL: TestLongPath/length=249 (0.00s)
          os_test.go:1759: Size("/tmp/_Go_TestLongPath661445873/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir34567x/bar.txt") is 0, len(ReadFile()) is 12, want 0
       --- FAIL: TestLongPath/length=400 (0.03s)
          os_test.go:1759: Size("/tmp/_Go_TestLongPath661445873/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir3456789/dir34x/bar.txt") is 0, len(ReadFile()) is 12, want 0
   FAIL
   FAIL   os     0.582s

The test runs end with a seemingly permanent hang after a print of:

   ok     runtime/pprof/internal/protopprof  0.013s

9legacy/386 go1.8rc1 test fails

There were not the frequent failures shown above, but the test suite did not complete successfully. Here is some of the output:

   ok     cmd/cover     3.069s
   ok     cmd/doc       0.242s
   ok     cmd/fix       0.052s
   --- FAIL: TestPackageMainTestImportsArchiveNotBinary (1.87s)
          go_test.go:260: running testgo [test main_test]
          go_test.go:275: standard output:
          go_test.go:276: FAIL main_test [build failed]

          go_test.go:279: standard error:
          go_test.go:280: go build main_test_test: /usr/glenda/go1.8rc1alt/go/pkg/tool/plan9_386/compile: wait: no living children

          go_test.go:289: go [test main_test] failed unexpectedly: exit status: 'testgo 23232: 1'
   FAIL
   FAIL   cmd/go 103.210s
   ok     cmd/gofmt     0.171s
   ok     cmd/internal/goobj   0.036s
   ok     cmd/internal/obj     0.034s
   ok     cmd/internal/obj/arm64      0.053s
   ok     cmd/internal/obj/x86 0.037s
   ok     cmd/link      0.031s
   ok     cmd/nm 2.036s
   ok     cmd/objdump   2.215s
   ok     cmd/pack      3.420s
   ok     cmd/trace     0.062s
   ok     cmd/vendor/golang.org/x/arch/arm/armasm   0.091s
   ok     cmd/vendor/golang.org/x/arch/ppc64/ppc64asm      0.111s
   ok     cmd/vendor/golang.org/x/arch/x86/x86asm   0.315s
   ok     cmd/vet       0.238s
   ok     cmd/vet/internal/cfg 0.056s
   2017/01/11 01:33:07 Failed: exit status: 'go 15339: 1'

9front/386 old os version 1.4.3 fail to bootstrap 1.7.4

Building go_bootstrap for host, plan9/386.
   runtime/internal/sys
   runtime/internal/atomic
   runtime
   panic: runtime error: floating point error
   [signal 0x5 code=0x116498d8 addr=0xad8d6 pc=0x23de76]

   goroutine 1 [running]:
   bootstrap/compile/internal/big.nat.itoa(0x10c337a0, 0x10, 0x16, 0x0, 0xa, 0x0, 0x0, 0x0)
          /n/9v/usr/glenda/go1.7.4/go/src/cmd/compile/internal/big/natconv.go:256 +0xe6
   bootstrap/compile/internal/big.nat.utoa(0x10c337a0, 0x10, 0x16, 0xa, 0x0, 0x0, 0x0)
          /n/9v/usr/glenda/go1.7.4/go/src/cmd/compile/internal/big/natconv.go:240 +0x5c
   bootstrap/compile/internal/big.(*Float).fmtB(0x10c2d2e0, 0x1375b224, 0x0, 0xa, 0x0, 0x0, 0x0)
          /n/9v/usr/glenda/go1.7.4/go/src/cmd/compile/internal/big/ftoa.go:327 +0x13e
   bootstrap/compile/internal/big.(*Float).Append(0x10c2d2e0, 0x1375b224, 0x0, 0xa, 0x62, 0x0, 0x0, 0x0, 0x0)
          /n/9v/usr/glenda/go1.7.4/go/src/cmd/compile/internal/big/ftoa.go:73 +0x23f
   bootstrap/compile/internal/big.(*Float).Text(0x10c2d2e0, 0x62, 0x0, 0x0, 0x0)
          /n/9v/usr/glenda/go1.7.4/go/src/cmd/compile/internal/big/ftoa.go:45 +0x98
   bootstrap/compile/internal/gc.fconv(0x10c2d2e0, 0x0, 0x0, 0x0)
          /n/9v/usr/glenda/go1.7.4/go/src/cmd/compile/internal/gc/mpfloat.go:213 +0x69
   bootstrap/compile/internal/gc.vconv(0x4687e0, 0x10c2d2e0, 0x4, 0x0, 0x0)
          /n/9v/usr/glenda/go1.7.4/go/src/cmd/compile/internal/gc/fmt.go:363 +0x7bb
   bootstrap/compile/internal/gc.dumpasmhdr()
          /n/9v/usr/glenda/go1.7.4/go/src/cmd/compile/internal/gc/export.go:596 +0x714
   bootstrap/compile/internal/gc.Main()
          /n/9v/usr/glenda/go1.7.4/go/src/cmd/compile/internal/gc/main.go:493 +0x202a
   bootstrap/compile/internal/x86.Main()
          /n/9v/usr/glenda/go1.7.4/go/src/cmd/compile/internal/x86/galign.go:80 +0x55f
   main.main()
          /n/9v/usr/glenda/go1.7.4/go/src/cmd/compile/main.go:31 +0xe5
   go tool dist: FAILED: /n/9v/usr/glenda/go1.7.4/go/pkg/tool/plan9_386/compile -pack -o /tmp/go-tool-dist-492375390/runtime/_go_.a -p runtime -+ -asmhdr /tmp/go-tool-dist-492375390/runtime/go_asm.h /n/9v/usr/glenda/go1.7.4/go/src/runtime/alg.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/atomic_pointer.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/cgo.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/cgocall.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/cgocallback.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/cgocheck.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/chan.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/compiler.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/complex.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/cpuprof.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/cputicks.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/debug.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/defs_plan9_386.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/env_plan9.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/error.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/extern.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/fastlog2.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/fastlog2table.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/hash32.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/hashmap.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/hashmap_fast.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/heapdump.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/iface.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/lfstack.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/lfstack_32bit.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/lock_sema.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/malloc.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mbarrier.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mbitmap.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mcache.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mcentral.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mem_plan9.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mfinal.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mfixalloc.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mgc.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mgcmark.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mgcsweep.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mgcwork.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mheap.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mprof.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/msan0.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/msize.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mstats.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/mstkbar.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/netpoll_stub.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/os2_plan9.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/os3_plan9.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/os_plan9.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/panic.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/print.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/proc.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/race0.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/rdebug.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/rune.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/runtime.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/runtime1.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/runtime2.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/select.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/sema.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/signal_plan9.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/sigqueue_plan9.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/slice.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/softfloat64.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/sqrt.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/stack.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/string.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/stubs.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/stubs32.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/symtab.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/sys_nonppc64x.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/sys_x86.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/time.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/trace.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/traceback.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/type.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/typekind.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/unaligned1.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/vdso_none.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/vlrt.go /n/9v/usr/glenda/go1.7.4/go/src/runtime/write_err.go: exit status: 'compile 117520: 2'

9front/386 current fail to build go1.4.3

   cpu% ./make.rc
   # Building C bootstrap tool.
   cmd/dist

   # Building compilers and Go bootstrap tool for host, plan9/386.
   lib9
   /usr/glenda/go/include/plan9/386/u.h:15[/usr/glenda/go/src/lib9/flag.c:82] external redeclaration of: intptr
          TYPEDEF INT /usr/glenda/go/include/plan9/386/u.h:15[/usr/glenda/go/src/lib9/flag.c:82]
          TYPEDEF LONG /386/include/u.h:9[/usr/glenda/go/src/lib9/flag.c:20]
   /usr/glenda/go/include/plan9/386/u.h:15[/usr/glenda/go/src/lib9/fmt/dofmt.c:81] external redeclaration of: intptr
          TYPEDEF INT /usr/glenda/go/include/plan9/386/u.h:15[/usr/glenda/go/src/lib9/fmt/dofmt.c:81]
          TYPEDEF LONG /386/include/u.h:9[/usr/glenda/go/src/lib9/fmt/dofmt.c:19]
   /usr/glenda/go/include/plan9/386/u.h:15[/usr/glenda/go/src/lib9/fmt/dorfmt.c:81] external redeclaration of: intptr
          TYPEDEF INT /usr/glenda/go/include/plan9/386/u.h:15[/usr/glenda/go/src/lib9/fmt/dorfmt.c:81]
          TYPEDEF LONG /386/include/u.h:9[/usr/glenda/go/src/lib9/fmt/dorfmt.c:19]
   /usr/glenda/go/include/plan9/386/u.h:15[/usr/glenda/go/src/lib9/fmt/charstod.c:81] external redeclaration of: intptr
          TYPEDEF INT /usr/glenda/go/include/plan9/386/u.h:15[/usr/glenda/go/src/lib9/fmt/charstod.c:81]
          TYPEDEF LONG /386/include/u.h:9[/usr/glenda/go/src/lib9/fmt/charstod.c:19]
   go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 -D__SIZE_TYPE__=ulong -I/usr/glenda/go/include/plan9 -I/usr/glenda/go/include/plan9/386 -DPLAN9PORT -I /usr/glenda/go/src/lib9 -o $WORK/flag.8 /usr/glenda/go/src/lib9/flag.c: '/usr/glenda/go/pkg/obj/plan9_386/lib9.a' does not exist
   go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 -D__SIZE_TYPE__=ulong -I/usr/glenda/go/include/plan9 -I/usr/glenda/go/include/plan9/386 -DPLAN9PORT -I /usr/glenda/go/src/lib9 -o $WORK/charstod.8 /usr/glenda/go/src/lib9/fmt/charstod.c: '/usr/glenda/go/pkg/obj/plan9_386/lib9.a' does not exist
   go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 -D__SIZE_TYPE__=ulong -I/usr/glenda/go/include/plan9 -I/usr/glenda/go/include/plan9/386 -DPLAN9PORT -I /usr/glenda/go/src/lib9 -o $WORK/dorfmt.8 /usr/glenda/go/src/lib9/fmt/dorfmt.c: '/usr/glenda/go/pkg/obj/plan9_386/lib9.a' does not exist
   go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 -D__SIZE_TYPE__=ulong -I/usr/glenda/go/include/plan9 -I/usr/glenda/go/include/plan9/386 -DPLAN9PORT -I /usr/glenda/go/src/lib9 -o $WORK/dofmt.8 /usr/glenda/go/src/lib9/fmt/dofmt.c: '/usr/glenda/go/pkg/obj/plan9_386/lib9.a' does not exist

A partial fix for the conflicting typedefs (seemingly introduced in 9front commit 5046) is commenting out a typedef from go1.4.3’s include/plan9/386/u.h

   // typedef    int    intptr;

This produces a build that compiles and runs some things, but also tends to produce errors like this:

   runtime: garbage collector found invalid heap pointer *(0x51cfe0+0xa8)=0x106b9e54 span=0x106b0000-0x106b9400-0x106ba000 state=0
   fatal error: invalid heap pointer
   runtime stack:
   runtime.throw(0x512823)
          /sys/ports/dev-lang/go/work/go/src/runtime/panic.go:491 +0x83 fp=0xdfffec38 sp=0xdfffec20
   scanblock(0x51cfe0, 0x6d20, 0x30642610)
          /sys/ports/dev-lang/go/work/go/src/runtime/mgc0.c:381 +0x495 fp=0xdfffecd8 sp=0xdfffec38
   markroot(0x1064c000, 0x1)
          /sys/ports/dev-lang/go/work/go/src/runtime/mgc0.c:499 +0x138 fp=0xdfffed10 sp=0xdfffecd8
   runtime.parfordo(0x1064c000)
          /sys/ports/dev-lang/go/work/go/src/runtime/parfor.c:76 +0x98 fp=0xdfffed6c sp=0xdfffed10
   [...]

Along the Way

Diving into all this produced some interesting discoveries along the way, in particular I learned how to get a hybrid 9legacy/9front system running on Vultr VPS hosting. I may have more to say about that in a future blog post. For anyone who got this far after all those error excerpts, I hope there was something interesting or useful to you along the way.