RFR: 8208752: Calling a deserialized Lambda might fail with ClassCastException [v2]

Liam Miller-Cushon cushon at openjdk.org
Thu Jan 8 20:08:02 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 incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:

 - 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:
  - all: https://git.openjdk.org/jdk/pull/28943/files
  - new: https://git.openjdk.org/jdk/pull/28943/files/272df870..10ee13db

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=28943&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28943&range=00-01

  Stats: 137 lines in 1 file changed: 137 ins; 0 del; 0 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 core-libs-dev mailing list