I think I have a lead on this. The packet was generated on a Raspberry Pi (32-bit ARM userland), is 3GB in size, and is being processed on an x86_64 machine (64-bit userland). I added some debug info to pkt.go, and this was printed when -dump was used: pktEncRead: Making LimitedReader, size: -1097891139 readBytes: 0, len(buf): 131088, len(toRead): 131088, EnbClkSize: 131072, aead.Overhead: 16, doEncrypt %!d(bool=false) main.go:163: unexpected EOF So the presence of that LimitedReader looks to me like what caused the UnexpectedEof... and if it's being called with a negative size, that could particularly cause it. I did try decoding this packet on the Raspberry Pi, but got the same result. Attached is the modified pkt.go that produced this output. Hope this helps! Hopefully whatever the issue is in nncp-pkt also leads to the issue in nncp-toss. - John