-
Notifications
You must be signed in to change notification settings - Fork 324
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
Deadlock in NI build wrt. classloading: "Image generator watchdog detected no activity" #7850
Comments
We don't have circular dependencies between passes - there is even a check for that. But passes can depend on the same pass (in this case |
What the |
What does your disassembler says? Mine is showing:
while this method is being executed, it has a lock on the class initializer - other class can access any field of |
In
and in class
There is a cyclic dependency (of the |
Another failure: https://github.com/enso-org/enso/actions/runs/6335322564/job/17206297931?pr=7909#step:10:1293
|
Three more failures:
|
There seem to be a deadlock in classloading of compiler passes caused by heavily parallel initialization of class constructors (e.g.
<cinit>
) during build ofengine-runner/buildNativeImage
.Two builds showing the deadlock:
In both cases there are two threads initializing the compiler passes objects, each in different order:
vs.
These singletons that depend on other singletons seem to be dangerous. I am not sure how to convince scala to generate deadlock free code. @hubertp, please advice!
The text was updated successfully, but these errors were encountered: