You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Integrated with the internal libc. Latest on branch feat-internal-libc-dev.
Disabled fs register switch in go_switch_thread()
Ran terraform version 1.0.3 in a container (latest version is 1.17)
This version of terraform uses panicwrap, which has the side affect of changing the argv list. In order to test signals and not deal with the argv array issue, the command line handling was hardcoded to make the command ldscope terraform -help work.
Created a script that runs terraform help in a loop. This is the scenario where were able to see segfaults from async signal handlers previous to the use of an internal libc. Loop on this and check for errors in the return value: SCOPE_CRIBL_ENABLE=false ./ldscope terraform -help
Previously we would see segfaults within <=100 times in this loop. The loop ran >20,000 times.
Verified that this version of terraform uses Go 1.16 and we are getting events emitted.
Verified that this version of terraform uses panicwrap: nm /bin/terraform | grep -i panicwrap
0000000000409a00 T runtime.panicwrap
000000000090e740 T github.com/mitchellh/panicwrap.Wrap
FYI: the latest version of terraform uses Go 1.17 (likely 1.18 now). It appears from looking at source code that panicwrap is no longer used. We should test the argv list with Go 1.17+ support. Do we need to make changes to accommodate the argv list used here?
iapaddler
changed the title
Support async signal handlers in Go static executables
Epic: Support async signal handlers in Go static executables
Apr 6, 2022
Ref #508 and #667
The text was updated successfully, but these errors were encountered: