| Anonymous | Login | Signup for a new account | 10-24-2025 10:36 PDT |
| Main | My View | View Issues | Change Log | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | |||||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
| 0004165 | [Hessian] | major | always | 08-05-10 16:00 | 08-05-10 16:00 | |||||||
| Reporter | ebourg | View Status | public | |||||||||
| Assigned To | ||||||||||||
| Priority | normal | Resolution | open | |||||||||
| Status | new | Product Version | 4.0.7 | |||||||||
| Summary | 0004165: ArrayStoreException on deserializing a class with an unknown field | |||||||||||
| Description |
If a Hessian 2 stream contains an object definition with more fields than the class known locally, an ArrayStoreException is triggered: java.lang.ArrayStoreException: com.caucho.hessian.io.JavaDeserializer$NullFieldDeserializer at com.caucho.hessian.io.Hessian2Input.readObjectDefinition(Hessian2Input.java:2306) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2212) at com.caucho.hessian.io.CollectionDeserializer.readLengthList(CollectionDeserializer.java:97) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1713) at com.caucho.hessian.io.Hessian2Input.readReply(Hessian2Input.java:157) at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:190) This is annoying because if a class is updated on the server with an optional field, it crashes the clients that haven't been updated yet a rely on a older version of the class. It doesn't happen with a Hessian 1 stream. This happens because NullFieldDeserializer in JavaDeserializer doesn't extend FieldDeserializer, so it's not possible to assign its instance to the array of FieldDeserializers created in the JavaDeserializer#createFields(int) method. |
|||||||||||
| Additional Information | ||||||||||||
| Attached Files | ||||||||||||
|
|
||||||||||||
| There are no notes attached to this issue. |
| Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
26 total queries executed. 24 unique queries executed. |