Data not saved due to decoder issue

Naylaa day ago

Hi!
I'm having trouble receiving data from my smartwatch (Wonlex). Previously, the data was successfully received by Traccar. However, a few days later, I received this issue:
"This log shows an error in the Traccar decoder (WatchProtocolDecoder) due to the length of the received data not matching the decoder's expectations."

Example data:

[3G*DEVICE_ID*0077*UD_LTE,150324,071338,V,-0.313458,S,0.8162667,E,0.00,0.0,0.0,0.100,92,0,0.0000000,1,0.510,10,1246,110741015,147,0,0.0]

Please help, thank you.

2025-12-23 10:11:08  INFO: [T6e279102: watch < 192.168.88.107] 03
2025-12-23 10:11:09  INFO: [T6e279102: watch < 192.168.88.107] 03
2025-12-23 10:11:09  WARN: [T6e279102] error - 
java.lang.IndexOutOfBoundsException: readerIndex(1) + length(2) exceeds writerIndex(2): UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf(ridx: 1, widx: 2, cap: 256)
	at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1468)
	at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1454)
	at io.netty.buffer.AbstractByteBuf.readSlice(AbstractByteBuf.java:886)
	at org.traccar.protocol.WatchProtocolDecoder.decode(WatchProtocolDecoder.java:205)
	at org.traccar.ExtendedObjectDecoder.channelRead(ExtendedObjectDecoder.java:73)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:356)
	at org.traccar.WrapperContext.fireChannelRead(WrapperContext.java:102)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
	at org.traccar.WrapperInboundHandler.channelRead(WrapperInboundHandler.java:56)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
	at org.traccar.handler.network.StandardLoggingHandler.channelRead(StandardLoggingHandler.java:62)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:354)
	at org.traccar.handler.network.NetworkMessageHandler.channelRead(NetworkMessageHandler.java:36)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:354)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:168)
	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.handle(AbstractNioChannel.java:445)
	at io.netty.channel.nio.NioIoHandler$DefaultNioRegistration.handle(NioIoHandler.java:381)
	at io.netty.channel.nio.NioIoHandler.processSelectedKey(NioIoHandler.java:587)
	at io.netty.channel.nio.NioIoHandler.processSelectedKeysOptimized(NioIoHandler.java:562)
	at io.netty.channel.nio.NioIoHandler.processSelectedKeys(NioIoHandler.java:503)
	at io.netty.channel.nio.NioIoHandler.run(NioIoHandler.java:475)
	at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225)
	at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1193)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:840)

Why your example doesn't match logs? Where did you get that example from?

Naylaa day ago

from this java -jar target/tracker-server.jar debug.xml

It doesn't make any sense to me. I asked two questions and you didn't answer any of them.

Nayla13 hours ago

I've used a TCP client to retrieve the data.
I can provide an example of the data because it was previously successfully decoded by Traccar.
When I checked the log, I only got the same error. I think there was an error on the Traccar server parsing the data.

Screenshot 2025-12-22 133300.png

Anton Tananaev2 hours ago

Even if there's a decoding issue, Traccar will show the raw data.