RFR: 8208752: Calling a deserialized Lambda might fail with ClassCastException [v4]
Liam Miller-Cushon
cushon at openjdk.org
Thu Jan 22 11:45:08 UTC 2026
> 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 nine commits:
- Merge branch 'JDK-8374654' into JDK-8208752
- Test cleanup
- Updates for --debug=dumpLambdaDeserializationStats
- Merge branch 'JDK-8374654' into JDK-8208752
- Merge branch 'JDK-8374654' into JDK-8208752
- Update test
- Merge branch 'JDK-8374654' into JDK-8208752
- Don't rely on the iteration order of Map.of entries
- 8208752: Calling a deserialized Lambda might fail with ClassCastException
-------------
Changes: https://git.openjdk.org/jdk/pull/28943/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28943&range=03
Stats: 123 lines in 7 files changed: 97 ins; 6 del; 20 mod
Patch: https://git.openjdk.org/jdk/pull/28943.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28943/head:pull/28943
PR: https://git.openjdk.org/jdk/pull/28943
More information about the compiler-dev
mailing list