Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

panic: runtime error: index out of range [0] with length 0 [darwin/arm64] [M1] #153

Open
kilianc opened this issue Dec 10, 2023 · 8 comments

Comments

@kilianc
Copy link

kilianc commented Dec 10, 2023

https://github.com/kilianc/base-golang/blob/da0a110c1a5afb8cfa810282485d3dc5181040ee/fetchpeople_test.go

I am getting intermittent failures in tests and panic.

panic: runtime error: index out of range [0] with length 0 [recovered]
        panic: runtime error: index out of range [0] with length 0

Repro

run https://github.com/kilianc/base-golang/blob/da0a110c1a5afb8cfa810282485d3dc5181040ee/go-test.sh on a M1 and it will fail about 50% of the times
run https://github.com/kilianc/base-golang/blob/da0a110c1a5afb8cfa810282485d3dc5181040ee/docker.sh on a M1 and it will not fail

Succeeds on go version go1.21.5 linux/arm64 and fails go version go1.21.5 darwin/arm64

Full log:

--- FAIL: TestFetchPeople (0.00s)
    --- FAIL: TestFetchPeople/should_return_a_list_of_people (0.00s)
        fetchpeople_test.go:48: 
                Error Trace:    /Users/kciuffolo/workspace/base-go/fetchpeople_test.go:48
                Error:          Expected nil, but got: &errors.errorString{s:"error"}
                Test:           TestFetchPeople/should_return_a_list_of_people
        fetchpeople_test.go:49: 
                Error Trace:    /Users/kciuffolo/workspace/base-go/fetchpeople_test.go:49
                Error:          Not equal: 
                                expected: "http://test-url/"
                                actual  : "initial value"
                            
                                Diff:
                                --- Expected
                                +++ Actual
                                @@ -1 +1 @@
                                -http://test-url/
                                +initial value
                Test:           TestFetchPeople/should_return_a_list_of_people
        fetchpeople_test.go:50: 
                Error Trace:    /Users/kciuffolo/workspace/base-go/fetchpeople_test.go:50
                Error:          Not equal: 
                                expected: 1
                                actual  : 0
                Test:           TestFetchPeople/should_return_a_list_of_people
panic: runtime error: index out of range [0] with length 0 [recovered]
        panic: runtime error: index out of range [0] with length 0

goroutine 22 [running]:
testing.tRunner.func1.2({0x100f9be00, 0x140000bc300})
        /opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:1545 +0x1c4
testing.tRunner.func1()
        /opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:1548 +0x364
panic({0x100f9be00?, 0x140000bc300?})
        /opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/panic.go:914 +0x200
github.com/kilianc/go.TestFetchPeople.func3(0x0?)
        /Users/kciuffolo/workspace/base-go/fetchpeople_test.go:51 +0x2dc
testing.tRunner(0x14000093ba0, 0x140000ab750)
        /opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:1595 +0xf8
created by testing.(*T).Run in goroutine 19
        /opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:1648 +0x318
exit status 2
FAIL    github.com/kilianc/go   0.164s
@kilianc
Copy link
Author

kilianc commented Dec 10, 2023

test suite failing from c27aed5
go: downloading github.com/smartystreets/goconvey v1.6.4
go: downloading github.com/jtolds/gls v4.20.0+incompatible
go: downloading github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d
unexpected fault address 0x1044f6028
fatal error: fault
[signal SIGBUS: bus error code=0x1 addr=0x1044f6028 pc=0x1044f6028]

goroutine 19 [running]:
runtime.throw({0x10450edc5?, 0x0?})
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/panic.go:1077 +0x40 fp=0x140000e5310 sp=0x140000e52e0 pc=0x1043b2960
runtime.sigpanic()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/signal_unix.go:858 +0x10c fp=0x140000e5340 sp=0x140000e5310 pc=0x1043c98cc
github.com/agiledragon/gomonkey/v2.write(0x1044f7980, 0x140000ae018, 0x18, 0x1044f4000, 0x4000, 0x5)
/Users/kciuffolo/workspace/gomonkey/write_darwin_arm64.s:36 +0x1028 fp=0x140000e5380 sp=0x140000e5350 pc=0x1044f6028
github.com/agiledragon/gomonkey/v2.modifyBinary(0x18?, {0x140000ae018, 0x18, 0x18})
/Users/kciuffolo/workspace/gomonkey/modify_binary_darwin.go:16 +0x78 fp=0x140000e53f0 sp=0x140000e5380 pc=0x1044f2528
github.com/agiledragon/gomonkey/v2.replace(0x104553c60?, 0x1400009c9f0?)
/Users/kciuffolo/workspace/gomonkey/patch.go:280 +0x74 fp=0x140000e5460 sp=0x140000e53f0 pc=0x1044f45c4
github.com/agiledragon/gomonkey/v2.(*Patches).ApplyCore(0x140000a4138, {0x104553c60?, 0x10458e528?, 0x1?}, {0x104553c60, 0x1400009c9f0, 0x13})
/Users/kciuffolo/workspace/gomonkey/patch.go:213 +0x78 fp=0x140000e54e0 sp=0x140000e5460 pc=0x1044f3da8
github.com/agiledragon/gomonkey/v2.(*Patches).ApplyFuncReturn(0x140000e55b8?, {0x104553c60, 0x10458e528}, {0x140000d2060, 0x2, 0x2})
/Users/kciuffolo/workspace/gomonkey/patch.go:170 +0xc4 fp=0x140000e5580 sp=0x140000e54e0 pc=0x1044f38b4
github.com/agiledragon/gomonkey/v2.ApplyFuncReturn({0x104553c60, 0x10458e528}, {0x140000d2060, 0x2, 0x2})
/Users/kciuffolo/workspace/gomonkey/patch.go:61 +0x48 fp=0x140000e55c0 sp=0x140000e5580 pc=0x1044f2b28
github.com/agiledragon/gomonkey/v2/test.TestApplyFuncReturn.func1.1()
/Users/kciuffolo/workspace/gomonkey/test/apply_func_return_test.go:20 +0xb0 fp=0x140000e56a0 sp=0x140000e55c0 pc=0x10450dfb0
github.com/smartystreets/goconvey/convey.parseAction.func1({0x104518335, 0x22})
/Users/kciuffolo/go/pkg/mod/github.com/smartystreets/goconvey@v1.6.4/convey/discovery.go:80 +0x24 fp=0x140000e56b0 sp=0x140000e56a0 pc=0x104504134
github.com/smartystreets/goconvey/convey.(*context).conveyInner(0x1400008e240, {0x104518335?, 0x140000c0360?}, 0x1400008c7e0)
/Users/kciuffolo/go/pkg/mod/github.com/smartystreets/goconvey@v1.6.4/convey/context.go:261 +0x15c fp=0x140000e5740 sp=0x140000e56b0 pc=0x1045035bc
github.com/smartystreets/goconvey/convey.(*context).Convey.func1()
/Users/kciuffolo/go/pkg/mod/github.com/smartystreets/goconvey@v1.6.4/convey/context.go:163 +0x30 fp=0x140000e5770 sp=0x140000e5740 pc=0x104503000
github.com/jtolds/gls.(*ContextManager).SetValues.func1(0x0)
/Users/kciuffolo/go/pkg/mod/github.com/jtolds/gls@v4.20.0+incompatible/context.go:97 +0x330 fp=0x140000e58e0 sp=0x140000e5770 pc=0x1044fc3b0
github.com/jtolds/gls.EnsureGoroutineId(0x1400009c810)
/Users/kciuffolo/go/pkg/mod/github.com/jtolds/gls@v4.20.0+incompatible/gid.go:19 +0xe8 fp=0x140000e5940 sp=0x140000e58e0 pc=0x1044fc788
github.com/jtolds/gls.(*ContextManager).SetValues(0x1400008c510, 0x1400009c7b0, 0x140000a4108)
/Users/kciuffolo/go/pkg/mod/github.com/jtolds/gls@v4.20.0+incompatible/context.go:63 +0x150 fp=0x140000e5980 sp=0x140000e5940 pc=0x1044fc030
github.com/smartystreets/goconvey/convey.(*context).Convey(0x1400008e1e0, {0x14000099a68?, 0x14000099a68?, 0x1044ffb84?})
/Users/kciuffolo/go/pkg/mod/github.com/smartystreets/goconvey@v1.6.4/convey/context.go:162 +0x3b8 fp=0x140000e5a10 sp=0x140000e5980 pc=0x104502f98
github.com/smartystreets/goconvey/convey.Convey({0x14000099a68, 0x2, 0x2})
/Users/kciuffolo/go/pkg/mod/github.com/smartystreets/goconvey@v1.6.4/convey/doc.go:77 +0x3c fp=0x140000e5a40 sp=0x140000e5a10 pc=0x10450426c
github.com/agiledragon/gomonkey/v2/test.TestApplyFuncReturn.func1()
/Users/kciuffolo/workspace/gomonkey/test/apply_func_return_test.go:17 +0x60 fp=0x140000e5a90 sp=0x140000e5a40 pc=0x10450e350
github.com/smartystreets/goconvey/convey.parseAction.func1({0x104512a0b, 0x13})
/Users/kciuffolo/go/pkg/mod/github.com/smartystreets/goconvey@v1.6.4/convey/discovery.go:80 +0x24 fp=0x140000e5aa0 sp=0x140000e5a90 pc=0x104504134
github.com/smartystreets/goconvey/convey.(*context).conveyInner(0x1400008e1e0, {0x104512a0b?, 0x8e00000000000000?}, 0x1400008c7b0)
/Users/kciuffolo/go/pkg/mod/github.com/smartystreets/goconvey@v1.6.4/convey/context.go:261 +0x15c fp=0x140000e5b30 sp=0x140000e5aa0 pc=0x1045035bc
github.com/smartystreets/goconvey/convey.rootConvey.func1()
/Users/kciuffolo/go/pkg/mod/github.com/smartystreets/goconvey@v1.6.4/convey/context.go:110 +0xcc fp=0x140000e5bb0 sp=0x140000e5b30 pc=0x1045029bc
github.com/jtolds/gls.(*ContextManager).SetValues.func1(0x0)
/Users/kciuffolo/go/pkg/mod/github.com/jtolds/gls@v4.20.0+incompatible/context.go:97 +0x330 fp=0x140000e5d20 sp=0x140000e5bb0 pc=0x1044fc3b0
github.com/jtolds/gls.EnsureGoroutineId.func1()
/Users/kciuffolo/go/pkg/mod/github.com/jtolds/gls@v4.20.0+incompatible/gid.go:24 +0x2c fp=0x140000e5d40 sp=0x140000e5d20 pc=0x1044fc7ec
github.com/jtolds/gls._m(0x14000099d98?, 0x1044fc71c?)
/Users/kciuffolo/go/pkg/mod/github.com/jtolds/gls@v4.20.0+incompatible/stack_tags.go:108 +0x28 fp=0x140000e5d60 sp=0x140000e5d40 pc=0x1044fd378
github.com/jtolds/gls.github_com_jtolds_gls_markS(0x1046dac01?, 0x14000099d80?)
/Users/kciuffolo/go/pkg/mod/github.com/jtolds/gls@v4.20.0+incompatible/stack_tags.go:56 +0x1c fp=0x140000e5d80 sp=0x140000e5d60 pc=0x1044fce1c
github.com/jtolds/gls.addStackTag(0x1046dacc0?, 0x1400009c6c0?)
/Users/kciuffolo/go/pkg/mod/github.com/jtolds/gls@v4.20.0+incompatible/stack_tags.go:49 +0x20 fp=0x140000e5da0 sp=0x140000e5d80 pc=0x1044fcdc0
github.com/jtolds/gls.EnsureGoroutineId(0x1400009c6c0)
/Users/kciuffolo/go/pkg/mod/github.com/jtolds/gls@v4.20.0+incompatible/gid.go:24 +0xc0 fp=0x140000e5e00 sp=0x140000e5da0 pc=0x1044fc760
github.com/jtolds/gls.(*ContextManager).SetValues(0x1400008c510, 0x1400009c660, 0x140000d2040)
/Users/kciuffolo/go/pkg/mod/github.com/jtolds/gls@v4.20.0+incompatible/context.go:63 +0x150 fp=0x140000e5e40 sp=0x140000e5e00 pc=0x1044fc030
github.com/smartystreets/goconvey/convey.rootConvey({0x14000099f28?, 0x1043e8990?, 0x77dd53563?})
/Users/kciuffolo/go/pkg/mod/github.com/smartystreets/goconvey@v1.6.4/convey/context.go:105 +0x224 fp=0x140000e5ed0 sp=0x140000e5e40 pc=0x1045028b4
github.com/smartystreets/goconvey/convey.Convey({0x14000099f28, 0x3, 0x3})
/Users/kciuffolo/go/pkg/mod/github.com/smartystreets/goconvey@v1.6.4/convey/doc.go:75 +0x50 fp=0x140000e5f00 sp=0x140000e5ed0 pc=0x104504280
github.com/agiledragon/gomonkey/v2/test.TestApplyFuncReturn(0x0?)
/Users/kciuffolo/workspace/gomonkey/test/apply_func_return_test.go:15 +0x74 fp=0x140000e5f60 sp=0x140000e5f00 pc=0x1045047f4
testing.tRunner(0x14000082d00, 0x10458e228)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:1595 +0xf8 fp=0x140000e5fb0 sp=0x140000e5f60 pc=0x104477588
testing.(*T).Run.func1()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:1648 +0x2c fp=0x140000e5fd0 sp=0x140000e5fb0 pc=0x10447823c
runtime.goexit()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/asm_arm64.s:1197 +0x4 fp=0x140000e5fd0 sp=0x140000e5fd0 pc=0x1043e7a94
created by testing.(*T).Run in goroutine 1
/opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:1648 +0x318

