Alexandr Kuramshin created IGNITE-6636: ------------------------------------------
Summary: BinaryStream position integer overflow Key: IGNITE-6636 URL: https://issues.apache.org/jira/browse/IGNITE-6636 Project: Ignite Issue Type: Bug Security Level: Public (Viewable by anyone) Components: general Affects Versions: 2.2 Reporter: Alexandr Kuramshin There were some issues with negative {{BinaryAbstractStream#pos}} value. We may get stack trace like that {noformat} java.lang.ArrayIndexOutOfBoundsException: -2142240123 at org.apache.ignite.internal.binary.streams.BinaryHeapOutputStream.writeByteAndShift(BinaryHeapOutputStream.java) at org.apache.ignite.internal.binary.streams.BinaryAbstractOutputStream.writeByte(BinaryAbstractOutputStream.java) at org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java) at org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java) {noformat} The worst of it is that the {{ArrayIndexOutOfBoundsException}} has been thrown on the next write to the stream, and upon stack unwinding we couldn't know which object actually cause the overflow. I've to suggest to check all updates to the {{BinaryAbstractStream#pos}} and throw exception right after the change. -- This message was sent by Atlassian JIRA (v6.4.14#64029)