Problem is in the following code of MessagePackUnpacker.java
...
case 0xd9: // str 8
{
int count = in.getByte();
...
byte is a signed type!
If string length > 127, then count will be negative number, so tryReferRawBody will be called with second parameter as negative number.
...
if (!tryReferRawBody(a, count)) {
...
Thus we will get java.lang.IllegalArgumentException: Bad limit (capacity 1024): -65 expection