ITADN

[Bug] Service crash caused by Go agent unexpected fault address

#13885Openotokaze 创建于 2026-05-26
buggo
O
otokazecommented
### Apache SkyWalking Component Go Agent (apache/skywalking-go) ### What happened go agent data race. ### What you expected to happen unexpected fault address ### How to reproduce skywalking-go@main (latest commit, non-release version for PostgreSQL support) ### Anything else unexpected fault address 0x1f28cf0 fatal error: fault [signal SIGSEGV: segmentation violation code=0x2 addr=0x1f28cf0 pc=0x7ef153] goroutine 23 gp=0xc0002d94a0 m=10 mp=0xc0105d1008 [running]: runtime.throw({0x1d0557a?, 0xc00dbdac40?}) /usr/local/go/src/runtime/panic.go:1094 +0x48 fp=0xc020f8e710 sp=0xc020f8e6e0 pc=0x4801a8 runtime.sigpanic() /usr/local/go/src/runtime/signal_unix.go:939 +0x26c fp=0xc020f8e770 sp=0xc020f8e710 pc=0x48270c google.golang.org/protobuf/internal/impl.(*MessageInfo).sizePointerSlow(0xc00027c608, {0x1bd?}, {0x0?}) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/internal/impl/encode.go:128 +0x2f3 fp=0xc020f8e7e8 sp=0xc020f8e770 pc=0x7ef153 google.golang.org/protobuf/internal/impl.(*MessageInfo).sizePointer(0xc00048e680?, {0xc01b1bf800?}, {0xc0?}) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/internal/impl/encode.go:60 +0x6f fp=0xc020f8e820 sp=0xc020f8e7e8 pc=0x7eee0f google.golang.org/protobuf/internal/impl.sizeMessageSliceInfo({0x200703e10ed6900?}, 0xc000d145e0, {0x2d?}) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/internal/impl/codec_field.go:414 +0x4d fp=0xc020f8e870 sp=0xc020f8e820 pc=0x7c048d google.golang.org/protobuf/internal/impl.(*MessageInfo).sizePointerSlow(0xc0002a2ad8, {0xc0004ee818?}, {0x31?}) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/internal/impl/encode.go:111 +0x245 fp=0xc020f8e8e8 sp=0xc020f8e870 pc=0x7ef0a5 google.golang.org/protobuf/internal/impl.(*MessageInfo).sizePointer(0x1bd?, {0x441707?}, {0x0?}) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/internal/impl/encode.go:60 +0x6f fp=0xc020f8e920 sp=0xc020f8e8e8 pc=0x7eee0f google.golang.org/protobuf/internal/impl.sizeMessageSliceInfo({0xc0002a2808?}, 0xc0004ee818, {0x1c?}) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/internal/impl/codec_field.go:414 +0x4d fp=0xc020f8e970 sp=0xc020f8e920 pc=0x7c048d google.golang.org/protobuf/internal/impl.(*MessageInfo).sizePointerSlow(0xc0002a2808, {0x76af45?}, {0xf8?}) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/internal/impl/encode.go:111 +0x245 fp=0xc020f8e9e8 sp=0xc020f8e970 pc=0x7ef0a5 google.golang.org/protobuf/internal/impl.(*MessageInfo).sizePointer(0xc020f8ea58?, {0x492e45?}, {0x80?}) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/internal/impl/encode.go:60 +0x6f fp=0xc020f8ea20 sp=0xc020f8e9e8 pc=0x7eee0f google.golang.org/protobuf/internal/impl.(*MessageInfo).size(0x0?, {{}, {0x21ccaf8?, 0xc021fe2990?}, 0xcd?}) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/internal/impl/encode.go:41 +0x3e fp=0xc020f8ea48 sp=0xc020f8ea20 pc=0x7eed3e google.golang.org/protobuf/internal/impl.(*MessageInfo).size-fm({{}, {0x21ccaf8?, 0xc021fe2990?}, 0xa8?}) <autogenerated>:1 +0x35 fp=0xc020f8ea78 sp=0xc020f8ea48 pc=0x81d235 google.golang.org/protobuf/proto.MarshalOptions.size({{}, 0x90?, 0x29?, 0xfe?}, {0x21ccaf8, 0xc021fe2990}) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/proto/size.go:43 +0x82 fp=0xc020f8eaf0 sp=0xc020f8ea78 pc=0x76ec02 google.golang.org/protobuf/proto.MarshalOptions.Size({{}, 0xe0?, 0x6c?, 0xc1?}, {0x21ab880?, 0xc021fe2990?}) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/proto/size.go:34 +0x4c fp=0xc020f8eb20 sp=0xc020f8eaf0 pc=0x76eb2c google.golang.org/protobuf/proto.Size(...) /go/pkg/mod/google.golang.org/protobuf@v1.36.11/proto/size.go:20 google.golang.org/grpc/encoding/proto.(*codecV2).Marshal(0x0?, {0x1c16ce0?, 0xc021fe2990?}) /go/pkg/mod/google.golang.org/grpc@v1.77.0/encoding/proto/proto.go:51 +0x7a fp=0xc020f8ebd0 sp=0xc020f8eb20 pc=0x173ea7a google.golang.org/grpc.encode({0x7fee8fe730e0?, 0x30bb1a0?}, {0x1c16ce0?, 0xc021fe2990?}) /go/pkg/mod/google.golang.org/grpc@v1.77.0/rpc_util.go:734 +0x4a fp=0xc020f8ec50 sp=0xc020f8ebd0 pc=0x176770a google.golang.org/grpc.prepareMsg({0x1c16ce0?, 0xc021fe2990?}, {0x7fee8fe730e0?, 0x30bb1a0?}, {0x0, 0x0}, {0x0, 0x0}, {0x21b7010, 0xc00042c100}) /go/pkg/mod/google.golang.org/grpc@v1.77.0/stream.go:1858 +0xe5 fp=0xc020f8ece8 sp=0xc020f8ec50 pc=0x1782565 google.golang.org/grpc.(*clientStream).SendMsg(0xc01055ea00, {0x1c16ce0, 0xc021fe2990}) /go/pkg/mod/google.golang.org/grpc@v1.77.0/stream.go:924 +0x19f fp=0xc020f8ef00 sp=0xc020f8ece8 pc=0x177ae1f github.com/apache/skywalking-go/protocols/collect/language/agent/v3.(*traceSegmentReportServiceCollectClient).Send(0x21bae68?, 0x21baea0?) /go/pkg/mod/github.com/apache/skywalking-go@v0.6.1-0.20260502031559-052bf4b42c13/protocols/collect/language/agent/v3/Tracing_grpc.pb.go:61 +0x25 fp=0xc020f8ef28 sp=0xc020f8ef00 pc=0x17ca4e5 github.com/apache/skywalking-go/agent/reporter.(*gRPCReporter).initSendPipeline.func1() grpc.go:212 +0x226 fp=0xc020f8efe0 sp=0xc020f8ef28 pc=0x17e10a6 runtime.goexit({}) /usr/local/go/src/runtime/asm_amd64.s:1693 +0x1 fp=0xc020f8efe8 sp=0xc020f8efe0 pc=0x4885a1 created by github.com/apache/skywalking-go/agent/reporter.(*gRPCReporter).initSendPipeline in goroutine 1 grpc.go:189 +0x5f ### Are you willing to submit a pull request to fix on your own? - [ ] Yes I am willing to submit a pull request on my own! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
0 条评论