-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update GraalVM to 17.0.7 (23.0.0 JDK17) #7176
Conversation
So that run git-clean does not remove .vscode directory
.../java/org/enso/interpreter/bench/benchmarks/semantic/NestedPatternCompilationBenchmarks.java
Show resolved
Hide resolved
7f6664c
to
15244d2
Compare
- Remove deprecated `ConditionProfile.createCountingProfile()`. - Add `@Shared` to some `@Cached` parameters. - Specialization method names should not start with execute - Add limit attribute to some specialization methods - Add `@NeverDefault` for some cached initializer expressions - Add `@Idempotent` or `@NonIdempotent` where appropriate
At first sight, this seems like another instance of dirty-caches-issue. In the last few commits, I renamed a lot of files inside |
I have just checked the benchmarks, and there are no big regressions, neither improvements anywhere. Seems like the performance stays roughly the same. Which is precisely the result that we wished for. |
val regex = """graalvm-ce-java(\d+)-(.+)""".r | ||
val regex = """graalvm-ce-java(.+)-(.+)""".r |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change is itself backwards compatible, but that means newer engine versions will be accepting Java versions (like this one we are upgrading into) that were not supported by the old runtime-version-manager
.
This means that the launcher/project-manager will fail when it sees an engine with such a problematic runtime:
[error] [2023-07-19T14:13:35.009Z] [org.enso.launcher.cli.Main] A fatal error has occurred: The runtime GraalVM 23.0.0 Java 17.0.7 is already installed, but cannot be loaded due to Invalid runtime component name `graalvm-ce-java17.0.7-23.0.0`.. Until the launcher gets an auto-repair feature, please try reinstalling the runtime by uninstalling all engines that use it and installing them again, or manually removing `C:\Users\progr\AppData\Local\enso\runtime\graalvm-ce-java17.0.7-23.0.0`. (Caused by: Invalid runtime component name `graalvm-ce-java17.0.7-23.0.0`.)
While I know the launcher
project is not used too much (sadly, it's really useful), I'm not sure how big of a priority it is to make sure this work. However, this also affects the project-manager
- it will have a similar error when old IDE encounters such a runtime.
If we change the manifest.template.yaml
:
-minimum-launcher-version: 0.2.13
-minimum-project-manager-version: 0.2.13
+minimum-launcher-version: 2023.2.1-nightly.2023.7.20
+minimum-project-manager-version: 2023.2.1-nightly.2023.7.20
It will fix that issue.
The launcher will then propose to upgrade to the tomorrows nightly (won't work today but that's a short time period):
[warn] [2023-07-19T14:40:38.253Z] [org.enso.launcher.upgrade.LauncherUpgrader.auto-upgrade] A more recent launcher version (at least 2023.2.1-nightly.2023.7.20) is required to continue.
Do you want to upgrade the launcher and continue? [Y/n]
Similarly, the project-manager
should display a slightly more friendly error message in the logs saying that to open this project a more recent version of project-manager
is needed.
I think we should update the manifest to reflect these breaking changes and ensure that old launcher/project-manager don't crash and burn but display nice error messages.
Ideally, we should set the version to be some full release, not a nightly - we can bump this with a PR once we have such a release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I bumped the version in 881c983. Let's see if something fails now.
.../src/main/scala/org/enso/runtimeversionmanager/releases/graalvm/GraalCEReleaseProvider.scala
Show resolved
Hide resolved
Follow-up of recent GraalVM update #7176 that fixes downloading of GraalVM for Mac - instead of "darwin", the releases are now named "macos" # Important Notes Also re-enables the JDK/GraalVM version check as onLoad hook to the `sbt` process. We used to have that check a long time ago. Provides errors like this one if the `sbt` is run with a different JVM version: ``` [error] GraalVM version mismatch - you are running Oracle GraalVM 20.0.1+9.1 but GraalVM 17.0.7 is expected. [error] GraalVM version check failed. ```
While looking into #7698 discovered that the `buildGraalDistribution` task would fail to use the old (pre-23.0) GraalVM naming of artifacts. This has changed since #7176. The fix does not attempt to fix a problem of packaged GraalVM name in `runtime`. That, as the ticket mentiones it, is the role of rust build script that creates the correct bundle.
While looking into #7698 discovered that the `buildGraalDistribution` task would fail to use the old (pre-23.0) GraalVM naming of artifacts. This has changed since #7176. The fix does not attempt to fix a problem of packaged GraalVM name in `runtime`. That, as the ticket mentiones it, is the role of rust build script that creates the correct bundle.
Closes #5300
Update GraalVM to 17.0.7+7.1
Pull Request Description
Removed warnings:
ConditionProfile.createCountingProfile()
.@Shared
to some@Cached
parameters (Truffle now emits warnings about potential@Share
usage).@NeverDefault
for some cached initializer expressions@Idempotent
or@NonIdempotent
where appropriateBigInteger and potential Node inlining are tracked in follow-up issues.
Important Notes
For
SDKMan
users:For other users - download link can be found at https://github.com/graalvm/graalvm-ce-builds/releases/tag/jdk-17.0.7
Release notes: https://www.graalvm.org/release-notes/JDK_17/
R component was dropped from the release 23.0.0, only
python
is available to install viagu install python
.Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
python
andR
interop tests are successful.Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.