Thrift parse exception | runtime error: index out of range

Hi,

Packetbeat is continuosly throwing the following exception for thrift-rpc monitoring:

ERROR runtime/panic.go:28 ParseThrift exception. Recovering, but please report this.{"panic": "runtime error: index out of range", "stack": "github.com/elastic/beats/libbeat/logp.Recover\n\t/go/src/github.com/elastic/beats/libbeat/logp/global.go:88\nruntime.call32\n\t/usr/local/go/src/runtime/asm_amd64.s:509\nruntime.gopanic\n\t/usr/local/go/src/runtime/panic.go:491\nruntime.panicindex\n\t/usr/local/go/src/runtime/panic.go:28\ngithub.com/elastic/beats/packetbeat/protos/thrift.(*thriftPlugin).readStruct\n\t/go/src/github.com/elastic/beats/packetbeat/protos/thrift/thrift.go:606\ngithub.com/elastic/beats/packetbeat/protos/thrift.(*thriftPlugin).(github.com/elastic/beats/packetbeat/protos/thrift.readStruct)-fm\n\t/go/src/github.com/elastic/beats/packetbeat/protos/thrift/thrift.go:680\ngithub.com/elastic/beats/packetbeat/protos/thrift.(*thriftPlugin).readListOrSet\n\t/go/src/github.com/elastic/beats/packetbeat/protos/thrift/thrift.go:494\ngithub.com/elastic/beats/packetbeat/protos/thrift.(*thriftPlugin).readList\n\t/go/src/github.com/elastic/beats/packetbeat/protos/thrift/thrift.go:522\ngithub.com/elastic/beats/packetbeat/protos/thrift.(*thriftPlugin).(github.com/elastic/beats/packetbeat/protos/thrift.readList)-fm\n\t/go/src/github.com/elastic/beats/packetbeat/protos/thrift/thrift.go:674\ngithub.com/elastic/beats/packetbeat/protos/thrift.(*thriftPlugin).readStruct\n\t/go/src/github.com/elastic/beats/packetbeat/protos/thrift/thrift.go:625\ngithub.com/elastic/beats/packetbeat/protos/thrift.(*thriftPlugin).(github.com/elastic/beats/packetbeat/protos/thrift.readStruct)-fm\n\t/go/src/github.com/elastic/beats/packetbeat/protos/thrift/thrift.go:680\ngithub.com/elastic/beats/packetbeat/protos/thrift.(*thriftPlugin).readField\n\t/go/src/github.com/elastic/beats/packetbeat/protos/thrift/thrift.go:713\ngithub.com/elastic/beats/packetbeat/protos/thrift.(*thriftPlugin).messageParser\n\t/go/src/github.com/elastic/beats/packetbeat/protos/thrift/thrift.go:765\ngithub.com/elastic/beats/packetbeat/protos/thrift.(*thriftPlugin).Parse\n\t/go/src/github.com/elastic/beats/packetbeat/protos/thrift/thrift.go:938\ngithub.com/elastic/beats/packetbeat/protos/tcp.(*TCPStream).addPacket\n\t/go/src/github.com/elastic/beats/packetbeat/protos/tcp/tcp.go:127\ngithub.com/elastic/beats/packetbeat/protos/tcp.(*TCP).Process\n\t/go/src/github.com/elastic/beats/packetbeat/protos/tcp/tcp.go:222\ngithub.com/elastic/beats/packetbeat/decoder.(*Decoder).onTCP\n\t/go/src/github.com/elastic/beats/packetbeat/decoder/decoder.go:317\ngithub.com/elastic/beats/packetbeat/decoder.(*Decoder).process\n\t/go/src/github.com/elastic/beats/packetbeat/decoder/decoder.go:258\ngithub.com/elastic/beats/packetbeat/decoder.(*Decoder).OnPacket\n\t/go/src/github.com/elastic/beats/packetbeat/decoder/decoder.go:164\ngithub.com/elastic/beats/packetbeat/sniffer.(*Sniffer).Run\n\t/go/src/github.com/elastic/beats/packetbeat/sniffer/sniffer.go:193\ngithub.com/elastic/beats/packetbeat/beater.(*packetbeat).Run.func2\n\t/go/src/github.com/elastic/beats/packetbeat/beater/packetbeat.go:202"}

Found an old issue here: Packetbeat 5.6.1 - Thrift Protocol Error - index out of range

Any plans for fixing this in the upcoming releases? We unable to use Packetbeat because of this due to possible data loss.

Thanks,
Pallavi

I followed up at https://github.com/elastic/beats/issues/995#issuecomment-409626074.

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