enso-org / enso

Hybrid visual and textual functional programming.
https://ensoanalytics.com
Apache License 2.0
7.36k stars 323 forks source link

Cannot run stdlib benchmarks locally via JMH #10706

Closed Akirathan closed 1 month ago

Akirathan commented 2 months ago

sbt std-benchmarks/run fails with frgaal exited with exit code 1. The underlying error is:

Type error: expected the result of build_multiple to be Vector, but got Cannto parse foreign arrow method.

Attaching debugger and hitting breakpoint in https://github.com/enso-org/enso/blob/c20eab2af9d8bade11d6ad78eb8ed37f4aa4298c/lib/scala/bench-processor/src/main/java/org/enso/benchmarks/processor/BenchProcessor.java#L112 reveals that there is no arrow language loaded in the polyglot engine. This is not expected, as arrow language is in module-path.

See https://github.com/enso-org/enso/blob/develop/docs/debugger/runtime-debugging.md#debugging-annotation-processors for annotation processor debugging.

Note that on the CI, the Benchmark Standard Libraries GH Action (for example last run is in https://github.com/enso-org/enso/actions/runs/10135787234/job/28023635309) runs just OK.

How is it possible that the job runs on CI and not locally?

Encountered during #10702

### Tasks
- [x] Fix annotation processing in [BenchProcessor](https://github.com/enso-org/enso/blob/c20eab2af9d8bade11d6ad78eb8ed37f4aa4298c/lib/scala/bench-processor/src/main/java/org/enso/benchmarks/processor/BenchProcessor.java) so that `sbt std-benchmarks/bench` works locally again.
Akirathan commented 2 months ago

@JaroslavTulach Please try to reproduce the problem on your machine. Just run sbt std-benchmarks/run -h.

JaroslavTulach commented 2 months ago

Following seems to work for me on 4dfbbd53f307a9008342784dd16f12c4238deec8

sbt:std-benchmarks> benchOnly Vector
Akirathan commented 1 month ago

Closing as a non-issue, works for me on 2024-09-11