EMA Java OmmConsumer fails with an AssertionError after running for 2 days:
java.lang.AssertionError: byte buffer must be non-null
at com.refinitiv.eta.codec.DecodeIteratorImpl.setBufferAndRWFVersion(DecodeIteratorImpl.java:84)
at com.refinitiv.ema.access.FieldListImpl.decode(FieldListImpl.java:315)
at com.refinitiv.ema.access.MsgImpl.decodeAttribPayload(MsgImpl.java:317)
at com.refinitiv.ema.access.UpdateMsgImpl.decode(UpdateMsgImpl.java:487)
at com.refinitiv.ema.access.ItemCallbackClient.processUpdateMsg(ItemCallbackClient.java:1827)
at com.refinitiv.ema.access.ItemCallbackClient.defaultMsgCallback(ItemCallbackClient.java:1650)
at com.refinitiv.eta.valueadd.reactor.Reactor.sendDefaultMsgCallback(Reactor.java:2841)
at com.refinitiv.eta.valueadd.reactor.Reactor.sendAndHandleDefaultMsgCallback(Reactor.java:2950)
at com.refinitiv.eta.valueadd.reactor.WlItemHandler.callbackUser(WlItemHandler.java:3037)
at com.refinitiv.eta.valueadd.reactor.WlItemHandler.readUpdateMsg(WlItemHandler.java:2292)
at com.refinitiv.eta.valueadd.reactor.WlItemHandler.readMsg(WlItemHandler.java:1933)
at com.refinitiv.eta.valueadd.reactor.Watchlist.readMsg(Watchlist.java:302)
at com.refinitiv.eta.valueadd.reactor.Reactor.processRwfMessage(Reactor.java:4723)
at com.refinitiv.eta.valueadd.reactor.Reactor.performChannelRead(Reactor.java:5077)
at com.refinitiv.eta.valueadd.reactor.Reactor.dispatchAll(Reactor.java:7775)
at com.refinitiv.ema.access.OmmBaseImpl.rsslReactorDispatchLoop(OmmBaseImpl.java:1836)
at com.refinitiv.ema.access.OmmBaseImpl.run(OmmBaseImpl.java:1985)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
After this exception the OmmConsumer stops serving any requests.
RTSDK version 3.7.3.0
It seems that the RTSDK code incorrenly handles the situation when there is 'No payload. Reset iterator and return'
see https://github.com/Refinitiv/Real-Time-SDK/blob/e1bd1ad7411e3e68b19ed1fd49f848646ebb2d09/Java/Eta/Core/src/main/java/com/refinitiv/eta/codec/Decoders.java#L133