Bruce J Schuchardt created GEODE-8584: -----------------------------------------
Summary: Message transmission fails with IllegalStateException in socket i/o code Key: GEODE-8584 URL: https://issues.apache.org/jira/browse/GEODE-8584 Project: Geode Issue Type: Bug Components: membership, messaging Affects Versions: 1.13.0, 1.12.0, 1.14.0 Reporter: Bruce J Schuchardt Transmission of an update operation failed with a toData exception caused by an IllegalStateException in socket i/o code. It shouldn't be possible for this exception to happen unless multiple threads are using the buffer at the same time. {noformat} org.apache.geode.ToDataException: toData failed on dsfid=71 msg:null at org.apache.geode.internal.InternalDataSerializer.writeDSFID(InternalDataSerializer.java:1509) at org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:249) at org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:306) at org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182) at org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:511) at org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:346) at org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:291) at org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2053) at org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1981) at org.apache.geode.distributed.internal.ClusterDistributionManager.sendMessage(ClusterDistributionManager.java:2018) at org.apache.geode.distributed.internal.ClusterDistributionManager.putOutgoing(ClusterDistributionManager.java:1083) at org.apache.geode.internal.cache.DistributedCacheOperation._distribute(DistributedCacheOperation.java:572) at org.apache.geode.internal.cache.DistributedCacheOperation.startOperation(DistributedCacheOperation.java:277) at org.apache.geode.internal.cache.DistributedCacheOperation.distribute(DistributedCacheOperation.java:318) at org.apache.geode.internal.cache.DistributedRegion.distributeUpdate(DistributedRegion.java:520) at org.apache.geode.internal.cache.DistributedRegion.basicPutPart3(DistributedRegion.java:498) at org.apache.geode.internal.cache.map.RegionMapPut.doAfterCompletionActions(RegionMapPut.java:307) at org.apache.geode.internal.cache.map.AbstractRegionMapPut.doPut(AbstractRegionMapPut.java:185) at org.apache.geode.internal.cache.map.AbstractRegionMapPut.runWhileLockedForCacheModification(AbstractRegionMapPut.java:119) at org.apache.geode.internal.cache.map.RegionMapPut.runWhileLockedForCacheModification(RegionMapPut.java:161) at org.apache.geode.internal.cache.map.AbstractRegionMapPut.put(AbstractRegionMapPut.java:169) at org.apache.geode.internal.cache.AbstractRegionMap.basicPut(AbstractRegionMap.java:2044) at org.apache.geode.internal.cache.LocalRegion.virtualPut(LocalRegion.java:5599) at org.apache.geode.internal.cache.DistributedRegion.virtualPut(DistributedRegion.java:393) at org.apache.geode.internal.cache.LocalRegion.virtualPut(LocalRegion.java:5577) at org.apache.geode.internal.cache.LocalRegionDataView.putEntry(LocalRegionDataView.java:157) at org.apache.geode.internal.cache.LocalRegion.basicPut(LocalRegion.java:5035) at org.apache.geode.internal.cache.LocalRegion.replaceWithCallbackArgument(LocalRegion.java:10600) at org.apache.geode.internal.cache.LocalRegion.replace(LocalRegion.java:10566) [application code traces deleted] Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.position(Buffer.java:244) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:96) at sun.nio.ch.IOUtil.write(IOUtil.java:51) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469) at org.apache.geode.internal.tcp.Connection.writeFully(Connection.java:2596) at org.apache.geode.internal.tcp.Connection.sendPreserialized(Connection.java:1866) at org.apache.geode.internal.tcp.MsgStreamer.realFlush(MsgStreamer.java:330) at org.apache.geode.internal.tcp.MsgStreamer.write(MsgStreamer.java:390) at org.apache.geode.DataSerializer.writeByteArray(DataSerializer.java:1185) at org.apache.geode.DataSerializer.writeByteArray(DataSerializer.java:1153) at org.apache.geode.internal.cache.DistributedCacheOperation.writeValue(DistributedCacheOperation.java:137) at org.apache.geode.internal.cache.UpdateOperation$UpdateMessage.toData(UpdateOperation.java:417) at org.apache.geode.internal.serialization.internal.DSFIDSerializerImpl.invokeToData(DSFIDSerializerImpl.java:213) at org.apache.geode.internal.serialization.internal.DSFIDSerializerImpl.write(DSFIDSerializerImpl.java:137) at org.apache.geode.internal.InternalDataSerializer.writeDSFID(InternalDataSerializer.java:1484) ... 37 more {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)