goroutine 1 [chan receive]:
runtime.gopark(0x10458e5e0, 0x140000da0c8, 0xe, 0x17, 0x2)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:398 +0xe0 fp=0x14000098a90 sp=0x14000098a60 pc=0x1043b5360
runtime.chanrecv(0x140000da070, 0x14000098b8f, 0x1)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/chan.go:583 +0x27c fp=0x14000098b10 sp=0x14000098a90 pc=0x10437e7ec
runtime.chanrecv1(0x10458aea0?, 0x104549960?)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/chan.go:442 +0x14 fp=0x14000098b40 sp=0x14000098b10 pc=0x10437e534
testing.(*T).Run(0x14000082b60, {0x104512a0b, 0x13}, 0x10458e228)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:1649 +0x32c fp=0x14000098c00 sp=0x14000098b40 pc=0x10447810c
testing.runTests.func1(0x14000098c78?)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:2054 +0x48 fp=0x14000098c50 sp=0x14000098c00 pc=0x104479d38
testing.tRunner(0x14000082b60, 0x14000098d48)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:1595 +0xf8 fp=0x14000098ca0 sp=0x14000098c50 pc=0x104477588
testing.runTests(0x140000a80a0?, {0x1046d65a0, 0xe, 0xe}, {0x104511671?, 0xf?, 0x1046dade0?})
/opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:2052 +0x2ec fp=0x14000098d70 sp=0x14000098ca0 pc=0x104479c3c
testing.(*M).Run(0x140000a80a0)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/testing/testing.go:1925 +0x418 fp=0x14000098ed0 sp=0x14000098d70 pc=0x104478ae8
main.main()
_testmain.go:73 +0x90 fp=0x14000098f50 sp=0x14000098ed0 pc=0x10450e470
runtime.main()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:267 +0x244 fp=0x14000098fd0 sp=0x14000098f50 pc=0x1043b4f04
runtime.goexit()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/asm_arm64.s:1197 +0x4 fp=0x14000098fd0 sp=0x14000098fd0 pc=0x1043e7a94

goroutine 2 [force gc (idle)]:
runtime.gopark(0x10458e918, 0x1046da760, 0x11, 0x14, 0x1)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:398 +0xe0 fp=0x14000046f70 sp=0x14000046f40 pc=0x1043b5360
runtime.goparkunlock(0x0?, 0x0?, 0x0?, 0x0?)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:404 +0x34 fp=0x14000046fa0 sp=0x14000046f70 pc=0x1043b53f4
runtime.forcegchelper()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:322 +0xb4 fp=0x14000046fd0 sp=0x14000046fa0 pc=0x1043b5184
runtime.goexit()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/asm_arm64.s:1197 +0x4 fp=0x14000046fd0 sp=0x14000046fd0 pc=0x1043e7a94
created by runtime.init.6 in goroutine 1
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:310 +0x24

goroutine 3 [GC sweep wait]:
runtime.gopark(0x10458e918, 0x1046dab40, 0xc, 0x14, 0x1)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:398 +0xe0 fp=0x14000047730 sp=0x14000047700 pc=0x1043b5360
runtime.goparkunlock(0x0?, 0x0?, 0x0?, 0x0?)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:404 +0x34 fp=0x14000047760 sp=0x14000047730 pc=0x1043b53f4
runtime.bgsweep(0x0?)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/mgcsweep.go:280 +0x9c fp=0x140000477b0 sp=0x14000047760 pc=0x10439eb0c
runtime.gcenable.func1()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/mgc.go:200 +0x28 fp=0x140000477d0 sp=0x140000477b0 pc=0x104393958
runtime.goexit()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/asm_arm64.s:1197 +0x4 fp=0x140000477d0 sp=0x140000477d0 pc=0x1043e7a94
created by runtime.gcenable in goroutine 1
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/mgc.go:200 +0x6c

goroutine 17 [GC scavenge wait]:
runtime.gopark(0x10458e918, 0x1046daee0, 0xd, 0x14, 0x2)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:398 +0xe0 fp=0x14000042720 sp=0x140000426f0 pc=0x1043b5360
runtime.goparkunlock(0x1400005c000?, 0x28?, 0xcc?, 0x1?)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:404 +0x34 fp=0x14000042750 sp=0x14000042720 pc=0x1043b53f4
runtime.(*scavengerState).park(0x1046daee0)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/mgcscavenge.go:425 +0x4c fp=0x14000042780 sp=0x14000042750 pc=0x10439bfcc
runtime.bgscavenge(0x0?)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/mgcscavenge.go:653 +0x44 fp=0x140000427b0 sp=0x14000042780 pc=0x10439c504
runtime.gcenable.func2()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/mgc.go:201 +0x28 fp=0x140000427d0 sp=0x140000427b0 pc=0x1043938f8
runtime.goexit()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/asm_arm64.s:1197 +0x4 fp=0x140000427d0 sp=0x140000427d0 pc=0x1043e7a94
created by runtime.gcenable in goroutine 1
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/mgc.go:201 +0xac

goroutine 18 [finalizer wait]:
runtime.gopark(0x10458e640, 0x10470ed68, 0x10, 0x14, 0x1)
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:398 +0xe0 fp=0x14000046590 sp=0x14000046560 pc=0x1043b5360
runtime.runfinq()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/mfinal.go:193 +0xf0 fp=0x140000467d0 sp=0x14000046590 pc=0x104392b50
runtime.goexit()
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/asm_arm64.s:1197 +0x4 fp=0x140000467d0 sp=0x140000467d0 pc=0x1043e7a94
created by runtime.createfing in goroutine 1
/opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/mfinal.go:163 +0x4c
exit status 2
FAIL github.com/agiledragon/gomonkey/v2/test 0.488s

@kilianc
Copy link
Author

kilianc commented Dec 11, 2023

If use a different method, it doesn't work at all:

t.Run("should return a list of people", func(t *testing.T) {
	calledWithUrl := "initial value"

	stub := func(req *fasthttp.Request, resp *fasthttp.Response) error {
		calledWithUrl = string(req.URI().FullURI())
		body := "[{\"id\": 1, \"name\": \"test-name\", \"email\": \"test-email\"}]"
		resp.SetBody([]byte(body))
		return nil
	}

	gm.ApplyFunc(fasthttp.Do, stub)
	defer gm.Reset()

	result, err := FetchPeople("http://test-url")
	assert.Nil(t, err)
	assert.Equal(t, "http://test-url/", calledWithUrl)
	assert.Equal(t, 1, len(result))
	assert.Equal(t, 1, result[0].ID)
	assert.Equal(t, "test-name", result[0].Name)
	assert.Equal(t, "test-email", result[0].Email)
})
error from docker and local
runtime: g 22: unexpected return pc for github.com/kilianc/base-golang.TestFetchPeople.func4 called from 0x300000000000000
stack: frame={sp:0x40000f9e60, fp:0x40000f9ed0} stack=[0x40000f8000,0x40000fa000)
0x00000040000f9d60:  0x0202010100000000  0x000000000000001c 
0x00000040000f9d70:  0x0000000000000030  0x0000000000000020 
0x00000040000f9d80:  0x00000040000febf0  0x000000400010e4b0 
0x00000040000f9d90:  0x00000040000b4500  0x0000004000083a00 
0x00000040000f9da0:  0x00000040000b01b0  0x00000040000b4540 
0x00000040000f9db0:  0x0000000000686508  0x00000040000fea80 
0x00000040000f9dc0:  0x00000040000ec380  0x0000000000000000 
0x00000040000f9dd0:  0x0000000000000000  0x00000000002b6aa0  
0x00000040000f9de0:  0x0000004000083b8c  0x0000000000000030 
0x00000040000f9df0:  0x00000040000b01b0  0x00000000002b6b20  
0x00000040000f9e00:  0x0000000000686460  0x00000040000fea80 
0x00000040000f9e10:  0x0000000000000003  0x00000040000f9dd8 
0x00000040000f9e20:  0x0000000000000000  0x00000040000f9e28 
0x00000040000f9e30:  0x0000000000313dfc   0x0000000000686460 
0x00000040000f9e40:  0x00000000003c3df9  0x000000400010a460 
0x00000040000f9e50:  0x0000000000000001  0x0000000000000001 
0x00000040000f9e60: <0x0300000000000000  0x00000040000ec380 
0x00000040000f9e70:  0x00000040000fea80  0x0000000000448c0a 
0x00000040000f9e80:  0x0000000000000000  0x0000000000000000 
0x00000040000f9e90:  0x0000000000313480   0x00000040000ec380 
0x00000040000f9ea0:  0x00000000003134e0   0x00000040000fea80 
0x00000040000f9eb0:  0x000000000059e120  0x00000000006293c0 
0x00000040000f9ec0:  0x0000000000000000  0x0000000000000000 
0x00000040000f9ed0: >0x0000000000000000  0x0000004000093e90 
0x00000040000f9ee0:  0x0000004000093ea0  0x0000004000093f58 
0x00000040000f9ef0:  0x00000000001242c8   0x00000000003d6b20 
0x00000040000f9f00:  0x000000000000002a  0x0000049ea8e0d757 
0x00000040000f9f10:  0x00000000006293c0  0x0000004000093f48 
0x00000040000f9f20:  0x00000000000a6c1c   0x0000000065765826 
0x00000040000f9f30:  0x000000400ed7c24b  0x0ed7c24b00000000 
0x00000040000f9f40:  0x0000000065765826  0x0000004000093f58 
0x00000040000f9f50:  0x0000004000083860  0x0000004000093fa8 
0x00000040000f9f60:  0x0000000000124f7c   0x0000000000000000 
0x00000040000f9f70:  0x0300000000000000  0x0000000000124340  
0x00000040000f9f80:  0x0000004000083860  0x0000000000124390  
0x00000040000f9f90:  0x0000004000083860  0x0000004000093f78 
0x00000040000f9fa0:  0x0000004000093f88  0x0000000000000000 
0x00000040000f9fb0:  0x0000000000084ad4   0x0000004000083860 
0x00000040000f9fc0:  0x00000000003fbdd8  0x0000000000000000 
fatal error: unknown caller pc

runtime stack:
runtime.throw({0x3c8a65?, 0x0?})
/usr/local/go/src/runtime/panic.go:1077 +0x40 fp=0xffffd53ff8f0 sp=0xffffd53ff8c0 pc=0x4fb10
runtime.(*unwinder).next(0xffffd53ffaf8)
/usr/local/go/src/runtime/traceback.go:475 +0x2e4 fp=0xffffd53ff980 sp=0xffffd53ff8f0 pc=0x75e44
runtime.copystack(0x40000831e0, 0x2000)
/usr/local/go/src/runtime/stack.go:934 +0x244 fp=0xffffd53ffc60 sp=0xffffd53ff980 pc=0x698f4
runtime.newstack()
/usr/local/go/src/runtime/stack.go:1116 +0x384 fp=0xffffd53ffe00 sp=0xffffd53ffc60 pc=0x69d44
traceback: unexpected SPWRITE function runtime.morestack
runtime.morestack()
/usr/local/go/src/runtime/asm_arm64.s:316 +0x70 fp=0xffffd53ffe00 sp=0xffffd53ffe00 pc=0x82770

