-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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: fatal error: invalid runtime symbol table (every time if binary is recompiled and old binary is still serving) #70287
Comments
Can you show us how to reproduce the problem ourselves? In particular, precisely how are you updating the running program? Thanks. |
Hm, until now I don't know the code in my project which is responsible for the crash. My hope is, that this crash - that should not happen as far as I know - and the obvious dependency to the old binary gives some hint for finding the reason. I can deliver error messages that are in my estimation always different. But always it is The problem always arises when the binary by the compiler is directly overwritten by the new binary and when I then send requests to the server that still runs with the old binary. The binary is directly updated by the compiler. |
Can you be more precise? For example, are you doing something like this?
We are only going to be able to fix this problem if we can reproduce it ourselves. |
I'm using vscode in Windows, and I have a build script. At the end the build script does:
Then or normally before the build begins I interrupt the running server in my Virtual Machine that has the project directory as shared folder. I interrupt the server by ^C. But if I forget to interrupt the running server (on Linux), which can happen because I want to test something, then it crashes. |
we need more precise instructions on how to reproduce this. |
ok, I'll try. By the way, sometimes I also get this when the binary is compiled and then I want to start the server. Because of any reason, the binary is corrupt. I recompile, and then everything's fine.
|
@theo-stv which virtual machine platform are you running on Windows? For example, are you using VirtualBox? If so, you can expect corruption via shared folders (for what you are doing), per this comment: To quote https://forums.virtualbox.org/viewtopic.php?t=106957
|
@glycerine Many, many thanks! I think this is the problem. I have copied the binary in a folder out of the shared directory and it works. I cannot reproduce the problem. :-) :-) |
And yes, it's Oracle VirtualBox |
Go version
1.23.2
Output of
go env
in your module/workspace:What did you do?
if the binary (a server) runs and I recompile it, then the binary crashes if it is receiving new requests. Strange, but I cannot explain.
What did you see happen?
What did you expect to see?
I am developing under windows, but the program is crosscompiled for linux. At first, because of the crashes, I thought that the Go executable is depending on the source code. But I think this is not correct. A binary compiled with Go is self-contained, isn't it?
I can reproduce it easily.
The text was updated successfully, but these errors were encountered: