agiledragon / gomonkey

gomonkey is a library to make monkey patching in unit tests easy
MIT License
1.92k stars 178 forks source link

panic with SIGBUS #146

Open lhzzz opened 7 months ago

lhzzz commented 7 months ago

Has anyone encountered this error?

unexpected fault address 0x10385b714
fatal error: fault
[signal SIGBUS: bus error code=0x1 addr=0x10385b714 pc=0x10385b714]

goroutine 129 [running]:
runtime.throw({0x1038a4c1e?, 0x10385b714?})
    /usr/local/go/src/runtime/panic.go:1047 +0x40 fp=0x1400080b3b0 sp=0x1400080b380 pc=0x102ddb990
runtime.sigpanic()
    /usr/local/go/src/runtime/signal_unix.go:834 +0x10c fp=0x1400080b3f0 sp=0x1400080b3b0 pc=0x102df323c
github.com/agiledragon/gomonkey/v2.mprotectCrossPage(0x1038589a0, 0x18, 0x103e392f8?)
    /Users/l/go/pkg/mod/github.com/agiledragon/gomonkey/v2@v2.10.1/modify_binary_darwin.go:22 +0x94 fp=0x1400080b460 sp=0x1400080b400 pc=0x10385b714
github.com/agiledragon/gomonkey/v2.modifyBinary(0x1038589a0, {0x140005c00a8, 0x18, 0x103c36ba0?})
    /Users/l/go/pkg/mod/github.com/agiledragon/gomonkey/v2@v2.10.1/modify_binary_darwin.go:7 +0x4c fp=0x1400080b4b0 sp=0x1400080b460 pc=0x10385b5fc
github.com/agiledragon/gomonkey/v2.replace(0x1038589a0, 0x103c83320?)
    /Users/l/go/pkg/mod/github.com/agiledragon/gomonkey/v2@v2.10.1/patch.go:269 +0x88 fp=0x1400080b520 sp=0x1400080b4b0 pc=0x10385c118
github.com/agiledragon/gomonkey/v2.(*Patches).ApplyCore(0x140005ca090, {0x103c83320?, 0x140005bc3b0?, 0x102db0418?}, {0x103c83320, 0x140005ca078, 0x13})
    /Users/l/go/pkg/mod/github.com/agiledragon/gomonkey/v2@v2.10.1/patch.go:213 +0x4c fp=0x1400080b590 sp=0x1400080b520 pc=0x10385bb1c
github.com/agiledragon/gomonkey/v2.(*Patches).ApplyMethod(0x0?, {0x103dee900, 0x103df8140}, {0x1038b720a, 0x10}, {0x103c83320?, 0x140005ca078?})
    /Users/l/go/pkg/mod/github.com/agiledragon/gomonkey/v2@v2.10.1/patch.go:92 +0x1c0 fp=0x1400080b6b0 sp=0x1400080b590 pc=0x10385b920
github.com/agiledragon/gomonkey/v2.ApplyMethod(...)
    /Users/l/go/pkg/mod/github.com/agiledragon/gomonkey/v2@v2.10.1/patch.go:29
github.com/cloud/authapp/unit.MonkeySession(0x140005c4150, 0x1)
    /Users/l/code/authapp/unit/unit_data.go:65 +0x16c fp=0x1400080b7e0 sp=0x1400080b6b0 pc=0x103891b5c
github.com/cloud/authapp/controller.TestCaptchaCheck(0x14000116680)
    /Users/l/code/authapp/controller/captcha_test.go:340 +0x38 fp=0x1400080bf60 sp=0x1400080b7e0 pc=0x10389b4e8
testing.tRunner(0x14000116680, 0x103e13d30)
    /usr/local/go/src/testing/testing.go:1576 +0x10c fp=0x1400080bfb0 sp=0x1400080bf60 pc=0x102ec89dc
testing.(*T).Run.func1()
    /usr/local/go/src/testing/testing.go:1629 +0x2c fp=0x1400080bfd0 sp=0x1400080bfb0 pc=0x102ec984c
runtime.goexit()
    /usr/local/go/src/runtime/asm_arm64.s:1172 +0x4 fp=0x1400080bfd0 sp=0x1400080bfd0 pc=0x102e12884
created by testing.(*T).Run
    /usr/local/go/src/testing/testing.go:1629 +0x368

goroutine 1 [chan receive]:
runtime.gopark(0x140005bc330?, 0x0?, 0x48?, 0xf9?, 0x102db0d2c?)
    /usr/local/go/src/runtime/proc.go:381 +0xe4 fp=0x1400041f8c0 sp=0x1400041f8a0 pc=0x102dde3e4
runtime.chanrecv(0x140005d4070, 0x1400041f9cf, 0x1)
    /usr/local/go/src/runtime/chan.go:583 +0x45c fp=0x1400041f950 sp=0x1400041f8c0 pc=0x102da9ebc
runtime.chanrecv1(0x10477bd60?, 0x103c36ba0?)
    /usr/local/go/src/runtime/chan.go:442 +0x14 fp=0x1400041f980 sp=0x1400041f950 pc=0x102da9a24
testing.(*T).Run(0x140001161a0, {0x1038b74fa?, 0x4b6cb885bf70?}, 0x103e13d30)
    /usr/local/go/src/testing/testing.go:1630 +0x37c fp=0x1400041fa40 sp=0x1400041f980 pc=0x102ec971c
testing.runTests.func1(0x140005c40f0?)
    /usr/local/go/src/testing/testing.go:2036 +0x48 fp=0x1400041fa90 sp=0x1400041fa40 pc=0x102ecb618
testing.tRunner(0x140001161a0, 0x1400041fbb8)
    /usr/local/go/src/testing/testing.go:1576 +0x10c fp=0x1400041fae0 sp=0x1400041fa90 pc=0x102ec89dc
testing.runTests(0x14000611cc0?, {0x10474c860, 0xb, 0xb}, {0xd?, 0xd?, 0x104780240?})
    /usr/local/go/src/testing/testing.go:2034 +0x40c fp=0x1400041fbe0 sp=0x1400041fae0 pc=0x102ecb50c
testing.(*M).Run(0x14000611cc0)
    /usr/local/go/src/testing/testing.go:1906 +0x58c fp=0x1400041fe30 sp=0x1400041fbe0 pc=0x102eca15c
git.shining3d.com/cloud/authapp/controller.TestMain(0x14000084728?)
    /Users/l/code/authapp/controller/auth_test.go:67 +0xd8 fp=0x1400041feb0 sp=0x1400041fe30 pc=0x103899648
main.main()
    _testmain.go:69 +0x1d4 fp=0x1400041ff70 sp=0x1400041feb0 pc=0x10389cb04
runtime.main()
    /usr/local/go/src/runtime/proc.go:250 +0x248 fp=0x1400041ffd0 sp=0x1400041ff70 pc=0x102dddfb8
runtime.goexit()
    /usr/local/go/src/runtime/asm_arm64.s:1172 +0x4 fp=0x1400041ffd0 sp=0x1400041ffd0 pc=0x102e12884

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
    /usr/local/go/src/runtime/proc.go:381 +0xe4 fp=0x14000084fa0 sp=0x14000084f80 pc=0x102dde3e4
runtime.goparkunlock(...)
    /usr/local/go/src/runtime/proc.go:387
runtime.forcegchelper()
    /usr/local/go/src/runtime/proc.go:305 +0xb8 fp=0x14000084fd0 sp=0x14000084fa0 pc=0x102dde228
runtime.goexit()
    /usr/local/go/src/runtime/asm_arm64.s:1172 +0x4 fp=0x14000084fd0 sp=0x14000084fd0 pc=0x102e12884
created by runtime.init.6
    /usr/local/go/src/runtime/proc.go:293 +0x24

goroutine 17 [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
    /usr/local/go/src/runtime/proc.go:381 +0xe4 fp=0x14000080760 sp=0x14000080740 pc=0x102dde3e4
runtime.goparkunlock(...)
    /usr/local/go/src/runtime/proc.go:387
runtime.bgsweep(0x0?)
    /usr/local/go/src/runtime/mgcsweep.go:319 +0x110 fp=0x140000807b0 sp=0x14000080760 pc=0x102dc8ea0
runtime.gcenable.func1()
    /usr/local/go/src/runtime/mgc.go:178 +0x28 fp=0x140000807d0 sp=0x140000807b0 pc=0x102dbd958
runtime.goexit()
    /usr/local/go/src/runtime/asm_arm64.s:1172 +0x4 fp=0x140000807d0 sp=0x140000807d0 pc=0x102e12884
created by runtime.gcenable
    /usr/local/go/src/runtime/mgc.go:178 +0x74

goroutine 18 [GC scavenge wait]:
runtime.gopark(0x140000ac000?, 0x103b7dde0?, 0x0?, 0x0?, 0x0?)
    /usr/local/go/src/runtime/proc.go:381 +0xe4 fp=0x14000080f50 sp=0x14000080f30 pc=0x102dde3e4
runtime.goparkunlock(...)
    /usr/local/go/src/runtime/proc.go:387
runtime.(*scavengerState).park(0x104780540)
    /usr/local/go/src/runtime/mgcscavenge.go:400 +0x5c fp=0x14000080f80 sp=0x14000080f50 pc=0x102dc6cbc
runtime.bgscavenge(0x0?)
    /usr/local/go/src/runtime/mgcscavenge.go:633 +0xac fp=0x14000080fb0 sp=0x14000080f80 pc=0x102dc729c
runtime.gcenable.func2()
    /usr/local/go/src/runtime/mgc.go:179 +0x28 fp=0x14000080fd0 sp=0x14000080fb0 pc=0x102dbd8f8
runtime.goexit()
    /usr/local/go/src/runtime/asm_arm64.s:1172 +0x4 fp=0x14000080fd0 sp=0x14000080fd0 pc=0x102e12884
created by runtime.gcenable
    /usr/local/go/src/runtime/mgc.go:179 +0xb8

goroutine 33 [finalizer wait]:
runtime.gopark(0x0?, 0x103e172d8?, 0x80?, 0x40?, 0x2000000020?)
    /usr/local/go/src/runtime/proc.go:381 +0xe4 fp=0x14000084580 sp=0x14000084560 pc=0x102dde3e4
runtime.runfinq()
    /usr/local/go/src/runtime/mfinal.go:193 +0x10c fp=0x140000847d0 sp=0x14000084580 pc=0x102dbc9ec
runtime.goexit()
    /usr/local/go/src/runtime/asm_arm64.s:1172 +0x4 fp=0x140000847d0 sp=0x140000847d0 pc=0x102e12884
created by runtime.createfing
    /usr/local/go/src/runtime/mfinal.go:163 +0x84

goroutine 34 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
    /usr/local/go/src/runtime/proc.go:381 +0xe4 fp=0x140004c0740 sp=0x140004c0720 pc=0x102dde3e4
runtime.gcBgMarkWorker()
    /usr/local/go/src/runtime/mgc.go:1275 +0xec fp=0x140004c07d0 sp=0x140004c0740 pc=0x102dbf89c
runtime.goexit()
    /usr/local/go/src/runtime/asm_arm64.s:1172 +0x4 fp=0x140004c07d0 sp=0x140004c07d0 pc=0x102e12884
created by runtime.gcBgMarkStartWorkers
    /usr/local/go/src/runtime/mgc.go:1199 +0x28

goroutine 35 [GC worker (idle)]:
runtime.gopark(0x4b6b888314a6?, 0x3?, 0x70?, 0x5?, 0x0?)
    /usr/local/go/src/runtime/proc.go:381 +0xe4 fp=0x140004c0f40 sp=0x140004c0f20 pc=0x102dde3e4
runtime.gcBgMarkWorker()
    /usr/local/go/src/runtime/mgc.go:1275 +0xec fp=0x140004c0fd0 sp=0x140004c0f40 pc=0x102dbf89c
runtime.goexit()
    /usr/local/go/src/runtime/asm_arm64.s:1172 +0x4 fp=0x140004c0fd0 sp=0x140004c0fd0 pc=0x102e12884
created by runtime.gcBgMarkStartWorkers
    /usr/local/go/src/runtime/mgc.go:1199 +0x28

goroutine 3 [GC worker (idle)]:
runtime.gopark(0x4b6b8880e855?, 0x0?, 0x0?, 0x0?, 0x0?)
    /usr/local/go/src/runtime/proc.go:381 +0xe4 fp=0x14000085740 sp=0x14000085720 pc=0x102dde3e4
runtime.gcBgMarkWorker()
    /usr/local/go/src/runtime/mgc.go:1275 +0xec fp=0x140000857d0 sp=0x14000085740 pc=0x102dbf89c
runtime.goexit()
    /usr/local/go/src/runtime/asm_arm64.s:1172 +0x4 fp=0x140000857d0 sp=0x140000857d0 pc=0x102e12884
created by runtime.gcBgMarkStartWorkers
    /usr/local/go/src/runtime/mgc.go:1199 +0x28

goroutine 19 [GC worker (idle)]:
runtime.gopark(0x4b6b88835dba?, 0x0?, 0x0?, 0x0?, 0x0?)
    /usr/local/go/src/runtime/proc.go:381 +0xe4 fp=0x14000081740 sp=0x14000081720 pc=0x102dde3e4
runtime.gcBgMarkWorker()
    /usr/local/go/src/runtime/mgc.go:1275 +0xec fp=0x140000817d0 sp=0x14000081740 pc=0x102dbf89c
runtime.goexit()
    /usr/local/go/src/runtime/asm_arm64.s:1172 +0x4 fp=0x140000817d0 sp=0x140000817d0 pc=0x102e12884
created by runtime.gcBgMarkStartWorkers
    /usr/local/go/src/runtime/mgc.go:1199 +0x28
...
fishman001 commented 7 months ago

+1

CalmBYANG commented 7 months ago

+1

magyang-wish commented 5 months ago

+1

benjunyun1 commented 5 months ago

is this problem solved?

shubham-dogra-s1 commented 4 months ago

+1

dhairyapunjabi commented 4 months ago

@agiledragon this error starts happening intermittently, can you please check for a permanent fix for this?

yyfyfyang commented 1 month ago

我在执行go test的时候是没有问题的,但是当我想要获取测试覆盖率go test -coverprofile=coverage.out的时候就会报错,我是mac m1

SiwakornSitti commented 1 month ago

It's happening to me