Teltonika (FMB110) decoder throws IndexOutOfBoundsException

vael5 years ago

When server is down for some reason (test environment) and comes back up, the data sent from the device during the down period cannot be decoded. Fails after half of the locations are decoded. Device is running on default settings. Any suggestions?

Log:

2020-10-26 18:45:11  INFO: [2367b185] connected
2020-10-26 18:45:11  INFO: [2367b185: teltonika < 0:0:0:0:0:0:0:1] HEX: 000f333539363332313038383734303134
2020-10-26 18:45:15  INFO: Automatically registered device 359632108874014
2020-10-26 18:45:15  INFO: [2367b185: teltonika > 0:0:0:0:0:0:0:1] HEX: 01
2020-10-26 18:45:15  INFO: [2367b185: teltonika < 0:0:0:0:0:0:0:1] HEX: 00000000000004da08150000017564996580000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042427802f1000060e110000067a900000001756499c728000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042427502f1000060e110000067a90000000175649a28d0000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042427702f1000060e110000067a90000000175649a8a78000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042427702f1000060e110000067a90000000175649aec20000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042426b02f1000060e110000067a90000000175649b4dc8000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b600004241be02f1000060e110000067a90000000175649baf70000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042428b02f1000060e110000067a90000000175649c1118000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b600004242b402f1000060e110000067a90000000175649c72c0000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042429602f1000060e110000067a90000000175649cd468000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042429502f1000060e110000067a90000000175649d3610000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042429d02f1000060e110000067a90000000175649d97b8000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b600004241cc02f1000060e110000067a90000000175649df960000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042428502f1000060e110000067a90000000175649e5b08000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b600004242a402f1000060e110000067a90000000175649ebcb0000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042429502f1000060e110000067a90000000175649f1e58000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042429802f1000060e110000067a90000000175649f8000000ebf40b6236a588100000000000000000a05ef01f0001504c800450203b50000b6000042429a02f1000060e110000067a90000000175649fe1a8000ebf
2020-10-26 18:45:15  WARN: [2367b185] error - readerIndex(1248) + length(8) exceeds writerIndex(1254): PooledSlicedByteBuf(ridx: 1248, widx: 1254, cap: 1254/1254, unwrapped: PooledUnsafeDirectByteBuf(ridx: 1254, widx: 2048, cap: 2048)) - IndexOutOfBoundsException (... < TeltonikaProtocolDecoder:192 < *:202 < *:551 < *:642 < *:687 < *:677 < ExtendedObjectDecoder:51 < ... < WrapperContext:102 < ...)
2020-10-26 18:45:18  INFO: [2367b185] disconnected
Anton Tananaev5 years ago

Are you using the latest version?

vael5 years ago

Traccar is from latest master.

Anton Tananaev5 years ago

Have you tried latest stable version? Does it have the same issue?

vael5 years ago

Just tested on v4.10, same result. Same issue with 2 identical devices.

Anton Tananaev5 years ago

Is there a tool that can provide a breakdown of the samples?

vael5 years ago

I didn't quite understand what kind of breakdown are you asking? I can only access the hex sent by the devices.

Anton Tananaev5 years ago

Some vendors provide tools to break down HEX into values. Not sure if Teltonika has anything like that.

vael5 years ago

This parser is able to break down the values, but strangely my hex (which I posted here) seems corrupted when using this. I am able to parse another hex which works fine with this tool. So I am not sure now, maybe it could be the problem with the device after all or the default configuration is not suited for it?

The Teltonika parser:
https://support.gpsgate.com/hc/en-us/articles/360014493859-Diagnosing-Teltonika-behavior-using-the-parser

Anton Tananaev5 years ago

Are you saying the official Teltonika parser shows it as corrupted?

vael5 years ago

It seems so. I tried 10 different hexes now and cannot seem to parse any of them. I have a Teltonika FMB010 which sends data fine and parses correctly using the tool, so I am not sure what to make of it.

I reset the records for my failing device and now it parses fine using the tool, so it only becomes corrupted when I take the server down and it piles up the records which it is unable to send through.

Anton Tananaev5 years ago

Could be a device issue. I would recommend contacting Teltonika support, especially if even their tool indicates that device is sending corrupted data.

vael5 years ago

I will. Thanks for the support.