This was a self-inflicted wound. I reused the CachedOutputStream in my own code and did not understand when I was not supposed to call close.
On Wed, Oct 27, 2010 at 7:27 PM, Benson Margulies <[email protected]> wrote: > A return value from an operation of mine includes an MTOM-optimized > byte[], organized via Aegis binding a DataHandler. It's the only > attachment, so we get the full optimization treatment: a stream that > is directly reading the socket. > > In one entirely repeatable case, I get an EOFException that I can't > yet explain. > > The backtrace is below, trying to read just the first two bytes. > > the actual stream is a DelegatingInputStream, boundaryFond true, > pbAmount 2048. The PushbackInputStream under it has pos=2048. > > > ObjectInputStream$PeekInputStream.readFully(byte[], int, int) line: 2280 > ObjectInputStream$BlockDataInputStream.readShort() line: 2749 > ObjectInputStream.readStreamHeader() line: 779 > ObjectInputStream.<init>(InputStream) line: 279 > CrossdocCorefBatch.readSomething(Class<T>, InputStream) line: 177 > CrossdocCorefBatch.access$3(CrossdocCorefBatch, Class, InputStream) line: 175 > CrossdocCorefBatch$JugCorefDocDb.readDoc(String) line: 62 >