goroutine 22 [copystack]:
runtime.mallocgc(0x70?, 0x389fc0?, 0x1?)
/usr/local/go/src/runtime/malloc.go:952 +0x6fc fp=0x40000f93a0 sp=0x40000f93a0 pc=0x2217c
runtime.newobject(0x0?)
/usr/local/go/src/runtime/malloc.go:1328 +0x2c fp=0x40000f93d0 sp=0x40000f93a0 pc=0x222ec
context.WithDeadlineCause({0x41af30, 0x6bb720}, {0x40000934c8?, 0x2db9c0?, 0x685e20?}, {0x0?, 0x0})
/usr/local/go/src/context/context.go:621 +0x90 fp=0x40000f9480 sp=0x40000f93d0 pc=0x116940
context.WithDeadline({0x41af30?, 0x6bb720?}, {0x3c852c?, 0x4000093508?, 0x685e20?})
/usr/local/go/src/context/context.go:607 +0x30 fp=0x40000f94d0 sp=0x40000f9480 pc=0x116870
github.com/valyala/fasthttp.resolveTCPAddrs({0x40000b4540?, 0x3476a0?}, 0x0, {0x0, 0x0}, {0x903e8?, 0x40000936b8?, 0x685e20?})
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/tcpdialer.go:429 +0xb4 fp=0x40000f9650 sp=0x40000f94d0 pc=0x2dba04
github.com/valyala/fasthttp.(*TCPDialer).getTCPAddrs(0x67b780, {0x40000b4540, 0x20}, 0x0?, {0x4000093700?, 0x1f?, 0x685e20?})
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/tcpdialer.go:393 +0x138 fp=0x40000f9720 sp=0x40000f9650 pc=0x2db768
github.com/valyala/fasthttp.(*TCPDialer).dial(0x67b780, {0x40000b4540, 0x20}, 0x0, 0x4000093848?)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/tcpdialer.go:284 +0x90 fp=0x40000f97e0 sp=0x40000f9720 pc=0x2dada0
github.com/valyala/fasthttp.(*TCPDialer).Dial(0xed7f566000b4540?, {0x40000b4540?, 0x4000093848?})
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/tcpdialer.go:188 +0x2c fp=0x40000f9820 sp=0x40000f97e0 pc=0x2dabbc
github.com/valyala/fasthttp.Dial({0x40000b4540?, 0x20?})
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/tcpdialer.go:37 +0x34 fp=0x40000f9850 sp=0x40000f9820 pc=0x2daa24
github.com/valyala/fasthttp.dialAddr({0x40000b4540, 0x20}, 0x0, 0x0, 0x1, 0x4000097800?, 0x0)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:1929 +0xac fp=0x40000f98c0 sp=0x40000f9850 pc=0x2baefc
github.com/valyala/fasthttp.(*HostClient).dialHostHard(0x4000083a00, 0x0)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:1860 +0x154 fp=0x40000f9980 sp=0x40000f98c0 pc=0x2ba924
github.com/valyala/fasthttp.(*HostClient).acquireConn(0x4000083a00, 0x0, 0x0)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:1521 +0x228 fp=0x40000f9af0 sp=0x40000f9980 pc=0x2b8d48
github.com/valyala/fasthttp.(*transport).RoundTrip(0x0?, 0x4000083a00, 0x40000fea80, 0x40000ec380)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:2852 +0xa8 fp=0x40000f9bb0 sp=0x40000f9af0 pc=0x2bb868
github.com/valyala/fasthttp.(*HostClient).doNonNilReqResp(0x4000083a00, 0x40000fea80, 0x40000ec380)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:1373 +0x1e8 fp=0x40000f9c20 sp=0x40000f9bb0 pc=0x2b89d8
github.com/valyala/fasthttp.(*HostClient).do(0x40000a2348?, 0x18?, 0x40000ec380)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:1323 +0x70 fp=0x40000f9c90 sp=0x40000f9c20 pc=0x2b8700
github.com/valyala/fasthttp.(*HostClient).Do(0x4000083a00, 0x40000fea80, 0x40000b4560?)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:1268 +0x15c fp=0x40000f9d30 sp=0x40000f9c90 pc=0x2b848c
github.com/valyala/fasthttp.(*Client).Do(0x686460, 0x3c3df9?, 0x400010a460?)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:551 +0x498 fp=0x40000f9e30 sp=0x40000f9d30 pc=0x2b68d8
github.com/valyala/fasthttp.Do(0x40000ec380?, 0x40000fea80?)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:36 +0x2c fp=0x40000f9e60 sp=0x40000f9e30 pc=0x2b5f9c
github.com/kilianc/base-golang.TestFetchPeople.func4(0x4000093e90?)
/app/fetchpeople_test.go:57 +0x2c fp=0x40000f9ed0 sp=0x40000f9e60 pc=0x313dfc
runtime: g 22: unexpected return pc for github.com/kilianc/base-golang.TestFetchPeople.func4 called from 0x300000000000000
stack: frame={sp:0x40000f9e60, fp:0x40000f9ed0} stack=[0x40000f8000,0x40000fa000)
0x00000040000f9d60: 0x0202010100000000 0x000000000000001c
0x00000040000f9d70: 0x0000000000000030 0x0000000000000020
0x00000040000f9d80: 0x00000040000febf0 0x000000400010e4b0
0x00000040000f9d90: 0x00000040000b4500 0x0000004000083a00
0x00000040000f9da0: 0x00000040000b01b0 0x00000040000b4540
0x00000040000f9db0: 0x0000000000686508 0x00000040000fea80
0x00000040000f9dc0: 0x00000040000ec380 0x0000000000000000
0x00000040000f9dd0: 0x0000000000000000 0x00000000002b6aa0 <github.com/valyala/fasthttp.(*Client).Do.func3+0x0000000000000000>
0x00000040000f9de0: 0x0000004000083b8c 0x0000000000000030
0x00000040000f9df0: 0x00000040000b01b0 0x00000000002b6b20 <github.com/valyala/fasthttp.(*Client).Do.func1+0x0000000000000000>
0x00000040000f9e00: 0x0000000000686460 0x00000040000fea80
0x00000040000f9e10: 0x0000000000000003 0x00000040000f9dd8
0x00000040000f9e20: 0x0000000000000000 0x00000040000f9e28
0x00000040000f9e30: 0x0000000000313dfc <github.com/kilianc/base-golang.TestFetchPeople.func4+0x000000000000002c> 0x0000000000686460
0x00000040000f9e40: 0x00000000003c3df9 0x000000400010a460
0x00000040000f9e50: 0x0000000000000001 0x0000000000000001
0x00000040000f9e60: <0x0300000000000000 0x00000040000ec380
0x00000040000f9e70: 0x00000040000fea80 0x0000000000448c0a
0x00000040000f9e80: 0x0000000000000000 0x0000000000000000
0x00000040000f9e90: 0x0000000000313480 <github.com/kilianc/base-golang.FetchPeople.func2+0x0000000000000000> 0x00000040000ec380
0x00000040000f9ea0: 0x00000000003134e0 <github.com/kilianc/base-golang.FetchPeople.func1+0x0000000000000000> 0x00000040000fea80
0x00000040000f9eb0: 0x000000000059e120 0x00000000006293c0
0x00000040000f9ec0: 0x0000000000000000 0x0000000000000000
0x00000040000f9ed0: >0x0000000000000000 0x0000004000093e90
0x00000040000f9ee0: 0x0000004000093ea0 0x0000004000093f58
0x00000040000f9ef0: 0x00000000001242c8 <testing.tRunner+0x00000000000000f8> 0x00000000003d6b20
0x00000040000f9f00: 0x000000000000002a 0x0000049ea8e0d757
0x00000040000f9f10: 0x00000000006293c0 0x0000004000093f48
0x00000040000f9f20: 0x00000000000a6c1c <time.Now+0x000000000000001c> 0x0000000065765826
0x00000040000f9f30: 0x000000400ed7c24b 0x0ed7c24b00000000
0x00000040000f9f40: 0x0000000065765826 0x0000004000093f58
0x00000040000f9f50: 0x0000004000083860 0x0000004000093fa8
0x00000040000f9f60: 0x0000000000124f7c <testing.(*T).Run.func1+0x000000000000002c> 0x0000000000000000
0x00000040000f9f70: 0x0300000000000000 0x0000000000124340 <testing.tRunner.func2+0x0000000000000000>
0x00000040000f9f80: 0x0000004000083860 0x0000000000124390 <testing.tRunner.func1+0x0000000000000000>
0x00000040000f9f90: 0x0000004000083860 0x0000004000093f78
0x00000040000f9fa0: 0x0000004000093f88 0x0000000000000000
0x00000040000f9fb0: 0x0000000000084ad4 <runtime.goexit+0x0000000000000004> 0x0000004000083860
0x00000040000f9fc0: 0x00000000003fbdd8 0x0000000000000000
created by testing.(*T).Run in goroutine 18
/usr/local/go/src/testing/testing.go:1648 +0x318

goroutine 1 [chan receive]:
runtime.gopark(0x3fbec0, 0x40000ee448, 0xe, 0x17, 0x2)
/usr/local/go/src/runtime/proc.go:398 +0xe0 fp=0x40000f7a90 sp=0x40000f7a60 pc=0x52510
runtime.chanrecv(0x40000ee3f0, 0x40000f7b8f, 0x1)
/usr/local/go/src/runtime/chan.go:583 +0x27c fp=0x40000f7b10 sp=0x40000f7a90 pc=0x1af2c
runtime.chanrecv1(0x3bc900?, 0x3476a0?)
/usr/local/go/src/runtime/chan.go:442 +0x14 fp=0x40000f7b40 sp=0x40000f7b10 pc=0x1ac74
testing.(*T).Run(0x4000082b60, {0x3c7ab1, 0xf}, 0x3fbce8)
/usr/local/go/src/testing/testing.go:1649 +0x32c fp=0x40000f7c00 sp=0x40000f7b40 pc=0x124e4c
testing.runTests.func1(0x40000f7c78?)
/usr/local/go/src/testing/testing.go:2054 +0x48 fp=0x40000f7c50 sp=0x40000f7c00 pc=0x126a78
testing.tRunner(0x4000082b60, 0x40000f7d48)
/usr/local/go/src/testing/testing.go:1595 +0xf8 fp=0x40000f7ca0 sp=0x40000f7c50 pc=0x1242c8
testing.runTests(0x400009ec80?, {0x674720, 0x1, 0x1}, {0x3c7afc?, 0xf?, 0x685e20?})
/usr/local/go/src/testing/testing.go:2052 +0x2ec fp=0x40000f7d70 sp=0x40000f7ca0 pc=0x12697c
testing.(*M).Run(0x400009ec80)
/usr/local/go/src/testing/testing.go:1925 +0x418 fp=0x40000f7ed0 sp=0x40000f7d70 pc=0x125828
main.main()
_testmain.go:47 +0x90 fp=0x40000f7f50 sp=0x40000f7ed0 pc=0x3140e0
runtime.main()
/usr/local/go/src/runtime/proc.go:267 +0x244 fp=0x40000f7fd0 sp=0x40000f7f50 pc=0x520b4
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40000f7fd0 sp=0x40000f7fd0 pc=0x84ad4

