Description
Here is the problematic code:
if (desc.registered()) out.unsafeWriteInt(desc.typeId()); else { out.unsafeWriteInt(GridBinaryMarshaller.UNREGISTERED_TYPE_ID); doWriteString(val.getClass().getName()); }
If class is not registered, val.getClass().getName() is written. But val is already a Class instance, so it should be val.getName().
Need to create a test and fix.