-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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
runtime: name offset out of range #15372
Comments
What does increasingly mean? It looks like your compiler and stdlib are out of sync across one of my CLs that changes the type data layout. If that's all this is, I expect it to stop when I stop making type data changes in a couple of weeks. (There are more I could make next cycle, but I'd have to find a pressing need for the changes.) If it's something more than that, I can take a look if you can give me instructions on how to reproduce this. If you want a general-purpose solution we could have the compiler check that it is in sync with its GOROOT. But that would mess with my personal workflow where I let them drift deliberately to experiment quickly, so I'm not keen on that. Unassigning myself, because I don't think there's anything specific to my work to fix this (except stopping), and I can't see a general fix. |
Sorry, by "increasingly" I mean "many times in the past week". It's just a useless failure message. I don't have suggestions for a fix. |
The compiler and the runtime package are closely tied together, in the sense that there are CL ranges (C1,C2) where if the compiler is in that range the runtime must also be in that range. The go tool rebuilds the runtime when the source code changes, but it does not rebuild the compiler. So it's easy for the runtime to be in one range and the compiler in another. Usually this causes a failure to link, which is an obvious failure mode. @crawshaw 's recent changes cause a failure to run. I can imagine a couple of ways to fix this, but they all have costs. The problem only affects very active developers. If there is a fairly cheap fix, we should implement it. Otherwise I'm not sure it's worth it. |
cmd/go already has logic for computing the Could we bake the runtime's buildID into the tools, and then if |
I think the cost of that approach is that you will have to run |
Instead of |
I think we have gotten through this. It's unfortunate but not worth fixing by itself. |
I've increasingly been getting this crash when running tests:
I've come to learn it means I need to run
make.bash
again, but surely there's a better error message that could tell me that.@crawshaw?
The text was updated successfully, but these errors were encountered: