-
Bug
-
Resolution: Unresolved
-
P4
-
8u101, 9
-
None
SerializedLambda has fields storing most of the arguments to LambdaMetafactory (sometimes after mapping to a serialization-friendly form). But it does not have fields to store extra interfaces or extra method descriptors, as supported by 'altMetafactory'. As a result, serialization must be a lossy transformation, mapping many function objects to the same serialized form.
Thus, while LambdaMetafactory promises to support serialization of any legal invocation that uses FLAG_SERIALIZABLE, in practice only the first invocation of a unique serialization key (key=the first 6 arguments) will serialize/deserialize correctly.
Thus, while LambdaMetafactory promises to support serialization of any legal invocation that uses FLAG_SERIALIZABLE, in practice only the first invocation of a unique serialization key (key=the first 6 arguments) will serialize/deserialize correctly.
- relates to
-
JDK-8154236 Deserialization of lambda causes ClassCastException
-
- Open
-
-
JDK-8174865 Different method references deserialize to the same class
-
- Open
-
-
JDK-8282080 Lambda deserialization fails for Object method references on interfaces
-
- Closed
-
-
JDK-8208752 Calling a deserialized Lambda might fail with ClassCastException
-
- Open
-