RFR: 8208752: Calling a deserialized Lambda might fail with ClassCastException [v5]
Jan Lahoda
jlahoda at openjdk.org
Mon Feb 9 21:29:10 UTC 2026
On Mon, 9 Feb 2026 20:55:44 GMT, Liam Miller-Cushon <cushon at openjdk.org> wrote:
>> See [JDK-8208752: Calling a deserialized Lambda might fail with ClassCastException](https://bugs.openjdk.org/browse/JDK-8208752).
>>
>> Lambda deserialization currently does not consider `SerializedLambda#getInstantiatedMethodType` when deserializing lambdas, which can lead to method references that differ only in `getInstantiatedMethodType` being merged into the same lambda instance, and can result in `ClassCastException`s like the one reported in the bug.
>>
>> This depends on the fix for [JDK-8374654: Inconsistent handling of lambda deserialization for Object method references on interfaces](https://bugs.openjdk.org/browse/JDK-8374654) in https://github.com/openjdk/jdk/pull/29075.
>
> Liam Miller-Cushon has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 15 commits:
>
> - Merge remote-tracking branch 'origin/master' into JDK-8208752
> - Merge branch 'JDK-8374654' into JDK-8208752
> - Test cleanup
> - Updates for --debug=dumpLambdaDeserializationStats
> - Merge branch 'JDK-8374654' into JDK-8208752
> - Use --debug=dumpLambdaDeserializationStats in test
> - Merge remote-tracking branch 'origin/master' into JDK-8374654
> - Merge branch 'JDK-8374654' into JDK-8208752
> - Only resolve object methods on interfaces
> - Update test
> - ... and 5 more: https://git.openjdk.org/jdk/compare/37b49b29...3a224b0c
LGTM.
-------------
Marked as reviewed by jlahoda (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/28943#pullrequestreview-3774311246
More information about the compiler-dev
mailing list