Metricbeat runtime error: slice bounds out of range

Hello,

I’m currently integrating metricbeat 7.10 on a Linux distribution using Golang 1.14.

But a “runtime error: slice bounds out of range” is raised, only on ARMv7 targets, see below.

In addition, I integrated filebeat successfully.

Would you have any idea what I could look for to fix it?

root@qemuarm:~# filebeat version
filebeat version 7.10.3 (arm), libbeat 7.10.3 [unknown built unknown]

root@qemuarm:~# metricbeat version
panic: runtime error: slice bounds out of range [:77258047] with
capacity 27

goroutine 1 [running]:
google.golang.org/protobuf/internal/filedesc.(*File).allocMessages(...)
       
/src/dist/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/metricbeat/7.10-r0/build/pkg/mod/google.golang.org/protobuf@v1.23.0
/internal/filedesc/desc_init.go:63
google.golang.org/protobuf/internal/filedesc.(*Message).unmarshalSeed(0
x857481d0, 0x49e5336, 0x341, 0x171d, 0x85717a20, 0x85561e00, 0x3931e98,
0x85561e00, 0x4)
       
/src/dist/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/metricbeat/7.10-r0/build/pkg/mod/google.golang.org/protobuf@v1.23.0
/internal/filedesc/desc_init.go:334 +0xb48
google.golang.org/protobuf/internal/filedesc.(*File).unmarshalSeed(0x85
561e00, 0x49e4c90, 0x1dc3, 0x1dc3)
       
/src/dist/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/metricbeat/7.10-r0/build/pkg/mod/google.golang.org/protobuf@v1.23.0
/internal/filedesc/desc_init.go:198 +0xe00
google.golang.org/protobuf/internal/filedesc.newRawFile(0x352837b,
0x2d, 0x49e4c90, 0x1dc3, 0x1dc3, 0x6, 0x1b, 0x0, 0x0, 0x3913070, ...)
       
/src/dist/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/metricbeat/7.10-r0/build/pkg/mod/google.golang.org/protobuf@v1.23.0
/internal/filedesc/desc_init.go:29 +0x1ec
google.golang.org/protobuf/internal/filedesc.Builder.Build(0x352837b,
0x2d, 0x49e4c90, 0x1dc3, 0x1dc3, 0x6, 0x1b, 0x0, 0x0, 0x3913070, ...)
       
/src/dist/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/metricbeat/7.10-r0/build/pkg/mod/google.golang.org/protobuf@v1.23.0
/internal/filedesc/build.go:103 +0x84
google.golang.org/protobuf/internal/filetype.Builder.Build(0x352837b,
0x2d, 0x49e4c90, 0x1dc3, 0x1dc3, 0x6, 0x1b, 0x0, 0x0, 0x0, ...)
       
/src/dist/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/metricbeat/7.10-r0/build/pkg/mod/google.golang.org/protobuf@v1.23.0
/internal/filetype/build.go:139 +0x12c
google.golang.org/protobuf/types/descriptorpb.file_google_protobuf_desc
riptor_proto_init()
       
/src/dist/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/metricbeat/7.10-r0/build/pkg/mod/google.golang.org/protobuf@v1.23.0
/types/descriptorpb/descriptor.pb.go:4035 +0x1fc
google.golang.org/protobuf/types/descriptorpb.init.0()
       
/src/dist/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/metricbeat/7.10-r0/build/pkg/mod/google.golang.org/protobuf@v1.23.0
/types/descriptorpb/descriptor.pb.go:3672 +0x14

Best regards,
Thomas

hello @tperrot

welcome to the community!

The panic happens on the init function of google.golang.org/protobuf/types/descriptorpb package

I cannot find any direct import of this package in Metricbeat source (it's only imported in x-pack by the agent)

I suspect is an indirect dependency from github.com/gogo/protobuf, that's imported in Metricbeat and not in Filebeat

The version was bumped from v1.3.1 to v1.3.2, in v7.16.0 release of beat. You could try to compile this one just to assess if the panic still persists

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.