goroutine 2 [force gc (idle)]:
runtime.gopark(0x3fc1f8, 0x684e30, 0x11, 0x14, 0x1)
/usr/local/go/src/runtime/proc.go:398 +0xe0 fp=0x400003cf70 sp=0x400003cf40 pc=0x52510
runtime.goparkunlock(0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:404 +0x34 fp=0x400003cfa0 sp=0x400003cf70 pc=0x525a4
runtime.forcegchelper()
/usr/local/go/src/runtime/proc.go:322 +0xb4 fp=0x400003cfd0 sp=0x400003cfa0 pc=0x52334
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x400003cfd0 sp=0x400003cfd0 pc=0x84ad4
created by runtime.init.6 in goroutine 1
/usr/local/go/src/runtime/proc.go:310 +0x24

goroutine 3 [GC sweep wait]:
runtime.gopark(0x3fc1f8, 0x6855e0, 0xc, 0x14, 0x1)
/usr/local/go/src/runtime/proc.go:398 +0xe0 fp=0x400003d730 sp=0x400003d700 pc=0x52510
runtime.goparkunlock(0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:404 +0x34 fp=0x400003d760 sp=0x400003d730 pc=0x525a4
runtime.bgsweep(0x0?)
/usr/local/go/src/runtime/mgcsweep.go:280 +0x9c fp=0x400003d7b0 sp=0x400003d760 pc=0x3b38c
runtime.gcenable.func1()
/usr/local/go/src/runtime/mgc.go:200 +0x28 fp=0x400003d7d0 sp=0x400003d7b0 pc=0x301e8
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x400003d7d0 sp=0x400003d7d0 pc=0x84ad4
created by runtime.gcenable in goroutine 1
/usr/local/go/src/runtime/mgc.go:200 +0x6c

goroutine 4 [GC scavenge wait]:
runtime.gopark(0x3fc1f8, 0x685ea0, 0xd, 0x14, 0x2)
/usr/local/go/src/runtime/proc.go:398 +0xe0 fp=0x400003df20 sp=0x400003def0 pc=0x52510
runtime.goparkunlock(0x4000016070?, 0xa8?, 0x3e?, 0x1?)
/usr/local/go/src/runtime/proc.go:404 +0x34 fp=0x400003df50 sp=0x400003df20 pc=0x525a4
runtime.(*scavengerState).park(0x685ea0)
/usr/local/go/src/runtime/mgcscavenge.go:425 +0x4c fp=0x400003df80 sp=0x400003df50 pc=0x3885c
runtime.bgscavenge(0x0?)
/usr/local/go/src/runtime/mgcscavenge.go:653 +0x44 fp=0x400003dfb0 sp=0x400003df80 pc=0x38d84
runtime.gcenable.func2()
/usr/local/go/src/runtime/mgc.go:201 +0x28 fp=0x400003dfd0 sp=0x400003dfb0 pc=0x30188
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x400003dfd0 sp=0x400003dfd0 pc=0x84ad4
created by runtime.gcenable in goroutine 1
/usr/local/go/src/runtime/mgc.go:201 +0xac

goroutine 17 [finalizer wait]:
runtime.gopark(0x3fbf20, 0x6bb828, 0x10, 0x14, 0x1)
/usr/local/go/src/runtime/proc.go:398 +0xe0 fp=0x400003c590 sp=0x400003c560 pc=0x52510
runtime.runfinq()
/usr/local/go/src/runtime/mfinal.go:193 +0xf0 fp=0x400003c7d0 sp=0x400003c590 pc=0x2f3e0
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x400003c7d0 sp=0x400003c7d0 pc=0x84ad4
created by runtime.createfing in goroutine 1
/usr/local/go/src/runtime/mfinal.go:163 +0x4c

goroutine 18 [chan receive]:
runtime.gopark(0x3fbec0, 0x40000ee608, 0xe, 0x17, 0x2)
/usr/local/go/src/runtime/proc.go:398 +0xe0 fp=0x4000092db0 sp=0x4000092d80 pc=0x52510
runtime.chanrecv(0x40000ee5b0, 0x4000092eaf, 0x1)
/usr/local/go/src/runtime/chan.go:583 +0x27c fp=0x4000092e30 sp=0x4000092db0 pc=0x1af2c
runtime.chanrecv1(0x3bc900?, 0x3476a0?)
/usr/local/go/src/runtime/chan.go:442 +0x14 fp=0x4000092e60 sp=0x4000092e30 pc=0x1ac74
testing.(*T).Run(0x4000082d00, {0x3d6b4a, 0x2a}, 0x3fbdd8)
/usr/local/go/src/testing/testing.go:1649 +0x32c fp=0x4000092f20 sp=0x4000092e60 pc=0x124e4c
github.com/kilianc/base-golang.TestFetchPeople(0x0?)
/app/fetchpeople_test.go:56 +0x104 fp=0x4000092f60 sp=0x4000092f20 pc=0x313734
testing.tRunner(0x4000082d00, 0x3fbce8)
/usr/local/go/src/testing/testing.go:1595 +0xf8 fp=0x4000092fb0 sp=0x4000092f60 pc=0x1242c8
testing.(*T).Run.func1()
/usr/local/go/src/testing/testing.go:1648 +0x2c fp=0x4000092fd0 sp=0x4000092fb0 pc=0x124f7c
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000092fd0 sp=0x4000092fd0 pc=0x84ad4
created by testing.(*T).Run in goroutine 1
/usr/local/go/src/testing/testing.go:1648 +0x318

goroutine 23 [sleep]:
runtime.gopark(0x3fc238, 0x4000180000, 0x13, 0x13, 0x1)
/usr/local/go/src/runtime/proc.go:398 +0xe0 fp=0x40000386a0 sp=0x4000038670 pc=0x52510
time.Sleep(0x3b9aca00)
/usr/local/go/src/runtime/time.go:195 +0x108 fp=0x40000386e0 sp=0x40000386a0 pc=0x81818
github.com/valyala/fasthttp.(*Client).mCleaner(0x686460, 0x400010e4b0)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:580 +0x84 fp=0x40000387b0 sp=0x40000386e0 pc=0x2b6d54
github.com/valyala/fasthttp.(*Client).Do.func4()
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:548 +0x2c fp=0x40000387d0 sp=0x40000387b0 pc=0x2b6a6c
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40000387d0 sp=0x40000387d0 pc=0x84ad4
created by github.com/valyala/fasthttp.(*Client).Do in goroutine 22
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:548 +0x480

goroutine 24 [sleep]:
runtime.gopark(0x3fc238, 0x4000180050, 0x13, 0x13, 0x1)
/usr/local/go/src/runtime/proc.go:398 +0xe0 fp=0x4000038eb0 sp=0x4000038e80 pc=0x52510
time.Sleep(0x2540be400)
/usr/local/go/src/runtime/time.go:195 +0x108 fp=0x4000038ef0 sp=0x4000038eb0 pc=0x81818
github.com/valyala/fasthttp.(*HostClient).connsCleaner(0x4000083a00)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:1626 +0x50 fp=0x4000038fb0 sp=0x4000038ef0 pc=0x2b9560
github.com/valyala/fasthttp.(*HostClient).acquireConn.func3()
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:1518 +0x28 fp=0x4000038fd0 sp=0x4000038fb0 pc=0x2b90f8
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000038fd0 sp=0x4000038fd0 pc=0x84ad4
created by github.com/valyala/fasthttp.(*HostClient).acquireConn in goroutine 22
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/client.go:1518 +0x21c

goroutine 25 [sleep]:
runtime.gopark(0x3fc238, 0x40001800a0, 0x13, 0x13, 0x1)
/usr/local/go/src/runtime/proc.go:398 +0xe0 fp=0x4000039710 sp=0x40000396e0 pc=0x52510
time.Sleep(0x3b9aca00)
/usr/local/go/src/runtime/time.go:195 +0x108 fp=0x4000039750 sp=0x4000039710 pc=0x81818
github.com/valyala/fasthttp.(*TCPDialer).tcpAddrsClean(0x67b780)
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/tcpdialer.go:370 +0x34 fp=0x40000397b0 sp=0x4000039750 pc=0x2db4e4
github.com/valyala/fasthttp.(*TCPDialer).dial.func1.1()
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/tcpdialer.go:280 +0x28 fp=0x40000397d0 sp=0x40000397b0 pc=0x2db078
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40000397d0 sp=0x40000397d0 pc=0x84ad4
created by github.com/valyala/fasthttp.(*TCPDialer).dial.func1 in goroutine 22
/go/pkg/mod/github.com/valyala/fasthttp@v1.51.0/tcpdialer.go:280 +0xc0
exit status 2
FAIL github.com/kilianc/base-golang 0.006s

@kilianc
Copy link
Author

kilianc commented Dec 11, 2023

more logs with the latest changes, 2 failed out of 100 local runs, but almost 80% failure in docker.

error from docker and local
go version go1.21.5 darwin/arm64
Run 1
PASS
ok  	github.com/kilianc/base-golang	0.460s
Run 2
PASS
ok  	github.com/kilianc/base-golang	0.266s
Run 3
PASS
ok  	github.com/kilianc/base-golang	0.266s
Run 4
PASS
ok  	github.com/kilianc/base-golang	0.232s
Run 5
PASS
ok  	github.com/kilianc/base-golang	0.266s
Run 6
PASS
ok  	github.com/kilianc/base-golang	0.257s
Run 7
PASS
ok  	github.com/kilianc/base-golang	0.264s
Run 8
PASS
ok  	github.com/kilianc/base-golang	0.245s
Run 9
PASS
ok  	github.com/kilianc/base-golang	0.271s
Run 10
PASS
ok  	github.com/kilianc/base-golang	0.259s
Run 11
PASS
ok  	github.com/kilianc/base-golang	0.261s
Run 12
PASS
ok  	github.com/kilianc/base-golang	0.271s
Run 13
PASS
ok  	github.com/kilianc/base-golang	0.267s
Run 14
PASS
ok  	github.com/kilianc/base-golang	0.251s
Run 15
PASS
ok  	github.com/kilianc/base-golang	0.237s
Run 16
PASS
ok  	github.com/kilianc/base-golang	0.248s
Run 17
PASS
ok  	github.com/kilianc/base-golang	0.257s
Run 18
PASS
ok  	github.com/kilianc/base-golang	0.263s
Run 19
PASS
ok  	github.com/kilianc/base-golang	0.264s
Run 20
PASS
ok  	github.com/kilianc/base-golang	0.202s
Run 21
PASS
ok  	github.com/kilianc/base-golang	0.210s
Run 22
PASS
ok  	github.com/kilianc/base-golang	0.242s
Run 23
PASS
ok  	github.com/kilianc/base-golang	0.255s
Run 24
PASS
ok  	github.com/kilianc/base-golang	0.262s
Run 25
PASS
ok  	github.com/kilianc/base-golang	0.270s
Run 26
PASS
ok  	github.com/kilianc/base-golang	0.221s
Run 27
PASS
ok  	github.com/kilianc/base-golang	0.462s
Run 28
PASS
ok  	github.com/kilianc/base-golang	0.544s
Run 29
PASS
ok  	github.com/kilianc/base-golang	0.234s
Run 30
PASS
ok  	github.com/kilianc/base-golang	0.230s
Run 31
PASS
ok  	github.com/kilianc/base-golang	0.236s
Run 32
PASS
ok  	github.com/kilianc/base-golang	0.224s
Run 33
PASS
ok  	github.com/kilianc/base-golang	0.236s
Run 34
--- FAIL: TestFetchPeople (0.00s)
    --- FAIL: TestFetchPeople/should_return_a_list_of_people (0.00s)
        fetchpeople_test.go:47:
            	Error Trace:	/Users/kciuffolo/workspace/base-golang/fetchpeople_test.go:47
            	Error:      	Expected nil, but got: &errors.errorString{s:"test-error"}
            	Test:       	TestFetchPeople/should_return_a_list_of_people
        fetchpeople_test.go:48:
            	Error Trace:	/Users/kciuffolo/workspace/base-golang/fetchpeople_test.go:48
            	Error:      	Not equal:
            	            	expected: "http://test-url/"
            	            	actual  : "initial value"
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1 +1 @@
        	            	-http://test-url/
        	            	+initial value
        	Test:       	TestFetchPeople/should_return_a_list_of_people
    fetchpeople_test.go:49:
        	Error Trace:	/Users/kciuffolo/workspace/base-golang/fetchpeople_test.go:49
        	Error:      	Not equal:
        	            	expected: 1
        	            	actual  : 0
        	Test:       	TestFetchPeople/should_return_a_list_of_people

panic: runtime error: index out of range [0] with length 0 [recovered]
panic: runtime error: index out of range [0] with length 0

goroutine 9 [running]:
testing.tRunner.func1.2({0x100e62400, 0x14000018438})
/Users/kciuffolo/.gvm/gos/go1.21.5/src/testing/testing.go:1545 +0x1c4
testing.tRunner.func1()
/Users/kciuffolo/.gvm/gos/go1.21.5/src/testing/testing.go:1548 +0x364
panic({0x100e62400?, 0x14000018438?})
/Users/kciuffolo/.gvm/gos/go1.21.5/src/runtime/panic.go:914 +0x200
github.com/kilianc/base-golang.TestFetchPeople.func3(0x0?)
/Users/kciuffolo/workspace/base-golang/fetchpeople_test.go:50 +0x2b0
testing.tRunner(0x1400014aea0, 0x14000029690)
/Users/kciuffolo/.gvm/gos/go1.21.5/src/testing/testing.go:1595 +0xf8
created by testing.(*T).Run in goroutine 6
/Users/kciuffolo/.gvm/gos/go1.21.5/src/testing/testing.go:1648 +0x318
exit status 2
FAIL github.com/kilianc/base-golang 0.127s
Run 35
PASS
ok github.com/kilianc/base-golang 0.200s
Run 36
PASS
ok github.com/kilianc/base-golang 0.223s
Run 37
PASS
ok github.com/kilianc/base-golang 0.228s
Run 38
PASS
ok github.com/kilianc/base-golang 0.224s
Run 39
PASS
ok github.com/kilianc/base-golang 0.200s
Run 40
PASS
ok github.com/kilianc/base-golang 0.221s
Run 41
PASS
ok github.com/kilianc/base-golang 0.212s
Run 42
PASS
ok github.com/kilianc/base-golang 0.226s
Run 43
PASS
ok github.com/kilianc/base-golang 0.224s
Run 44
PASS
ok github.com/kilianc/base-golang 0.217s
Run 45
PASS
ok github.com/kilianc/base-golang 0.230s
Run 46
PASS
ok github.com/kilianc/base-golang 0.230s
Run 47
PASS
ok github.com/kilianc/base-golang 0.230s
Run 48
PASS
ok github.com/kilianc/base-golang 0.238s
Run 49
PASS
ok github.com/kilianc/base-golang 0.229s
Run 50
PASS
ok github.com/kilianc/base-golang 0.224s
Run 51
PASS
ok github.com/kilianc/base-golang 0.239s
Run 52
PASS
ok github.com/kilianc/base-golang 0.231s
Run 53
PASS
ok github.com/kilianc/base-golang 0.223s
Run 54
PASS
ok github.com/kilianc/base-golang 0.239s
Run 55
--- FAIL: TestFetchPeople (0.00s)
--- FAIL: TestFetchPeople/should_return_a_list_of_people (0.00s)
fetchpeople_test.go:47:
Error Trace: /Users/kciuffolo/workspace/base-golang/fetchpeople_test.go:47
Error: Expected nil, but got: &errors.errorString{s:"test-error"}
Test: TestFetchPeople/should_return_a_list_of_people
fetchpeople_test.go:48:
Error Trace: /Users/kciuffolo/workspace/base-golang/fetchpeople_test.go:48
Error: Not equal:
expected: "http://test-url/"
actual : "initial value"

        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1 +1 @@
        	            	-http://test-url/
        	            	+initial value
        	Test:       	TestFetchPeople/should_return_a_list_of_people
    fetchpeople_test.go:49:
        	Error Trace:	/Users/kciuffolo/workspace/base-golang/fetchpeople_test.go:49
        	Error:      	Not equal:
        	            	expected: 1
        	            	actual  : 0
        	Test:       	TestFetchPeople/should_return_a_list_of_people

panic: runtime error: index out of range [0] with length 0 [recovered]
panic: runtime error: index out of range [0] with length 0

goroutine 22 [running]:
testing.tRunner.func1.2({0x1047ea400, 0x140000b22b8})
/Users/kciuffolo/.gvm/gos/go1.21.5/src/testing/testing.go:1545 +0x1c4
testing.tRunner.func1()
/Users/kciuffolo/.gvm/gos/go1.21.5/src/testing/testing.go:1548 +0x364
panic({0x1047ea400?, 0x140000b22b8?})
/Users/kciuffolo/.gvm/gos/go1.21.5/src/runtime/panic.go:914 +0x200
github.com/kilianc/base-golang.TestFetchPeople.func3(0x0?)
/Users/kciuffolo/workspace/base-golang/fetchpeople_test.go:50 +0x2b0
testing.tRunner(0x1400008bba0, 0x140000a1650)
/Users/kciuffolo/.gvm/gos/go1.21.5/src/testing/testing.go:1595 +0xf8
created by testing.(*T).Run in goroutine 19
/Users/kciuffolo/.gvm/gos/go1.21.5/src/testing/testing.go:1648 +0x318
exit status 2
FAIL github.com/kilianc/base-golang 0.110s
Run 56
PASS
ok github.com/kilianc/base-golang 0.241s
Run 57
PASS
ok github.com/kilianc/base-golang 0.222s
Run 58
PASS
ok github.com/kilianc/base-golang 0.236s
Run 59
PASS
ok github.com/kilianc/base-golang 0.238s
Run 60
PASS
ok github.com/kilianc/base-golang 0.238s
Run 61
PASS
ok github.com/kilianc/base-golang 0.226s
Run 62
PASS
ok github.com/kilianc/base-golang 0.237s
Run 63
PASS
ok github.com/kilianc/base-golang 0.221s
Run 64
PASS
ok github.com/kilianc/base-golang 0.223s
Run 65
PASS
ok github.com/kilianc/base-golang 0.227s
Run 66
PASS
ok github.com/kilianc/base-golang 0.223s
Run 67
PASS
ok github.com/kilianc/base-golang 0.220s
Run 68
PASS
ok github.com/kilianc/base-golang 0.240s
Run 69
PASS
ok github.com/kilianc/base-golang 0.219s
Run 70
PASS
ok github.com/kilianc/base-golang 0.249s
Run 71
PASS
ok github.com/kilianc/base-golang 0.240s
Run 72
PASS
ok github.com/kilianc/base-golang 0.314s
Run 73
PASS
ok github.com/kilianc/base-golang 0.255s
Run 74
PASS
ok github.com/kilianc/base-golang 0.288s
Run 75
PASS
ok github.com/kilianc/base-golang 0.288s
Run 76
PASS
ok github.com/kilianc/base-golang 0.266s
Run 77
PASS
ok github.com/kilianc/base-golang 0.253s
Run 78
PASS
ok github.com/kilianc/base-golang 0.265s
Run 79
PASS
ok github.com/kilianc/base-golang 0.283s
Run 80
PASS
ok github.com/kilianc/base-golang 0.297s
Run 81
PASS
ok github.com/kilianc/base-golang 0.266s
Run 82
PASS
ok github.com/kilianc/base-golang 0.265s
Run 83
PASS
ok github.com/kilianc/base-golang 0.282s
Run 84
PASS
ok github.com/kilianc/base-golang 0.308s
Run 85
PASS
ok github.com/kilianc/base-golang 0.289s
Run 86
PASS
ok github.com/kilianc/base-golang 0.286s
Run 87
PASS
ok github.com/kilianc/base-golang 0.220s
Run 88
PASS
ok github.com/kilianc/base-golang 0.267s
Run 89
PASS
ok github.com/kilianc/base-golang 0.255s
Run 90
PASS
ok github.com/kilianc/base-golang 0.268s
Run 91
PASS
ok github.com/kilianc/base-golang 0.244s
Run 92
PASS
ok github.com/kilianc/base-golang 0.282s
Run 93
PASS
ok github.com/kilianc/base-golang 0.287s
Run 94
PASS
ok github.com/kilianc/base-golang 0.285s
Run 95
PASS
ok github.com/kilianc/base-golang 0.281s
Run 96
PASS
ok github.com/kilianc/base-golang 0.241s
Run 97
PASS
ok github.com/kilianc/base-golang 0.488s
Run 98
PASS
ok github.com/kilianc/base-golang 0.547s
Run 99
PASS
ok github.com/kilianc/base-golang 0.707s
Run 100
PASS
ok github.com/kilianc/base-golang 0.243s

@SmallSmartMouse
Copy link

do you solve?

@kilianc
Copy link
Author

kilianc commented Apr 14, 2024

no

@xhd2015
Copy link

xhd2015 commented Apr 14, 2024

@kilianc @SmallSmartMouse why not try https://github.com/xhd2015/xgo?

@xhd2015
Copy link

xhd2015 commented Apr 14, 2024

@kilianc Sorry but found that I have replied in another place. Let me issue a PR for you

@xhd2015
Copy link

xhd2015 commented Apr 14, 2024

@kilianc Sorry but found that I have replied in another place. Let me issue a PR for you

@kilianc @SmallSmartMouse I created a PR here: kilianc/base-golang#3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants