[ https://issues.apache.org/jira/browse/GEODE-2293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Huynh resolved GEODE-2293. -------------------------------- Resolution: Fixed Fix Version/s: 1.1.0 > The AckReaderThread incorrectly shuts down when an IllegalStateException is > thrown while releasing an off-heap object > --------------------------------------------------------------------------------------------------------------------- > > Key: GEODE-2293 > URL: https://issues.apache.org/jira/browse/GEODE-2293 > Project: Geode > Issue Type: Bug > Components: wan > Reporter: Barry Oglesby > Assignee: Jason Huynh > Labels: regression > Fix For: 1.1.0 > > > The regression test run showed the following severe message: > {noformat} > [severe 2017/01/07 09:14:40.789 UTC > bridgegemfire_1_1_rs-QueuesBTTest-2017-01-06-14-07-15-client-12_3912 > <AckReaderThread for : Event Processor for > GatewaySender_sender_bridgeds_1_to_bridgeds_2_0> tid=0x97] Stopping the > processor because the following exception occurred while processing a batch: > java.lang.IllegalStateException: It looks like off heap memory @7f33a8000238 > was already freed. rawBits=0 history=null > at > org.apache.geode.internal.offheap.OffHeapStoredObject.release(OffHeapStoredObject.java:675) > at > org.apache.geode.internal.offheap.OffHeapStoredObject.release(OffHeapStoredObject.java:659) > at > org.apache.geode.internal.offheap.OffHeapStoredObject.release(OffHeapStoredObject.java:373) > at > org.apache.geode.internal.offheap.OffHeapHelper.releaseAndTrackOwner(OffHeapHelper.java:138) > at > org.apache.geode.internal.cache.wan.GatewaySenderEventImpl.release(GatewaySenderEventImpl.java:1213) > at > org.apache.geode.internal.cache.wan.parallel.ParallelGatewaySenderQueue.remove(ParallelGatewaySenderQueue.java:1096) > at > org.apache.geode.internal.cache.wan.parallel.ParallelGatewaySenderQueue.remove(ParallelGatewaySenderQueue.java:1531) > at > org.apache.geode.internal.cache.wan.AbstractGatewaySenderEventProcessor.eventQueueRemove(AbstractGatewaySenderEventProcessor.java:231) > at > org.apache.geode.internal.cache.wan.AbstractGatewaySenderEventProcessor.handleSuccessBatchAck(AbstractGatewaySenderEventProcessor.java:981) > at > org.apache.geode.internal.cache.wan.GatewaySenderEventRemoteDispatcher$AckReaderThread.run(GatewaySenderEventRemoteDispatcher.java:636) > {noformat} > This exception shows that the {{AckReaderThread}} was processing a successful > batch acknowledgement, and an {{IllegalStateException}} was thrown while > releasing a {{GatewaySenderEventImpl}} from off-heap memory. This caused the > {{AckReaderThread}} to shut down. It looks like the > {{GatewaySenderEventImpl}} had already been released and is being released > again. I'm not sure how the {{GatewaySenderEventImpl}} got into this state, > but the {{AckReaderThread}} should not shut down because of this > {{IllegalStateException}}. > The code in question is in the finally block of > {{ParallelGatewaySenderQueue.remove}}: > {noformat} > } finally { > event.release(); > } > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)