-
-
Notifications
You must be signed in to change notification settings - Fork 360
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
Be more resilient when reading previous code hash signatures #3849
Conversation
af9f8c2
to
fb9f233
Compare
@lefou do you have the error message to include in the PR description? |
I updated the description. |
Seems like the change in the PR isn't in the right place. According to the stack trace, the problematic read is happening here mill/main/codesig/src/ExternalSummary.scala Lines 55 to 58 in a99aa4f
|
Do you have a repro for this? It's probably worth understanding properly what's going on since it might indicate a deeper misbehavior |
TBH, I saw this exception multiple times in the last days but have no idea how to reproduce except that I know I switched between Mill versions (all within the |
My suspicion is, that we don't properly track version change and therefore don't invalidate the meta-build correctly. |
From a quick skim, it seems the code does the following:
So given the stack trace, it looks like One thing worth calling out is that |
Could be related to the use of Mill plugins which are mostly compiled against Mill 0.11.0? |
@lefou seems unlikely, the reference must be coming from something compiled locally. But maybe there's some pathway that I'm missing for the information to slip through. Next time this happens, if you could zip up your |
It can be, that I also switched from a branch which is still on Mill 0.11.12. I can try to reproduce and minimize it. Beside that reproducer, finding some older run state under
|
I ran into another instance of a |
Interesting. This suggests that the issue isn't specifically related to changing Mill version, or the Mill assembly classpath, but is a more general issue with changes in the mill-build classpath including locally-compiled classes |
Yeah. Could be some wrong assumption in the logic but also something external like incremental under-compilation. |
Superseded by #3884 |
I saw exceptions originating here when I changed between Mill versions. I think, this happen, when we made an incompatible change. Since this is no real breakage, but only some dropping of optimizations, I think we better recover without interruption than breaking in front of the user without any guidance (e.g. removing
out/mill-build
) how to solve.Now, we just ignore the previous state.
Here's the stack trace: