temporalio / temporalio/sdk-java
[kotlin] Replaying a workflow history across different compiler versions (e.g. 2.2.0 → 2.4.0) can cause NDE
Open
@dplyukhin is already working on this.
Since Aug 25, 2026.
- Dominant language
- Java
- Stars
- 433
- Forks
- 249
- Avg merge
- 5d 6h
- Merged PRs (30d)
- 26
Description
Actual Behavior
After upgrading the Kotlin compiler from 2.2.0 to 2.4.0, replaying existing workflow histories throws a NonDeterministicException when the workflow schedules an async command via a method reference (Async.function(child::emphasize, assignee)) . Scheduling the same command as a lambda (Async.function { child.emphasize(assignee) }) mitigates it.
Steps to Reproduce the Problem
Attached the project with a the reproduction
Specifications
- Version:
- Platform:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.