Skip to content
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

Daml Studio 2.9x error, "Invalid argument `multi-ide'" for older projects #19869

Closed
wallacekelly-da opened this issue Aug 30, 2024 · 1 comment · Fixed by #19876
Closed

Daml Studio 2.9x error, "Invalid argument `multi-ide'" for older projects #19869

wallacekelly-da opened this issue Aug 30, 2024 · 1 comment · Fixed by #19876
Assignees
Labels
language Language team work

Comments

@wallacekelly-da
Copy link
Contributor

wallacekelly-da commented Aug 30, 2024

Affected Daml version

In VS Code, opening 2.8.x or earlier projects with the 2.9.1 - 2.9.4 Daml Extension.

Bug description

As reported in the forums, if you open a 2.8.x or earlier project using a 2.9.x Daml Extension, then VS Code displays:

The Daml Language Server server crashed 5 times in the last 3 minutes. The server will not be restarted.

The Daml Language Server output includes the following:

Invalid argument `multi-ide`

The "script results" link does not appear above Daml script functions in the editor.

To reproduce

  1. In the Daml Extension settings, enable the early access feature, "Multi Package Ide Support".

  2. Create a 2.8.9 Daml project.

DAML_SDK_VERSION=2.8.9 daml new daml289
  1. Use VS Code's "Install Specific Version" feature to alternately install the 2.9.4 and then the 2.8.9 extension.

image

  1. Observe the following:
  • The 2.9.4 extension fails with the 2.8.9 project.
  • The 2.8.9 extension works with the 2.8.9 project.

Expected behavior

The latest Daml Extension is compatible with projects built with previous Daml SDK versions.

@samuel-williams-da samuel-williams-da added the language Language team work label Aug 30, 2024
@samuel-williams-da
Copy link
Contributor

samuel-williams-da commented Aug 30, 2024

To add some technical details:
daml studio does not automatically replace the extension with the selected SDK version, if that version is older than the one already installed.
As a result, if you have launched the extension with 2.9+, and enabled multi-ide, launching it with an older project will attempt to call multi-ide on an older daml SDK

The easiest fix for this is to have the extension either check the SDK version, or recover if multi-ide can't launch by launching normal ide.
Since this issue still exists, running daml studio --replace=always in an older package (< 2.8) will still break, so we still want the most recent extension to be used, but for it to handle older IDE's gracefully.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
language Language team work
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants