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

Separate compilation does not take into account Enso files #8262

Open
hubertp opened this issue Nov 8, 2023 · 5 comments
Open

Separate compilation does not take into account Enso files #8262

hubertp opened this issue Nov 8, 2023 · 5 comments
Labels
--bug Type: bug

Comments

@hubertp
Copy link
Collaborator

hubertp commented Nov 8, 2023

Consider the failure in one of the recent PRs:

 INFO ide_ci::program::command: sbtℹ️ /runner/_work/enso/enso/distribution/lib/Standard/Base/0.0.0-dev/src/Data.enso: error: The module Standard.Base.Data.Enso_Cloud does not exist.
 INFO ide_ci::program::command: sbtℹ️ [error] Test org.enso.interpreter.test.MetaIsAPolyglotTest.typesAreNotInstancesOfThemselves failed: java.lang.reflect.InvocationTargetException: null, took 0.064 sec
 INFO ide_ci::program::command: sbtℹ️ [error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 INFO ide_ci::program::command: sbtℹ️ [error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
 INFO ide_ci::program::command: sbtℹ️ [error]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 INFO ide_ci::program::command: sbtℹ️ [error]     at java.lang.reflect.Method.invoke(Method.java:568)
 INFO ide_ci::program::command: sbtℹ️ [error]     at org.enso.interpreter.test.ValuesGenerator.invokeWithCache(ValuesGenerator.java:781)
 INFO ide_ci::program::command: sbtℹ️ [error]     at org.enso.interpreter.test.ValuesGenerator.allTypes(ValuesGenerator.java:770)
 INFO ide_ci::program::command: sbtℹ️ [error]     at org.enso.interpreter.test.MetaIsATest.typesAreNotInstancesOfThemselves(MetaIsATest.java:225)
 INFO ide_ci::program::command: sbtℹ️ [error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 INFO ide_ci::program::command: sbtℹ️ [error]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
 INFO ide_ci::program::command: sbtℹ️ [error]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 INFO ide_ci::program::command: sbtℹ️ [error]     at java.lang.reflect.Method.invoke(Method.java:568)
 INFO ide_ci::program::command: sbtℹ️ [error]     ...
 INFO ide_ci::program::command: sbtℹ️ [error] Caused by: org.graalvm.polyglot.PolyglotException: Compilation aborted due to errors.
 INFO ide_ci::program::command: sbtℹ️ [error]     at org.graalvm.polyglot.Value.invokeMember(Value.java:974)
 INFO ide_ci::program::command: sbtℹ️ [error]     at org.enso.interpreter.test.ValuesGenerator.v(ValuesGenerator.java:71)
 INFO ide_ci::program::command: sbtℹ️ [error]     at org.enso.interpreter.test.ValuesGenerator.v(ValuesGenerator.java:60)
 INFO ide_ci::program::command: sbtℹ️ [error]     at org.enso.interpreter.test.ValuesGenerator.typeNumber(ValuesGenerator.java:157)
 INFO ide_ci::program::command: sbtℹ️ [error]     ... 46 more

the problem is that Enso_Cloud is being introduced in a separate PR and is here expected because the runner checkout out the state from that PR. While there have been service register changes to support incremental compilation, they aren't addressing Enso files.

@hubertp
Copy link
Collaborator Author

hubertp commented Nov 8, 2023

Related to #7775

@radeusgd
Copy link
Member

radeusgd commented Nov 8, 2023

Can we add a ls /runner/_work/enso/enso/distribution/lib/Standard/Base/0.0.0-dev/src/Data/ to the CI temporarily?

I'd really like to know if our files are in inconsistent state (that would be horribly weird; it would mean that there are some git checkout artifacts) OR if actually the files are not there and it is an issue of the missing file being referenced in some stale IR cache?

@radeusgd
Copy link
Member

radeusgd commented Nov 8, 2023

@mwu-tow Maybe we should by default purge all IR caches on checkout?

I think we should purge the following locations:

  • /runner/_work/enso/enso/built-distribution/*
  • $ENSO_DATA_DIRECTORY/cache/* where ENSO_DATA_DIRECTORY is a 'virtual' path that depends on the OS, as documented;
    • e.g. on Linux it will default to ~/.local/share/enso/cache
    • on Windows it's usually %LocalAPPDATA%\enso\cache

@radeusgd
Copy link
Member

radeusgd commented Nov 8, 2023

Maybe let's try purging the mentioned directories when runner starts processing a new task, and we can see if the issue disappear or still persists?

@radeusgd
Copy link
Member

radeusgd commented Nov 8, 2023

I'd also like to see the results of the ls for a few weeks on the CI, so that if the issue ever re-occurs we have some more 'debug' data to understand it (since it is so random, it is very hard to debug in any other way, I imagine)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
--bug Type: bug
Projects
Status: New
Development

No branches or pull requests

2 participants