Skip to content

Conversation

@JaroslavTulach
Copy link
Member

@JaroslavTulach JaroslavTulach commented Sep 22, 2025

Pull Request Description

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

@JaroslavTulach JaroslavTulach self-assigned this Sep 22, 2025
@JaroslavTulach JaroslavTulach added the CI: No changelog needed Do not require a changelog entry for this PR. label Sep 22, 2025
mergify bot pushed a commit that referenced this pull request Sep 24, 2025
- While trying to understand the `HideableValue` usages
- which is not working fine with #14037 yet
- trying to _lower the conceptual scope_
- by encapsulating various `HideableValue` implementations
- and exposing only factories and virtual methods on the `HideableValue`
@JaroslavTulach JaroslavTulach force-pushed the wip/jtulach/MicrosoftServerInHotSpot branch from 2736f70 to d4a1ac7 Compare September 28, 2025 13:33
build.sbt Outdated
`std-aws-polyglot-root`.listFiles("*.jar").map(_.getAbsolutePath()) ++
`std-microsoft-polyglot-root`
.listFiles("*.jar")
.map(_.getAbsolutePath()) ++
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • for now we want to keep building with Standard.Microsoft libraries processed
  • thus 20529f8 returns it back

Copy link
Member Author

@JaroslavTulach JaroslavTulach Sep 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jdunkerley has asked, how to test these changes in the IDE?

  • once this PR is integrated, then one can opt-in by
    • running in --jvm mode
    • turning the mocking on by --vm.D=polyglot.enso.classLoading=Standard.Microsoft:guest,hosted
    • just pass the options via ENSO_JVM_OPTS and that's it!
  • since 8af9c47 one can rebuild with ENSO_LAUNCHER=-ms sbt buildEngineDistribution

@JaroslavTulach JaroslavTulach added the CI: Clean build required CI runners will be cleaned before and after this PR is built. label Oct 1, 2025
Copy link
Contributor

@vitvakatu vitvakatu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI changes

@JaroslavTulach
Copy link
Member Author

JaroslavTulach commented Oct 1, 2025

[FAILED] [SQLServer] Audit Logs: [1/3, 2008ms] ️ 
Error: An unexpected panic was thrown: java.lang.IllegalArgumentException: Access to language 'enso' is not permitted. 
 ️     - [FAILED] should see Database operations performed on a table through the standard workflow [1746ms]
 ️         Reason: An unexpected panic was thrown: java.lang.IllegalArgumentException: Access to language 'enso' is not permitted. 
 ️         at <enso> JDBC_Connection.run_without_autocommit.JDBC_Connection.run_without_autocommit<arg-1>(/runner/_work/enso/enso/built-distribution/enso-engine-2025.3.1-dev-linux-amd64/enso-2025.3.1-dev/lib/Standard/Database/2025.3.1-dev/src/Internal/JDBC_Connection.enso:229:39-73)
 ️         at <enso> Resource.bracket(Internal)
 ️         at <enso> JDBC_Connection.run_without_autocommit.JDBC_Connection.run_without_autocommit(/runner/_work/enso/enso/built-distribution/enso-engine-2025.3.1-dev-linux-amd64/enso-2025.3.1-dev/lib/Standard/Database/2025.3.1-dev/src/Internal/JDBC_Connection.enso:229-230)
 ️         at <enso> Managed_Resource.with_builtin(Internal)
 ️         at <enso> Panic.catch(Internal)

so far I haven't reproduced it locally, so I am trying this:

enso$ ENSO_LAUNCHER=test ./run backend build
enso$ ./run backend test std-mock-dual-microsoft

let's see if it finally reproduces... So the reproducer is as simple as:

ENSO_RUN_REAL_CLOUD_TEST=1 ENSO_HTTP_TEST_HTTPBIN_URL=http://localhost:8080 ENSO_SQLSERVER_DATABASE=tempdb "/home/devel/NetBeansProjects/enso/enso/built-distribution/enso-engine-0.0.0-dev-linux-amd64/enso-0.0.0-dev/bin/enso" "--jvm" "--vm.D=polyglot.enso.classLoading=Standard.Microsoft:guest,hosted" "--no-ir-caches" "--run" "/home/devel/NetBeansProjects/enso/enso/test/Microsoft_Tests" Audit

and the problem is in Context.getCurrent() call in CurrentEnsoProject class.

@JaroslavTulach
Copy link
Member Author

the problem is in Context.getCurrent() call in CurrentEnsoProject class.

I tried various ways to fix it, but for now I decided to just make the tests pending.

Copy link
Member

@jdunkerley jdunkerley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few nits but generally looks good

Comment on lines -370 to +371
handle t = Panic.catch t handler=(_-> Error.throw (Incomparable_Values.Error Nothing Nothing))
handle t = Panic.catch t handler=_->
Error.throw (Incomparable_Values.Error Nothing Nothing)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why change this?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was trying to place breakpoint on this Error.throw only. With our current tooling, it can only be done when it is on separate line.

@enso-bot
Copy link

enso-bot bot commented Oct 2, 2025

Jaroslav Tulach reports a new STANDUP for yesterday (2025-10-01):

Progress: .

@JaroslavTulach JaroslavTulach requested a review from AdRiley October 2, 2025 06:55
@JaroslavTulach JaroslavTulach merged commit 9c6a536 into develop Oct 2, 2025
114 of 123 checks passed
@JaroslavTulach JaroslavTulach deleted the wip/jtulach/MicrosoftServerInHotSpot branch October 2, 2025 09:46
Copy link
Collaborator

@hubertp hubertp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Forgot to click "submit review" so here is a late review.

"type": "lldb",
"request": "launch",
"preLaunchTask": "Rust Gen CI",
"name": "Rust Gen CI",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sounds like something that could be added to dev docs rather than only be mentioned (and forgotten) in a PR comment.

image debugger_
- using `native,-ls` disables support for _language server_ in the generated
binary
- using `native,-ms` **opts-out** for `Standard.Microsoft` library being
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the -ms short name is cryptic. Could we use sth with stdlib prefix, say -stdlib-ms or -stdlib-microsoft?

return obj != null
&& iop.hasLanguage(obj)
&& iop.getLanguage(obj).getSimpleName().equals("OtherLanguage");
&& iop.getLanguage(obj).getSimpleName().equals("EpbLanguage");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any chance we could avoid relying on strings to determine that?

@enso-bot
Copy link

enso-bot bot commented Oct 3, 2025

Jaroslav Tulach reports a new STANDUP for yesterday (2025-10-02):

Progress: .

Discord
Discord is great for playing games and chilling with friends, or even building a worldwide community. Customize your own space to talk, play, and hang out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

-libs-API-change-Base Marks a PR that changes the public API of Standard.Base -libs-API-change-Database Marks a PR that changes the public API of Standard.Database -libs-API-change-Table Marks a PR that changes the public API of Standard.Table CI: Clean build required CI runners will be cleaned before and after this PR is built. CI: No changelog needed Do not require a changelog entry for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants