Although i could not create a reproducer to confirm the issue, after some code investigation i've found a gap allowing type to be null:
It's package-private constructor of ObjectStreamField - if called then type is null and getType() not only could return null, but in some circumstances could throw NPE. It's expected that other classes in java.io package using this constructor will call resolve() method before actual class using but until that the class is in invalid state. So, it seems that type should be initialized to some non-null value in this case. I'll provide the patch soon.