-
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/cgo: signal arrived during external code execution #72074
Comments
@golang/compiler |
In triage, we're looking at your stack trace and it looks a bit like there's a crash on the C side of things (in the DLL) and the Go side of things catches the OS-level exception thrown here. It doesn't really know what to do with it, because it's a crash on the C side, and there's no way at that point to get a stack trace. We could possibly have a better error message here, but without a reproducer or additional information, I'm not sure we can do much to help. |
I've played around some more, and it seems the DLL works fine without crashing if i do not run Fyne OpenGL GUI in the same application ( which also uses CGO ) May it be that the DLL crashes due to the go runtime getting corrupted or something due to multiple CGO things happening at the same time? I can run the same code that crashes but in a separate application that i talk to over GRPC then there is no problem. It's not very likely the DLL that is the actual problem as the DLL is used in production by thousands of companies in for example the automotive & robotics industry and i can run the same calls from a C++ project without crashes. To reproduce it one needs to have a CANBUS adapter and set up a local CAN network that you can send and receive big amount of frames on, it's not reproducible in just code without the correct external hardware. is it possible it's not the CANlib DLL that is crashing but just any of the C calls? I'm having a hard time figuring out where exactly it's actually crashing. is it the first entry in the stack trace that is the offender and everything after is just extra info? |
Go version
go1.24.0
Output of
go env
in your module/workspace:What did you do?
call a Windows DLL file and after a few minutes of running the software crashes. it can call the DLL hundreds of thousands of times some times before the crash happens. meaning it must be a race somewhere in CGO?
What did you see happen?
stacktrace.txt
What did you expect to see?
not a stack trace and application crash
The text was updated successfully, but these errors were encountered: