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

unsafe_map crash #26

Open
cuisj opened this issue Apr 6, 2022 · 4 comments
Open

unsafe_map crash #26

cuisj opened this issue Apr 6, 2022 · 4 comments

Comments

@cuisj
Copy link

cuisj commented Apr 6, 2022

fatal error: fault
[signal SIGSEGV: segmentation violation code=0x80 addr=0x0 pc=0x4616bf]

goroutine 40 [running]:
runtime.throw({0x90159d?, 0x8?})
/usr/local/go/src/runtime/panic.go:992 +0x71 fp=0xc0000bb2f0 sp=0xc0000bb2c0 pc=0x435051
runtime.sigpanic()
/usr/local/go/src/runtime/signal_unix.go:825 +0x305 fp=0xc0000bb340 sp=0xc0000bb2f0 pc=0x44a545
aeshashbody()
/usr/local/go/src/runtime/asm_amd64.s:1343 +0x39f fp=0xc0000bb348 sp=0xc0000bb340 pc=0x4616bf
runtime.mapiternext(0xc0002ace40)
/usr/local/go/src/runtime/map.go:934 +0x2cb fp=0xc0000bb3b8 sp=0xc0000bb348 pc=0x410f0b
runtime.mapiterinit(0x1?, 0x1b?, 0x10?)
/usr/local/go/src/runtime/map.go:861 +0x228 fp=0xc0000bb3d8 sp=0xc0000bb3b8 pc=0x410be8
reflect.mapiterinit(0x861b00?, 0x40b9b5?, 0x87ca98?)
/usr/local/go/src/runtime/map.go:1373 +0x19 fp=0xc0000bb400 sp=0xc0000bb3d8 pc=0x45e539
github.com/modern-go/reflect2.(*UnsafeMapType).UnsafeIterate(...)
/root/go/pkg/mod/github.com/modern-go/reflect2@v0.0.0-20180701023420-4b7aa43c6742/unsafe_map.go:112
github.com/json-iterator/go.(*mapEncoder).Encode(0xc0003cca50, 0xc0002acbe0, 0xc000281680)
/root/go/pkg/mod/github.com/json-iterator/go@v1.1.9/reflect_map.go:257 +0x21c fp=0xc0000bb4b0 sp=0xc0000bb400 pc=0x58cddc
github.com/json-iterator/go.(*structFieldEncoder).Encode(0xc0003ccbd0, 0x839d14?, 0xc000281680)
/root/go/pkg/mod/github.com/json-iterator/go@v1.1.9/reflect_struct_encoder.go:110 +0x56 fp=0xc0000bb528 sp=0xc0000bb4b0 pc=0x59a6f6
github.com/json-iterator/go.(*structEncoder).Encode(0xc0003ccc30, 0x0?, 0xc000281680)
/root/go/pkg/mod/github.com/json-iterator/go@v1.1.9/reflect_struct_encoder.go:158 +0x652 fp=0xc0000bb600 sp=0xc0000bb528 pc=0x59aff2
github.com/json-iterator/go.(*OptionalEncoder).Encode(0xc00011e280?, 0x0?, 0x0?)
/root/go/pkg/mod/github.com/json-iterator/go@v1.1.9/reflect_optional.go:74 +0xa4 fp=0xc0000bb650 sp=0xc0000bb600 pc=0x592724
github.com/json-iterator/go.(*onePtrEncoder).Encode(0xc0003b7330, 0xc0002acbc0, 0xc0003cc3f0?)
/root/go/pkg/mod/github.com/json-iterator/go@v1.1.9/reflect.go:219 +0x82 fp=0xc0000bb688 sp=0xc0000bb650 pc=0x585e02
github.com/json-iterator/go.(*Stream).WriteVal(0xc000281680, {0x895760, 0xc0002acbc0})
/root/go/pkg/mod/github.com/json-iterator/go@v1.1.9/reflect.go:98 +0x158 fp=0xc0000bb6f8 sp=0xc0000bb688 pc=0x585118
github.com/json-iterator/go.(*frozenConfig).Marshal(0xc00011e280, {0x895760, 0xc0002acbc0})
/root/go/pkg/mod/github.com/json-iterator/go@v1.1.9/config.go:299 +0xc9 fp=0xc0000bb790 sp=0xc0000bb6f8 pc=0x57d809
github.com/json-iterator/go.Marshal(...)
/root/go/pkg/mod/github.com/json-iterator/go@v1.1.9/adapter.go:34
github.asiainfo-sec.com/ZSP-SDP/aisdp-common/aisdp-rocketmq/rocketmq-client-go/v2/internal/remote.(*jsonCodec).encodeHeader(0xc0000bb838?, 0x4104fd?)
/root/go/pkg/mod/github.asiainfo-sec.com/!z!s!p-!s!d!p/aisdp-common/aisdp-rocketmq@v0.0.0-20211027023014-b776f21ed95d/rocketmq-client-go/v2/internal/remote/codec.go:281 +0x33 fp=0xc0000bb7b8 sp=0xc0000bb790 pc=0x7bda93

@zenhack
Copy link

zenhack commented Apr 16, 2022

Looks like this is fixed as of 1.0.2, but the version of github.com/json-iterator/goyou're using has a lower version bound on this package; if you update the latter package to v1.1.12 I think that should fix it (worked for my own project locally).

@szelenka
Copy link

I'm seeing a similar crash from version v1.0.2 in the json-iterator package:

kubed-cint-59bbc96755-8x5m5 kubed I0627 17:07:53.274202       7 trace.go:205] Trace[1474941318]: "Reflector ListAndWatch" name:k8s.io/client-go/informers/factory.go:134 (27-Jun-2022 17:07:37.491) (total time: 15782ms):
kubed-cint-59bbc96755-8x5m5 kubed Trace[1474941318]: ---"Objects listed" 15777ms (17:07:00.269)
kubed-cint-59bbc96755-8x5m5 kubed Trace[1474941318]: [15.782796639s] [15.782796639s] END
kubed-cint-59bbc96755-8x5m5 kubed unexpected fault address 0x0
kubed-cint-59bbc96755-8x5m5 kubed fatal error: fault
kubed-cint-59bbc96755-8x5m5 kubed [signal SIGSEGV: segmentation violation code=0x80 addr=0x0 pc=0x4662bf]
kubed-cint-59bbc96755-8x5m5 kubed
kubed-cint-59bbc96755-8x5m5 kubed goroutine 161 [running]:
kubed-cint-59bbc96755-8x5m5 kubed runtime.throw({0x1e19095?, 0x1?})
kubed-cint-59bbc96755-8x5m5 kubed       /usr/local/go/src/runtime/panic.go:992 +0x71 fp=0xc001ff4ee8 sp=0xc001ff4eb8 pc=0x4361d1
kubed-cint-59bbc96755-8x5m5 kubed runtime.sigpanic()
kubed-cint-59bbc96755-8x5m5 kubed       /usr/local/go/src/runtime/signal_unix.go:825 +0x305 fp=0xc001ff4f38 sp=0xc001ff4ee8 pc=0x44c465
kubed-cint-59bbc96755-8x5m5 kubed aeshashbody()
kubed-cint-59bbc96755-8x5m5 kubed       /usr/local/go/src/runtime/asm_amd64.s:1343 +0x39f fp=0xc001ff4f40 sp=0xc001ff4f38 pc=0x4662bf
kubed-cint-59bbc96755-8x5m5 kubed runtime.mapiternext(0xc0002a9c80)
kubed-cint-59bbc96755-8x5m5 kubed       /usr/local/go/src/runtime/map.go:934 +0x2cb fp=0xc001ff4fb0 sp=0xc001ff4f40 pc=0x40fd0b
kubed-cint-59bbc96755-8x5m5 kubed runtime.mapiterinit(0x8b2ac2?, 0xc000766420?, 0x7f57a86404d0?)
kubed-cint-59bbc96755-8x5m5 kubed       /usr/local/go/src/runtime/map.go:861 +0x228 fp=0xc001ff4fd0 sp=0xc001ff4fb0 pc=0x40f9e8
kubed-cint-59bbc96755-8x5m5 kubed reflect.mapiterinit(0x8c75f6?, 0x1b723c0?, 0xc0002a9c80?)
kubed-cint-59bbc96755-8x5m5 kubed       /usr/local/go/src/runtime/map.go:1373 +0x19 fp=0xc001ff4ff8 sp=0xc001ff4fd0 pc=0x462ab9
kubed-cint-59bbc96755-8x5m5 kubed github.com/modern-go/reflect2.(*UnsafeMapType).UnsafeIterate(...)
kubed-cint-59bbc96755-8x5m5 kubed       /go/src/github.com/kubeops/config-syncer/vendor/github.com/modern-go/reflect2/unsafe_map.go:112
kubed-cint-59bbc96755-8x5m5 kubed github.com/json-iterator/go.(*mapEncoder).IsEmpty(0x11?, 0x1951f4b?)
kubed-cint-59bbc96755-8x5m5 kubed       /go/src/github.com/kubeops/config-syncer/vendor/github.com/json-iterator/go/reflect_map.go:275 +0x28 fp=0xc001ff5038 sp=0xc001ff4ff8 pc=0x8b9bc8

@sylr
Copy link

sylr commented Jul 5, 2022

@szelenka
Copy link

szelenka commented Jul 5, 2022

I was able to mitigate the error by reverting back to 1.17 go compiler, seems something is not happy with 1.18+

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

4 participants