Skip to content
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

Mock: make --trap-stdlib the default when running xgo test #144

Closed
xhd2015 opened this issue May 23, 2024 · 4 comments
Closed

Mock: make --trap-stdlib the default when running xgo test #144

xhd2015 opened this issue May 23, 2024 · 4 comments
Labels
Milestone

Comments

@xhd2015
Copy link
Owner

xhd2015 commented May 23, 2024

If we fixed the bug in #142, and verified that xgo test --trap-stdlib ./... ok in kubernetes, we will proceed on this as completing #103 (comment).

But also allow xgo test --trap-stdlib=false to explicitly turn it off.

@xhd2015 xhd2015 added the mock label May 23, 2024
@xhd2015 xhd2015 added this to the v1.1.0 milestone May 23, 2024
@xhd2015
Copy link
Owner Author

xhd2015 commented May 30, 2024

The PR #166 has raised a problem:

  • after making --trap-stdlib default when testing, the tests with --strace blocks, causing deadlock
Logs Link(may expire)

Both linux and windows blocks, using go1.20.

--- 11m 24s  ---
Run go run ./script/run-test --reset-instrument --debug -v -cover -coverpkg github.com/xhd20[1](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:1)5/xgo/runtime/... -coverprofile cover.out
TEST /opt/hostedtoolcache/go/1.20.14/x64
resetting instrument
2024-05-29 11:58:58 start: [/tmp/go-build[4](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:5)015614014/b001/exe/xgo build --reset-instrument --with-goroot /opt/hostedtoolcache/go/1.20.14/x64 --build-compiler --log-debug=stdout]
2024-0[5](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:6)-29 11:58:58 runtime.GOOS=linux
2024-05-29 11:58:58 runtime.GOARCH=amd[6](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:7)4
2024-05-29 11:58:58 runtime.Version()=go1.20.14
2024-05-29 11:58:58 runtime.GOROOT()=/opt/hostedtoolcache/go/1.20.14/x64
2024-05-29 11:58:58 os exe suffix: 
2024-05-29 11:58:58 os force copy unsym: false
2024-05-29 11:58:58 effective GOROOT: /opt/hostedtoolcache/go/1.20.14/x64
2024-05-29 11:58:58 go version: go1.20.14
2024-05-29 11:58:58 instrument dir: /home/runner/.xgo/go-instrument/go1.20.14_op_ho_go_1._x6_cb5fd883
2024-05-29 11:58:58 current revision: 1.0.3[7](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:8) 2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1 BUILD_245, last revision:  from file /home/runner/.xgo/go-instrument/go1.20.14_op_ho_go_1._x6_cb5fd[8](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:9)83/xgo-revision.txt
2024-05-29 11:58:58 revision changed, reset /home/runner/.xgo/go-instrument/go1.20.14_op_ho_go_1._x6_cb5fd883
2024-05-2[9](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:10) 11:58:58 sync goroot /opt/hostedtoolcache/go/1.20.14/x64 -> /home/runner/.xgo/go-instrument/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
xgo is taking a while to setup, please wait...
2024-05-29 11:59:07 patch compiler at: /home/runner/.xgo/go-instrument/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 11:59:08 revision 1.0.37 2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1 BUILD_245 write to /home/runner/.xgo/go-instrument/go1.20.14_op_ho_go_1._x6_cb5fd883/xgo-revision.txt
2024-05-29 11:59:08 build instrument tools: /home/runner/.xgo/go-instrument/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 11:59:30 compiler changed: true
2024-05-29 11:59:30 tool exec flags: -toolexec=/tmp/go-build4015614014/b001/exe/xgo exec_tool --enable --
2024-05-29 11:59:30 finished successfully
2024-05-29 11:59:30 start: [/tmp/go-build1914382372/b001/exe/xgo test -v -cover -coverpkg github.com/xhd2015/xgo/runtime/... -coverprofile /home/runner/work/xgo/xgo/cover-xgo.out --log-debug=stdout ./test/xgo_test/...]
2024-05-29 11:59:30 runtime.GOOS=linux
2024-05-29 11:59:30 runtime.GOARCH=amd64
2024-05-29 11:59:30 runtime.Version()=go1.20.14
2024-05-29 11:59:30 runtime.GOROOT()=/opt/hostedtoolcache/go/1.20.14/x64
2024-05-29 11:59:30 os exe suffix: 
2024-05-29 11:59:30 os force copy unsym: false
2024-05-29 11:59:30 effective GOROOT: /opt/hostedtoolcache/go/1.20.14/x64
2024-05-29 11:59:30 go version: go1.20.14
2024-05-29 11:59:30 instrument dir: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883
2024-05-29 11:59:30 current revision: 1.0.37 2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1_DEV BUILD_245 DEV, last revision:  from file /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/xgo-revision.txt
2024-05-29 11:59:30 sync goroot /opt/hostedtoolcache/go/1.20.14/x64 -> /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 11:59:30 patch compiler at: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 11:59:31 revision 1.0.37 2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1_DEV BUILD_245 DEV write to /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/xgo-revision.txt
xgo is taking a while to setup, please wait...
2024-05-29 11:59:31 build instrument tools: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 11:59:47 compiler changed: true
2024-05-29 11:59:47 tool exec flags: -toolexec=/tmp/go-build1914382372/b001/exe/xgo exec_tool --enable --
2024-05-29 11:59:47 resolved main module: github.com/xhd2015/xgo
2024-05-29 11:59:47 command: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin/go [test -toolexec=/tmp/go-build1914382372/b001/exe/xgo exec_tool --enable -- -a -v -cover -coverpkg github.com/xhd2015/xgo/runtime/... -coverprofile /home/runner/work/xgo/xgo/cover-xgo.out ./test/xgo_test/...]
2024-05-29 11:59:47 command env: [SELENIUM_JAR_PATH=/usr/share/java/selenium-server.jar CONDA=/usr/share/miniconda GITHUB_WORKSPACE=/home/runner/work/xgo/xgo JAVA_HOME_11_X64=/usr/lib/jvm/temurin-11-jdk-amd64 GITHUB_PATH=/home/runner/work/_temp/_runner_file_commands/add_path_e04cd48d-20de-4628-98da-917fa36bcff8 GITHUB_ACTION=__run JAVA_HOME=/usr/lib/jvm/temurin-11-jdk-amd64 GITHUB_RUN_NUMBER=320 RUNNER_NAME=GitHub Actions 3 GRADLE_HOME=/usr/share/gradle-8.7 GITHUB_REPOSITORY_OWNER_ID=14964938 ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE=/opt/actionarchivecache XDG_CONFIG_HOME=/home/runner/.config DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 ANT_HOME=/usr/share/ant JAVA_HOME_8_X64=/usr/lib/jvm/temurin-8-jdk-amd64 GITHUB_TRIGGERING_ACTOR=xhd2015 GITHUB_REF_TYPE=branch HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS=3650 ANDROID_NDK=/usr/local/lib/android/sdk/ndk/25.2.9519653 BOOTSTRAP_HASKELL_NONINTERACTIVE=1 *** PIPX_BIN_DIR=/opt/pipx_bin STATS_TRP=true GOROOT_1_20_X64=/opt/hostedtoolcache/go/1.20.14/x64 GITHUB_REPOSITORY_ID=771575307 DEPLOYMENT_BASEPATH=/opt/runner GITHUB_ACTIONS=true STATS_VMD=true ANDROID_NDK_LATEST_HOME=/usr/local/lib/android/sdk/ndk/26.3.11579264 SYSTEMD_EXEC_PID=594 GITHUB_SHA=36c170dc2b2122ace71a4af63e6a6f9e17561839 GITHUB_WORKFLOW_REF=xhd2015/xgo/.github/workflows/go.yml@refs/pull/166/merge POWERSHELL_DISTRIBUTION_CHANNEL=GitHub-Actions-ubuntu22 RUNNER_ENVIRONMENT=github-hosted STATS_EXTP=https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data DOTNET_MULTILEVEL_LOOKUP=0 GITHUB_REF=refs/pull/166/merge RUNNER_OS=Linux GITHUB_REF_PROTECTED=false HOME=/home/runner GITHUB_API_URL=https://api.github.com LANG=C.UTF-8 RUNNER_TRACKING_ID=github_6772dcf7-3392-4c82-af5a-f96dfe0b7d24 RUNNER_ARCH=X64 GOROOT_1_21_X64=/opt/hostedtoolcache/go/1.21.[10](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:11)/x64 RUNNER_TEMP=/home/runner/work/_temp GITHUB_STATE=/home/runner/work/_temp/_runner_file_commands/save_state_e04cd48d-20de-4628-98da-917fa36bcff8 EDGEWEBDRIVER=/usr/local/share/edge_driver JAVA_HOME_21_X64=/usr/lib/jvm/temurin-21-jdk-amd64 GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_e04cd48d-20de-4628-98da-917fa36bcff8 GITHUB_EVENT_PATH=/home/runner/work/_temp/_github_workflow/event.json INVOCATION_ID=7f74c4a05c8043ca843b12472dce51e2 STATS_D=true GITHUB_EVENT_NAME=pull_request GITHUB_RUN_ID=9285634048 JAVA_HOME_17_X64=/usr/lib/jvm/temurin-17-jdk-amd64 ANDROID_NDK_HOME=/usr/local/lib/android/sdk/ndk/25.2.9519653 GITHUB_STEP_SUMMARY=/home/runner/work/_temp/_runner_file_commands/step_summary_e04cd48d-20de-4628-98da-917fa36bcff8 HOMEBREW_NO_AUTO_UPDATE=1 GITHUB_ACTOR=xhd2015 NVM_DIR=/home/runner/.nvm SGX_AESM_ADDR=1 GITHUB_RUN_ATTEMPT=1 STATS_RDCL=true ANDROID_HOME=/usr/local/lib/android/sdk GITHUB_GRAPHQL_URL=https://api.github.com/graphql ACCEPT_EULA=Y RUNNER_USER=runner STATS_UE=true USER=runner GIT_CLONE_PROTECTION_ACTIVE=false GITHUB_SERVER_URL=https://github.com STATS_V3PS=true PIPX_HOME=/opt/pipx GECKOWEBDRIVER=/usr/local/share/gecko_driver STATS_EXT=true CHROMEWEBDRIVER=/usr/local/share/chromedriver-linux64 SHLVL=1 ANDROID_SDK_ROOT=/usr/local/lib/android/sdk VCPKG_INSTALLATION_ROOT=/usr/local/share/vcpkg GITHUB_ACTOR_ID=14964938 RUNNER_TOOL_CACHE=/opt/hostedtoolcache ImageVersion=20240526.1.0 DOTNET_NOLOGO=1 GITHUB_WORKFLOW_SHA=36c170dc2b2122ace71a4af63e6a6f9e17561839 GITHUB_REF_NAME=166/merge GITHUB_JOB=tests-with-coverage XDG_RUNTIME_DIR=/run/user/1001 AZURE_EXTENSION_DIR=/opt/az/azcliextensions PERFLOG_LOCATION_SETTING=RUNNER_PERFLOG STATS_VMFE=true GITHUB_REPOSITORY=xhd2015/xgo ANDROID_NDK_ROOT=/usr/local/lib/android/sdk/ndk/25.2.9519653 CHROME_BIN=/usr/bin/google-chrome GOROOT_1_22_X64=/opt/hostedtoolcache/go/1.22.3/x64 GITHUB_RETENTION_DAYS=90 JOURNAL_STREAM=8:17070 RUNNER_WORKSPACE=/home/runner/work/xgo LEIN_HOME=/usr/local/lib/lein LEIN_JAR=/usr/local/lib/lein/self-installs/leiningen-2.[11](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:12).2-standalone.jar GITHUB_ACTION_REPOSITORY= RUNNER_PERFLOG=/home/runner/perflog GITHUB_BASE_REF=master GHCUP_INSTALL_BASE_PREFIX=/usr/local CI=true SWIFT_PATH=/usr/share/swift/usr/bin ImageOS=ubuntu22 STATS_D_D=true GITHUB_REPOSITORY_OWNER=xhd2015 GITHUB_HEAD_REF=test-default-trap-stdlib GITHUB_ACTION_REF= GITHUB_WORKFLOW=Go DEBIAN_FRONTEND=noninteractive GITHUB_OUTPUT=/home/runner/work/_temp/_runner_file_commands/set_output_e04cd48d-20de-4628-98da-917fa36bcff8 AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache _=/opt/hostedtoolcache/go/1.20.14/x64/bin/go GOROOT=/opt/hostedtoolcache/go/1.20.14/x64 PATH=/opt/hostedtoolcache/go/1.20.14/x64/bin:/home/runner/go/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin XGO_MAIN_MODULE=github.com/xhd2015/xgo GOROOT=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14 PATH=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/home/runner/go/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin GOCACHE=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/build-cache-trapstd XGO_COMPILER_BIN=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/compile XGO_COMPILE_PKG_DATA_DIR=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/pkgdata XGO_TOOLCHAIN_VERSION=1.0.37 XGO_TOOLCHAIN_REVISION=2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1 XGO_TOOLCHAIN_VERSION_NUMBER=245 XGO_DEBUG_DUMP_IR= XGO_DEBUG_DUMP_IR_FILE= XGO_DEBUG_DUMP_AST= XGO_DEBUG_DUMP_AST_FILE= XGO_DEBUG_VSCODE= XGO_STD_LIB_TRAP_DEFAULT_ALLOW=true]
2024-05-29 11:59:47 command dir: 
2024-05-29 11:59:47 command executable path: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin/go
warning: no packages being tested depend on matches for pattern github.com/xhd2015/xgo/runtime/...
?   	github.com/xhd2015/xgo/test/xgo_test/func_is_a_two_level_pointer	[no test files]
=== RUN   TestFuncNameSlice
--- PASS: TestFuncNameSlice (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/func_name_slice	0.005s	coverage: [no statements]
=== RUN   TestFuncNames
--- PASS: TestFuncNames (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/func_names	0.005s	coverage: [no statements]
=== RUN   TestFuncRegister
--- PASS: TestFuncRegister (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/func_register	0.016s	coverage: [no statements]
=== RUN   TestLinkOnGoNewPrco
--- PASS: TestLinkOnGoNewPrco (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/link_on_go_new_proc	0.004s	coverage: [no statements]
=== RUN   TestLinkOnInitFinished
--- PASS: TestLinkOnInitFinished (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/link_on_init_finished	0.004s	coverage: [no statements]
=== RUN   TestMemEqual
--- PASS: TestMemEqual (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/mem_equal	0.004s	coverage: [no statements]
=== RUN   TestMethodShouldHaveFMSuffix
--- PASS: TestMethodShouldHaveFMSuffix (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/method_fm_suffix	0.004s	coverage: [no statements]
=== RUN   TestMethodRecvValueShouldBeCopied
--- PASS: TestMethodRecvValueShouldBeCopied (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/method_recv_value_via_struct	0.005s	coverage: [no statements]
=== RUN   TestMethodRecvViaInterface
--- PASS: TestMethodRecvViaInterface (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/method_recv_via_interface	0.005s	coverage: [no statements]
?   	github.com/xhd2015/xgo/test/xgo_test/reflect_type_info/sub	[no test files]
=== RUN   TestMethodValueCompare
--- PASS: TestMethodValueCompare (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/method_value_cmp	0.004s	coverage: [no statements]
=== RUN   TestVariableCanBeTrapped
--- PASS: TestVariableCanBeTrapped (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/proof_of_var_mock	0.004s	coverage: [no statements]
=== RUN   TestReflectTypePkgPathDifferentOnExportedness
--- PASS: TestReflectTypePkgPathDifferentOnExportedness (0.00s)
=== RUN   TestGetUnexportedMethodOfStruct
--- PASS: TestGetUnexportedMethodOfStruct (0.00s)
=== RUN   TestGetUnexportedMethodOfInterface
  reflect_type_info_test.go:49: kind: ptr
--- PASS: TestGetUnexportedMethodOfInterface (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/reflect_type_info	0.005s	coverage: [no statements]
=== RUN   TestRewriteChallenge
--- PASS: TestRewriteChallenge (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/rewrite_challenge	0.003s	coverage: [no statements]
=== RUN   TestTrapSet
--- PASS: TestTrapSet (0.00s)
PASS
coverage: [no statements]
ok  	github.com/xhd2015/xgo/test/xgo_test/trap_set	0.003s	coverage: [no statements]
2024-05-29 [12](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:13):00:03 finished successfully
2024-05-29 12:00:03 start: [/tmp/go-build1811957449/b001/exe/xgo test --project-dir runtime -v -cover -coverpkg github.com/xhd2015/xgo/runtime/... -coverprofile /home/runner/work/xgo/xgo/cover-runtime.out --log-debug=stdout ./core/... ./functab/... ./trace/... ./trap/... ./mock/... ./tls/...]
2024-05-29 12:00:03 runtime.GOOS=linux
2024-05-29 12:00:03 runtime.GOARCH=amd64
2024-05-29 12:00:03 runtime.Version()=go1.20.14
2024-05-29 12:00:03 runtime.GOROOT()=/opt/hostedtoolcache/go/1.20.14/x64
2024-05-29 12:00:03 os exe suffix: 
2024-05-29 12:00:03 os force copy unsym: false
2024-05-29 12:00:03 effective GOROOT: /opt/hostedtoolcache/go/1.20.14/x64
2024-05-29 12:00:03 go version: go1.20.14
2024-05-29 12:00:03 instrument dir: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883
2024-05-29 12:00:03 current revision: 1.0.37 2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1_DEV BUILD_245 DEV, last revision: 1.0.37 2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1_DEV BUILD_245 DEV from file /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/xgo-revision.txt
2024-05-29 12:00:03 sync goroot /opt/hostedtoolcache/go/1.20.14/x64 -> /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 12:00:03 patch compiler at: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 12:00:03 build instrument tools: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 12:00:04 compiler changed: false
2024-05-29 12:00:04 tool exec flags: -toolexec=/tmp/go-build1811957449/b001/exe/xgo exec_tool --enable --
2024-05-29 12:00:04 resolved main module: github.com/xhd2015/xgo/runtime
2024-05-29 12:00:04 command: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin/go [test -toolexec=/tmp/go-build1811957449/b001/exe/xgo exec_tool --enable -- -v -cover -coverpkg github.com/xhd2015/xgo/runtime/... -coverprofile /home/runner/work/xgo/xgo/cover-runtime.out ./core/... ./functab/... ./trace/... ./trap/... ./mock/... ./tls/...]
2024-05-29 12:00:04 command env: [SELENIUM_JAR_PATH=/usr/share/java/selenium-server.jar CONDA=/usr/share/miniconda GITHUB_WORKSPACE=/home/runner/work/xgo/xgo JAVA_HOME_11_X64=/usr/lib/jvm/temurin-11-jdk-amd64 GITHUB_PATH=/home/runner/work/_temp/_runner_file_commands/add_path_e04cd48d-20de-4628-98da-917fa36bcff8 GITHUB_ACTION=__run JAVA_HOME=/usr/lib/jvm/temurin-11-jdk-amd64 GITHUB_RUN_NUMBER=320 RUNNER_NAME=GitHub Actions 3 GRADLE_HOME=/usr/share/gradle-8.7 GITHUB_REPOSITORY_OWNER_ID=14964938 ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE=/opt/actionarchivecache XDG_CONFIG_HOME=/home/runner/.config DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 ANT_HOME=/usr/share/ant JAVA_HOME_8_X64=/usr/lib/jvm/temurin-8-jdk-amd64 GITHUB_TRIGGERING_ACTOR=xhd2015 GITHUB_REF_TYPE=branch HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS=3650 ANDROID_NDK=/usr/local/lib/android/sdk/ndk/25.2.9519653 BOOTSTRAP_HASKELL_NONINTERACTIVE=1 *** PIPX_BIN_DIR=/opt/pipx_bin STATS_TRP=true GOROOT_1_20_X64=/opt/hostedtoolcache/go/1.20.14/x64 GITHUB_REPOSITORY_ID=771575307 DEPLOYMENT_BASEPATH=/opt/runner GITHUB_ACTIONS=true STATS_VMD=true ANDROID_NDK_LATEST_HOME=/usr/local/lib/android/sdk/ndk/26.3.11579264 SYSTEMD_EXEC_PID=594 GITHUB_SHA=36c170dc2b2122ace71a4af63e6a6f9e17561839 GITHUB_WORKFLOW_REF=xhd2015/xgo/.github/workflows/go.yml@refs/pull/166/merge POWERSHELL_DISTRIBUTION_CHANNEL=GitHub-Actions-ubuntu22 RUNNER_ENVIRONMENT=github-hosted STATS_EXTP=https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data DOTNET_MULTILEVEL_LOOKUP=0 GITHUB_REF=refs/pull/166/merge RUNNER_OS=Linux GITHUB_REF_PROTECTED=false HOME=/home/runner GITHUB_API_URL=https://api.github.com LANG=C.UTF-8 RUNNER_TRACKING_ID=github_6772dcf7-3392-4c82-af5a-f96dfe0b7d24 RUNNER_ARCH=X64 GOROOT_1_21_X64=/opt/hostedtoolcache/go/1.21.10/x64 RUNNER_TEMP=/home/runner/work/_temp GITHUB_STATE=/home/runner/work/_temp/_runner_file_commands/save_state_e04cd48d-20de-4628-98da-917fa36bcff8 EDGEWEBDRIVER=/usr/local/share/edge_driver JAVA_HOME_21_X64=/usr/lib/jvm/temurin-21-jdk-amd64 GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_e04cd48d-20de-4628-98da-917fa36bcff8 GITHUB_EVENT_PATH=/home/runner/work/_temp/_github_workflow/event.json INVOCATION_ID=7f74c4a05c8043ca843b12472dce51e2 STATS_D=true GITHUB_EVENT_NAME=pull_request GITHUB_RUN_ID=9285634048 JAVA_HOME_17_X64=/usr/lib/jvm/temurin-17-jdk-amd64 ANDROID_NDK_HOME=/usr/local/lib/android/sdk/ndk/25.2.9519653 GITHUB_STEP_SUMMARY=/home/runner/work/_temp/_runner_file_commands/step_summary_e04cd48d-20de-4628-98da-917fa36bcff8 HOMEBREW_NO_AUTO_UPDATE=1 GITHUB_ACTOR=xhd2015 NVM_DIR=/home/runner/.nvm SGX_AESM_ADDR=1 GITHUB_RUN_ATTEMPT=1 STATS_RDCL=true ANDROID_HOME=/usr/local/lib/android/sdk GITHUB_GRAPHQL_URL=https://api.github.com/graphql ACCEPT_EULA=Y RUNNER_USER=runner STATS_UE=true USER=runner GIT_CLONE_PROTECTION_ACTIVE=false GITHUB_SERVER_URL=https://github.com STATS_V3PS=true PIPX_HOME=/opt/pipx GECKOWEBDRIVER=/usr/local/share/gecko_driver STATS_EXT=true CHROMEWEBDRIVER=/usr/local/share/chromedriver-linux64 SHLVL=1 ANDROID_SDK_ROOT=/usr/local/lib/android/sdk VCPKG_INSTALLATION_ROOT=/usr/local/share/vcpkg GITHUB_ACTOR_ID=14964938 RUNNER_TOOL_CACHE=/opt/hostedtoolcache ImageVersion=20240526.1.0 DOTNET_NOLOGO=1 GITHUB_WORKFLOW_SHA=36c170dc2b2122ace71a4af63e6a6f9e17561839 GITHUB_REF_NAME=166/merge GITHUB_JOB=tests-with-coverage XDG_RUNTIME_DIR=/run/user/1001 AZURE_EXTENSION_DIR=/opt/az/azcliextensions PERFLOG_LOCATION_SETTING=RUNNER_PERFLOG STATS_VMFE=true GITHUB_REPOSITORY=xhd2015/xgo ANDROID_NDK_ROOT=/usr/local/lib/android/sdk/ndk/25.2.9519653 CHROME_BIN=/usr/bin/google-chrome GOROOT_1_22_X64=/opt/hostedtoolcache/go/1.22.3/x64 GITHUB_RETENTION_DAYS=90 JOURNAL_STREAM=8:17070 RUNNER_WORKSPACE=/home/runner/work/xgo LEIN_HOME=/usr/local/lib/lein LEIN_JAR=/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar GITHUB_ACTION_REPOSITORY= RUNNER_PERFLOG=/home/runner/perflog GITHUB_BASE_REF=master GHCUP_INSTALL_BASE_PREFIX=/usr/local CI=true SWIFT_PATH=/usr/share/swift/usr/bin ImageOS=ubuntu22 STATS_D_D=true GITHUB_REPOSITORY_OWNER=xhd2015 GITHUB_HEAD_REF=test-default-trap-stdlib GITHUB_ACTION_REF= GITHUB_WORKFLOW=Go DEBIAN_FRONTEND=noninteractive GITHUB_OUTPUT=/home/runner/work/_temp/_runner_file_commands/set_output_e04cd48d-20de-4628-98da-917fa36bcff8 AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache _=/opt/hostedtoolcache/go/1.20.14/x64/bin/go GOROOT=/opt/hostedtoolcache/go/1.20.14/x64 PATH=/opt/hostedtoolcache/go/1.20.14/x64/bin:/home/runner/go/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin XGO_MAIN_MODULE=github.com/xhd2015/xgo/runtime GOROOT=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14 PATH=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/home/runner/go/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin GOCACHE=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/build-cache-trapstd XGO_COMPILER_BIN=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/compile XGO_COMPILE_PKG_DATA_DIR=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/pkgdata XGO_TOOLCHAIN_VERSION=1.0.37 XGO_TOOLCHAIN_REVISION=2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1 XGO_TOOLCHAIN_VERSION_NUMBER=245 XGO_DEBUG_DUMP_IR= XGO_DEBUG_DUMP_IR_FILE= XGO_DEBUG_DUMP_AST= XGO_DEBUG_DUMP_AST_FILE= XGO_DEBUG_VSCODE= XGO_STD_LIB_TRAP_DEFAULT_ALLOW=true]
2024-05-29 12:00:04 command dir: runtime
2024-05-29 12:00:04 command executable path: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin/go
?   	github.com/xhd2015/xgo/runtime/functab	[no test files]
=== RUN   TestParseFuncName
--- PASS: TestParseFuncName (0.00s)
PASS
  github.com/xhd2015/xgo/runtime/core	coverage: 64.5% of statements in github.com/xhd2015/xgo/runtime/...
ok  	github.com/xhd2015/xgo/runtime/core	0.007s	coverage: 64.5% of statements in github.com/xhd2015/xgo/runtime/...
?   	github.com/xhd2015/xgo/runtime/trap	[no test files]
?   	github.com/xhd2015/xgo/runtime/mock	[no test files]
?   	github.com/xhd2015/xgo/runtime/tls	[no test files]
=== RUN   TestNowOriginal
--- PASS: TestNowOriginal (0.00s)
=== RUN   TestNowPatched
--- PASS: TestNowPatched (0.00s)
PASS
  github.com/xhd2015/xgo/runtime/core	coverage: 40.8% of statements in github.com/xhd2015/xgo/runtime/...
  github.com/xhd2015/xgo/runtime/functab	coverage: 57.3% of statements in github.com/xhd2015/xgo/runtime/...
  github.com/xhd2015/xgo/runtime/trace	coverage: 5.7% of statements in github.com/xhd2015/xgo/runtime/...
  github.com/xhd2015/xgo/runtime/trap	coverage: 43.2% of statements in github.com/xhd2015/xgo/runtime/...
ok  	github.com/xhd2015/xgo/runtime/trace	0.031s	coverage: 40.8% of statements in github.com/xhd2015/xgo/runtime/...
2024-05-29 12:00:05 finished successfully
2024-05-29 12:00:05 start: [/tmp/go-build602589441/b001/exe/xgo test -v -cover -coverpkg github.com/xhd2015/xgo/runtime/... -coverprofile /home/runner/work/xgo/xgo/cover-runtime-sub.out --log-debug=stdout --project-dir ./runtime/test/trace_without_dep -run TestPreCheck ./hook_test.go]
2024-05-29 12:00:05 runtime.GOOS=linux
2024-05-29 12:00:05 runtime.GOARCH=amd64
2024-05-29 12:00:05 runtime.Version()=go1.20.14
2024-05-29 12:00:05 runtime.GOROOT()=/opt/hostedtoolcache/go/1.20.14/x64
2024-05-29 12:00:05 os exe suffix: 
2024-05-29 12:00:05 os force copy unsym: false
2024-05-29 12:00:05 effective GOROOT: /opt/hostedtoolcache/go/1.20.14/x64
2024-05-29 12:00:05 go version: go1.20.14
2024-05-29 12:00:05 instrument dir: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883
2024-05-29 12:00:05 current revision: 1.0.37 2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1_DEV BUILD_245 DEV, last revision: 1.0.37 2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1_DEV BUILD_245 DEV from file /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/xgo-revision.txt
2024-05-29 12:00:05 sync goroot /opt/hostedtoolcache/go/1.20.14/x64 -> /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 12:00:05 patch compiler at: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 12:00:05 build instrument tools: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 12:00:05 compiler changed: false
2024-05-29 12:00:05 tool exec flags: -toolexec=/tmp/go-build602589441/b001/exe/xgo exec_tool --enable --
2024-05-29 12:00:05 resolved main module: demo
2024-05-29 12:00:05 command: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin/go [test -toolexec=/tmp/go-build602589441/b001/exe/xgo exec_tool --enable -- -v -cover -coverpkg github.com/xhd2015/xgo/runtime/... -coverprofile /home/runner/work/xgo/xgo/cover-runtime-sub.out -run TestPreCheck ./hook_test.go]
2024-05-29 12:00:05 command env: [SELENIUM_JAR_PATH=/usr/share/java/selenium-server.jar CONDA=/usr/share/miniconda GITHUB_WORKSPACE=/home/runner/work/xgo/xgo JAVA_HOME_11_X64=/usr/lib/jvm/temurin-11-jdk-amd64 GITHUB_PATH=/home/runner/work/_temp/_runner_file_commands/add_path_e04cd48d-20de-4628-98da-917fa36bcff8 GITHUB_ACTION=__run JAVA_HOME=/usr/lib/jvm/temurin-11-jdk-amd64 GITHUB_RUN_NUMBER=320 RUNNER_NAME=GitHub Actions 3 GRADLE_HOME=/usr/share/gradle-8.7 GITHUB_REPOSITORY_OWNER_ID=14964938 ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE=/opt/actionarchivecache XDG_CONFIG_HOME=/home/runner/.config DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 ANT_HOME=/usr/share/ant JAVA_HOME_8_X64=/usr/lib/jvm/temurin-8-jdk-amd64 GITHUB_TRIGGERING_ACTOR=xhd2015 GITHUB_REF_TYPE=branch HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS=3650 ANDROID_NDK=/usr/local/lib/android/sdk/ndk/25.2.9519653 BOOTSTRAP_HASKELL_NONINTERACTIVE=1 *** PIPX_BIN_DIR=/opt/pipx_bin STATS_TRP=true GOROOT_1_20_X64=/opt/hostedtoolcache/go/1.20.14/x64 GITHUB_REPOSITORY_ID=771575307 DEPLOYMENT_BASEPATH=/opt/runner GITHUB_ACTIONS=true STATS_VMD=true ANDROID_NDK_LATEST_HOME=/usr/local/lib/android/sdk/ndk/26.3.11579264 SYSTEMD_EXEC_PID=594 GITHUB_SHA=36c170dc2b2122ace71a4af63e6a6f9e17561839 GITHUB_WORKFLOW_REF=xhd2015/xgo/.github/workflows/go.yml@refs/pull/166/merge POWERSHELL_DISTRIBUTION_CHANNEL=GitHub-Actions-ubuntu22 RUNNER_ENVIRONMENT=github-hosted STATS_EXTP=https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data DOTNET_MULTILEVEL_LOOKUP=0 GITHUB_REF=refs/pull/166/merge RUNNER_OS=Linux GITHUB_REF_PROTECTED=false HOME=/home/runner GITHUB_API_URL=https://api.github.com LANG=C.UTF-8 RUNNER_TRACKING_ID=github_6772dcf7-3392-4c82-af5a-f96dfe0b7d24 RUNNER_ARCH=X64 GOROOT_1_21_X64=/opt/hostedtoolcache/go/1.21.10/x64 RUNNER_TEMP=/home/runner/work/_temp GITHUB_STATE=/home/runner/work/_temp/_runner_file_commands/save_state_e04cd48d-20de-4628-98da-917fa36bcff8 EDGEWEBDRIVER=/usr/local/share/edge_driver JAVA_HOME_21_X64=/usr/lib/jvm/temurin-21-jdk-amd64 GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_e04cd48d-20de-4628-98da-917fa36bcff8 GITHUB_EVENT_PATH=/home/runner/work/_temp/_github_workflow/event.json INVOCATION_ID=7f74c4a05c8043ca843b12472dce51e2 STATS_D=true GITHUB_EVENT_NAME=pull_request GITHUB_RUN_ID=9285634048 JAVA_HOME_17_X64=/usr/lib/jvm/temurin-17-jdk-amd64 ANDROID_NDK_HOME=/usr/local/lib/android/sdk/ndk/25.2.9519653 GITHUB_STEP_SUMMARY=/home/runner/work/_temp/_runner_file_commands/step_summary_e04cd48d-20de-4628-98da-917fa36bcff8 HOMEBREW_NO_AUTO_UPDATE=1 GITHUB_ACTOR=xhd2015 NVM_DIR=/home/runner/.nvm SGX_AESM_ADDR=1 GITHUB_RUN_ATTEMPT=1 STATS_RDCL=true ANDROID_HOME=/usr/local/lib/android/sdk GITHUB_GRAPHQL_URL=https://api.github.com/graphql ACCEPT_EULA=Y RUNNER_USER=runner STATS_UE=true USER=runner GIT_CLONE_PROTECTION_ACTIVE=false GITHUB_SERVER_URL=https://github.com STATS_V3PS=true PIPX_HOME=/opt/pipx GECKOWEBDRIVER=/usr/local/share/gecko_driver STATS_EXT=true CHROMEWEBDRIVER=/usr/local/share/chromedriver-linux64 SHLVL=1 ANDROID_SDK_ROOT=/usr/local/lib/android/sdk VCPKG_INSTALLATION_ROOT=/usr/local/share/vcpkg GITHUB_ACTOR_ID=14964938 RUNNER_TOOL_CACHE=/opt/hostedtoolcache ImageVersion=20240526.1.0 DOTNET_NOLOGO=1 GITHUB_WORKFLOW_SHA=36c170dc2b2122ace71a4af63e6a6f9e17561839 GITHUB_REF_NAME=166/merge GITHUB_JOB=tests-with-coverage XDG_RUNTIME_DIR=/run/user/1001 AZURE_EXTENSION_DIR=/opt/az/azcliextensions PERFLOG_LOCATION_SETTING=RUNNER_PERFLOG STATS_VMFE=true GITHUB_REPOSITORY=xhd2015/xgo ANDROID_NDK_ROOT=/usr/local/lib/android/sdk/ndk/25.2.9519653 CHROME_BIN=/usr/bin/google-chrome GOROOT_1_22_X64=/opt/hostedtoolcache/go/1.22.3/x64 GITHUB_RETENTION_DAYS=90 JOURNAL_STREAM=8:17070 RUNNER_WORKSPACE=/home/runner/work/xgo LEIN_HOME=/usr/local/lib/lein LEIN_JAR=/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar GITHUB_ACTION_REPOSITORY= RUNNER_PERFLOG=/home/runner/perflog GITHUB_BASE_REF=master GHCUP_INSTALL_BASE_PREFIX=/usr/local CI=true SWIFT_PATH=/usr/share/swift/usr/bin ImageOS=ubuntu22 STATS_D_D=true GITHUB_REPOSITORY_OWNER=xhd2015 GITHUB_HEAD_REF=test-default-trap-stdlib GITHUB_ACTION_REF= GITHUB_WORKFLOW=Go DEBIAN_FRONTEND=noninteractive GITHUB_OUTPUT=/home/runner/work/_temp/_runner_file_commands/set_output_e04cd48d-20de-4628-98da-917fa36bcff8 AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache _=/opt/hostedtoolcache/go/1.20.14/x64/bin/go GOROOT=/opt/hostedtoolcache/go/1.20.14/x64 PATH=/opt/hostedtoolcache/go/1.20.14/x64/bin:/home/runner/go/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin XGO_MAIN_MODULE=demo GOROOT=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14 PATH=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/home/runner/go/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin GOCACHE=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/build-cache-trapstd XGO_COMPILER_BIN=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/compile XGO_COMPILE_PKG_DATA_DIR=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/pkgdata XGO_TOOLCHAIN_VERSION=1.0.37 XGO_TOOLCHAIN_REVISION=2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1 XGO_TOOLCHAIN_VERSION_NUMBER=245 XGO_DEBUG_DUMP_IR= XGO_DEBUG_DUMP_IR_FILE= XGO_DEBUG_DUMP_AST= XGO_DEBUG_DUMP_AST_FILE= XGO_DEBUG_VSCODE= XGO_STD_LIB_TRAP_DEFAULT_ALLOW=true]
2024-05-29 12:00:05 command dir: ./runtime/test/trace_without_dep
2024-05-29 12:00:05 command executable path: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin/go
warning: no packages being tested depend on matches for pattern github.com/xhd2015/xgo/runtime/...
=== RUN   TestPreCheck
--- PASS: TestPreCheck (0.00s)
PASS
coverage: [no statements]
ok  	command-line-arguments	0.004s	coverage: [no statements]
2024-05-29 12:00:05 finished successfully
2024-05-29 12:00:06 start: [/tmp/go-build2307286749/b001/exe/xgo test -v -cover -coverpkg github.com/xhd2015/xgo/runtime/... -coverprofile /home/runner/work/xgo/xgo/cover-runtime-sub.out --log-debug=stdout --project-dir ./runtime/test/trace_without_dep --strace ./]
2024-05-29 12:00:06 runtime.GOOS=linux
2024-05-29 12:00:06 runtime.GOARCH=amd64
2024-05-29 12:00:06 runtime.Version()=go1.20.14
2024-05-29 12:00:06 runtime.GOROOT()=/opt/hostedtoolcache/go/1.20.14/x64
2024-05-29 12:00:06 os exe suffix: 
2024-05-29 12:00:06 os force copy unsym: false
2024-05-29 12:00:06 effective GOROOT: /opt/hostedtoolcache/go/1.20.14/x64
2024-05-29 12:00:06 go version: go1.20.14
2024-05-29 12:00:06 instrument dir: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883
2024-05-29 12:00:06 current revision: 1.0.37 2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1_DEV BUILD_245 DEV, last revision: 1.0.37 2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1_DEV BUILD_245 DEV from file /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/xgo-revision.txt
2024-05-29 12:00:06 sync goroot /opt/hostedtoolcache/go/1.20.14/x64 -> /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 12:00:06 patch compiler at: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 12:00:06 build instrument tools: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14
2024-05-29 12:00:06 compiler changed: false
2024-05-29 12:00:06 tool exec flags: -toolexec=/tmp/go-build2307286749/b001/exe/xgo exec_tool --enable --
2024-05-29 12:00:06 go [list -m -json -mod=mod -e github.com/xhd2015/xgo/runtime]
2024-05-29 12:00:06 list err: module github.com/xhd2015/xgo/runtime: not a known dependency
2024-05-29 12:00:06 xgo tmp dir: /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245
2024-05-29 12:00:06 tmp project dir: /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/projects/ho_ru_wo_xg_xg_ru_te_tr_f0bf2bd9
2024-05-29 12:00:06 resolved main module: demo
2024-05-29 12:00:06 command: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin/go [test -toolexec=/tmp/go-build2307286749/b001/exe/xgo exec_tool --enable -- -v -overlay /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/projects/ho_ru_wo_xg_xg_ru_te_tr_f0bf2bd9/overlay.json -cover -coverpkg github.com/xhd2015/xgo/runtime/... -coverprofile /home/runner/work/xgo/xgo/cover-runtime-sub.out ./]
2024-05-29 12:00:06 command env: [SELENIUM_JAR_PATH=/usr/share/java/selenium-server.jar CONDA=/usr/share/miniconda GITHUB_WORKSPACE=/home/runner/work/xgo/xgo JAVA_HOME_11_X64=/usr/lib/jvm/temurin-11-jdk-amd64 GITHUB_PATH=/home/runner/work/_temp/_runner_file_commands/add_path_e04cd48d-20de-4628-98da-917fa36bcff8 GITHUB_ACTION=__run JAVA_HOME=/usr/lib/jvm/temurin-11-jdk-amd64 GITHUB_RUN_NUMBER=320 RUNNER_NAME=GitHub Actions 3 GRADLE_HOME=/usr/share/gradle-8.7 GITHUB_REPOSITORY_OWNER_ID=14964938 ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE=/opt/actionarchivecache XDG_CONFIG_HOME=/home/runner/.config DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 ANT_HOME=/usr/share/ant JAVA_HOME_8_X64=/usr/lib/jvm/temurin-8-jdk-amd64 GITHUB_TRIGGERING_ACTOR=xhd2015 GITHUB_REF_TYPE=branch HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS=3650 ANDROID_NDK=/usr/local/lib/android/sdk/ndk/25.2.9519653 BOOTSTRAP_HASKELL_NONINTERACTIVE=1 *** PIPX_BIN_DIR=/opt/pipx_bin STATS_TRP=true GOROOT_1_20_X64=/opt/hostedtoolcache/go/1.20.14/x64 GITHUB_REPOSITORY_ID=771575307 DEPLOYMENT_BASEPATH=/opt/runner GITHUB_ACTIONS=true STATS_VMD=true ANDROID_NDK_LATEST_HOME=/usr/local/lib/android/sdk/ndk/26.3.11579264 SYSTEMD_EXEC_PID=594 GITHUB_SHA=36c170dc2b2122ace71a4af63e6a6f9e17561839 GITHUB_WORKFLOW_REF=xhd2015/xgo/.github/workflows/go.yml@refs/pull/166/merge POWERSHELL_DISTRIBUTION_CHANNEL=GitHub-Actions-ubuntu22 RUNNER_ENVIRONMENT=github-hosted STATS_EXTP=https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data DOTNET_MULTILEVEL_LOOKUP=0 GITHUB_REF=refs/pull/166/merge RUNNER_OS=Linux GITHUB_REF_PROTECTED=false HOME=/home/runner GITHUB_API_URL=https://api.github.com LANG=C.UTF-8 RUNNER_TRACKING_ID=github_6772dcf7-3392-4c82-af5a-f96dfe0b7d24 RUNNER_ARCH=X64 GOROOT_1_21_X64=/opt/hostedtoolcache/go/1.21.10/x64 RUNNER_TEMP=/home/runner/work/_temp GITHUB_STATE=/home/runner/work/_temp/_runner_file_commands/save_state_e04cd48d-20de-4628-98da-917fa36bcff8 EDGEWEBDRIVER=/usr/local/share/edge_driver JAVA_HOME_21_X64=/usr/lib/jvm/temurin-21-jdk-amd64 GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_e04cd48d-20de-4628-98da-917fa36bcff8 GITHUB_EVENT_PATH=/home/runner/work/_temp/_github_workflow/event.json INVOCATION_ID=7f74c4a05c8043ca843b12472dce51e2 STATS_D=true GITHUB_EVENT_NAME=pull_request GITHUB_RUN_ID=9285634048 JAVA_HOME_17_X64=/usr/lib/jvm/temurin-17-jdk-amd64 ANDROID_NDK_HOME=/usr/local/lib/android/sdk/ndk/25.2.9519653 GITHUB_STEP_SUMMARY=/home/runner/work/_temp/_runner_file_commands/step_summary_e04cd48d-20de-4628-98da-917fa36bcff8 HOMEBREW_NO_AUTO_UPDATE=1 GITHUB_ACTOR=xhd2015 NVM_DIR=/home/runner/.nvm SGX_AESM_ADDR=1 GITHUB_RUN_ATTEMPT=1 STATS_RDCL=true ANDROID_HOME=/usr/local/lib/android/sdk GITHUB_GRAPHQL_URL=https://api.github.com/graphql ACCEPT_EULA=Y RUNNER_USER=runner STATS_UE=true USER=runner GIT_CLONE_PROTECTION_ACTIVE=false GITHUB_SERVER_URL=https://github.com STATS_V3PS=true PIPX_HOME=/opt/pipx GECKOWEBDRIVER=/usr/local/share/gecko_driver STATS_EXT=true CHROMEWEBDRIVER=/usr/local/share/chromedriver-linux64 SHLVL=1 ANDROID_SDK_ROOT=/usr/local/lib/android/sdk VCPKG_INSTALLATION_ROOT=/usr/local/share/vcpkg GITHUB_ACTOR_ID=14964938 RUNNER_TOOL_CACHE=/opt/hostedtoolcache ImageVersion=20240526.1.0 DOTNET_NOLOGO=1 GITHUB_WORKFLOW_SHA=36c170dc2b2122ace71a4af63e6a6f9e17561839 GITHUB_REF_NAME=166/merge GITHUB_JOB=tests-with-coverage XDG_RUNTIME_DIR=/run/user/1001 AZURE_EXTENSION_DIR=/opt/az/azcliextensions PERFLOG_LOCATION_SETTING=RUNNER_PERFLOG STATS_VMFE=true GITHUB_REPOSITORY=xhd2015/xgo ANDROID_NDK_ROOT=/usr/local/lib/android/sdk/ndk/25.2.9519653 CHROME_BIN=/usr/bin/google-chrome GOROOT_1_22_X64=/opt/hostedtoolcache/go/1.22.3/x64 GITHUB_RETENTION_DAYS=90 JOURNAL_STREAM=8:17070 RUNNER_WORKSPACE=/home/runner/work/xgo LEIN_HOME=/usr/local/lib/lein LEIN_JAR=/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar GITHUB_ACTION_REPOSITORY= RUNNER_PERFLOG=/home/runner/perflog GITHUB_BASE_REF=master GHCUP_INSTALL_BASE_PREFIX=/usr/local CI=true SWIFT_PATH=/usr/share/swift/usr/bin ImageOS=ubuntu22 STATS_D_D=true GITHUB_REPOSITORY_OWNER=xhd2015 GITHUB_HEAD_REF=test-default-trap-stdlib GITHUB_ACTION_REF= GITHUB_WORKFLOW=Go DEBIAN_FRONTEND=noninteractive GITHUB_OUTPUT=/home/runner/work/_temp/_runner_file_commands/set_output_e04cd48d-20de-4628-98da-917fa36bcff8 AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache _=/opt/hostedtoolcache/go/1.20.14/x64/bin/go GOROOT=/opt/hostedtoolcache/go/1.20.14/x64 PATH=/opt/hostedtoolcache/go/1.20.14/x64/bin:/home/runner/go/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin XGO_MAIN_MODULE=demo GOROOT=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14 PATH=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/home/runner/go/bin:/opt/hostedtoolcache/go/1.20.14/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin GOCACHE=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/build-cache-trapstd XGO_COMPILER_BIN=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/compile XGO_COMPILE_PKG_DATA_DIR=/home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/pkgdata XGO_TOOLCHAIN_VERSION=1.0.37 XGO_TOOLCHAIN_REVISION=2e709f7b1620aea78fdc1dba282bcf6778dd6d51+1 XGO_TOOLCHAIN_VERSION_NUMBER=245 XGO_DEBUG_DUMP_IR= XGO_DEBUG_DUMP_IR_FILE= XGO_DEBUG_DUMP_AST= XGO_DEBUG_DUMP_AST_FILE= XGO_DEBUG_VSCODE= XGO_STACK_TRACE=on XGO_STD_LIB_TRAP_DEFAULT_ALLOW=true]
2024-05-29 12:00:06 command dir: ./runtime/test/trace_without_dep
2024-05-29 12:00:06 command executable path: /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/bin/go
=== RUN   TestGreet
fatal error: all goroutines are asleep - deadlock!

goroutine 1 [chan receive]:
testing.(*T).Run(0xc0004351e0, {0x96d681, 0x9}, 0x98b1d8)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/testing.go:1650 +0x465
testing.runTests.func1(0xc00048a660?)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/testing.go:2056 +0x45
testing.tRunner(0xc0004351e0, 0xc00048a640)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/testing.go:1596 +0x318
testing.runTests(0xc0001a80a0?, {0xd54260, 0x1, 0x1}, {0x0?, 0x98854e?, 0xd5db20?})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/testing.go:2054 +0x385
testing.(*M).Run(0xc0001a80a0)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/testing.go:1926 +0x597
main.main()
  _testmain.go:78 +0x[13](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:14)e

goroutine 18 [semacquire]:
github.com/xhd2015/xgo/runtime/trap.(*interceptorManager).copy(0xc00048e280)
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trap/interceptor.go:162 +0x2b6
github.com/xhd2015/xgo/runtime/trap.init.1.func1(0xc0004a7a30?)
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trap/trap.go:56 +0x85
encoding/json.__xgo_orig_typeFields({0xb75460, 0x956c00})
  /home/runner/.xgo/go-instrument-dev/go1.20.[14](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:15)_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:1313 +0x10ae
encoding/json.typeFields({0xb75460, 0x956c00})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:1212 +0x1ce
encoding/json.__xgo_orig_cachedTypeFields({0xb75460?, 0x956c00})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:14[15](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:16) +0xab
encoding/json.cachedTypeFields({0xb75460, 0x956c00})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:1411 +0x1ce
encoding/json.__xgo_orig_newStructEncoder({0xb75460?, 0x956c00?})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:769 +0x27
encoding/json.newStructEncoder({0xb75460, 0x956c00})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:768 +0x1ca
encoding/json.__xgo_orig_newTypeEncoder({0xb75460, 0x956c00}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:449 +0x288
encoding/json.newTypeEncoder({0xb75460, 0x956c00}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:415 +0x225
encoding/json.__xgo_orig_typeEncoder({0xb75460?, 0x956c00})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:402 +0x[16](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:17)b
encoding/json.typeEncoder({0xb75460, 0x956c00})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:379 +0x1ca
encoding/json.__xgo_orig_newPtrEncoder({0xb75460?, 0x8dd820?})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:948 +0x2c
encoding/json.newPtrEncoder({0xb75460, 0x8dd820})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:947 +0x1ca
encoding/json.__xgo_orig_newTypeEncoder({0xb75460, 0x8dd820}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:457 +0x245
encoding/json.newTypeEncoder({0xb75460, 0x8dd820}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:415 +0x225
encoding/json.__xgo_orig_typeEncoder({0xb75460?, 0x8dd820})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:402 +0x16b
encoding/json.typeEncoder({0xb75460, 0x8dd820})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:379 +0x1ca
encoding/json.__xgo_orig_typeFields({0xb75460, 0x94e7e0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:1383 +0x69b
encoding/json.typeFields({0xb75460, 0x94e7e0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:1212 +0x1ce
encoding/json.__xgo_orig_cachedTypeFields({0xb75460?, 0x94e7e0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:1415 +0xab
encoding/json.cachedTypeFields({0xb75460, 0x94e7e0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:1411 +0x1ce
encoding/json.__xgo_orig_newStructEncoder({0xb75460?, 0x94e7e0?})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:769 +0x27
encoding/json.newStructEncoder({0xb75460, 0x94e7e0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:768 +0x1ca
encoding/json.__xgo_orig_newTypeEncoder({0xb75460, 0x94e7e0}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:449 +0x288
encoding/json.newTypeEncoder({0xb75460, 0x94e7e0}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:415 +0x225
encoding/json.__xgo_orig_typeEncoder({0xb75460?, 0x94e7e0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:402 +0x16b
encoding/json.typeEncoder({0xb75460, 0x94e7e0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:379 +0x1ca
encoding/json.__xgo_orig_newPtrEncoder({0xb75460?, 0x8dd8e0?})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:948 +0x2c
encoding/json.newPtrEncoder({0xb75460, 0x8dd8e0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:947 +0x1ca
encoding/json.__xgo_orig_newTypeEncoder({0xb75460, 0x8dd8e0}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:457 +0x245
encoding/json.newTypeEncoder({0xb75460, 0x8dd8e0}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:415 +0x225
encoding/json.__xgo_orig_typeEncoder({0xb75460?, 0x8dd8e0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:402 +0x16b
encoding/json.typeEncoder({0xb75460, 0x8dd8e0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:379 +0x1ca
encoding/json.__xgo_orig_newArrayEncoder({0xb75460?, 0x8e2640?})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:920 +0x2c
encoding/json.newArrayEncoder({0xb75460, 0x8e2640})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:919 +0x1ca
encoding/json.__xgo_orig_newSliceEncoder({0xb75460, 0x8e2640})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:899 +0xae
encoding/json.newSliceEncoder({0xb75460, 0x8e2640})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:891 +0x1ca
encoding/json.__xgo_orig_newTypeEncoder({0xb75460, 0x8e2640}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:453 +0x25e
encoding/json.newTypeEncoder({0xb75460, 0x8e2640}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:415 +0x225
encoding/json.__xgo_orig_typeEncoder({0xb75460?, 0x8e2640})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:402 +0x16b
encoding/json.typeEncoder({0xb75460, 0x8e2640})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:379 +0x1ca
encoding/json.__xgo_orig_typeFields({0xb75460, 0x92c820})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:1383 +0x69b
encoding/json.typeFields({0xb75460, 0x92c820})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:1212 +0x1ce
encoding/json.__xgo_orig_cachedTypeFields({0xb75460?, 0x92c820})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:1415 +0xab
encoding/json.cachedTypeFields({0xb75460, 0x92c820})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:1411 +0x1ce
exit status 1
exit status 1
encoding/json.__xgo_orig_newStructEncoder({0xb75460?, 0x92c820?})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:769 +0x27
encoding/json.newStructEncoder({0xb75460, 0x92c820})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:768 +0x1ca
encoding/json.__xgo_orig_newTypeEncoder({0xb75460, 0x92c820}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:449 +0x288
encoding/json.newTypeEncoder({0xb75460, 0x92c820}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:415 +0x225
encoding/json.__xgo_orig_typeEncoder({0xb75460?, 0x92c820})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:402 +0x16b
encoding/json.typeEncoder({0xb75460, 0x92c820})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:379 +0x1ca
encoding/json.__xgo_orig_newPtrEncoder({0xb75460?, 0x8dd8a0?})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:948 +0x2c
encoding/json.newPtrEncoder({0xb75460, 0x8dd8a0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:947 +0x1ca
encoding/json.__xgo_orig_newTypeEncoder({0xb75460, 0x8dd8a0}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:457 +0x245
encoding/json.newTypeEncoder({0xb75460, 0x8dd8a0}, 0x1)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:415 +0x225
encoding/json.__xgo_orig_typeEncoder({0xb75460?, 0x8dd8a0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:402 +0x16b
encoding/json.typeEncoder({0xb75460, 0x8dd8a0})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:379 +0x1ca
encoding/json.__xgo_orig_valueEncoder({0x8dd8a0?, 0xc000488840?, 0x1?})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:376 +0x4f
encoding/json.valueEncoder({0x8dd8a0, 0xc000488840, 0x16})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:372 +0x1dc
encoding/json.(*encodeState).__xgo_orig_reflectValue(0xc00048ad80?, {0x8dd8a0?, 0xc000488840?, 0xd8c220?}, {0x0?, 0x0?})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:358 +0x4a
encoding/json.(*encodeState).reflectValue(0xc00022c200, {0x8dd8a0, 0xc000488840, 0x16}, {0x0, 0x1})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:357 +0x265
encoding/json.(*encodeState).marshal(0x7?, {0x8dd8a0?, 0xc000488840?}, {0x0?, 0x0?})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:330 +0xa5
encoding/json.__xgo_orig_Marshal({0x8dd8a0, 0xc000488840})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:161 +0xe5
encoding/json.Marshal({0x8dd8a0, 0xc000488840})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/encoding/json/encode.go:157 +0x20e
github.com/xhd2015/xgo/runtime/trace.MarshalAnyJSON.func2()
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trace/marshal.go:47 +0x45
github.com/xhd2015/xgo/runtime/trap.WithFuncOverride(0x909b60?, 0x98b7b0?, 0xc00008dbb0)
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trap/interceptor.go:101 +0x79
github.com/xhd2015/xgo/runtime/trace.MarshalAnyJSON({0x8dd8a0, 0xc000488840})
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trace/marshal.go:30 +0x1fc
github.com/xhd2015/xgo/runtime/trace.fmtStack(0xad0b98?, 0x0)
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trace/trace.go:460 +0x[17](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:18)b
github.com/xhd2015/xgo/runtime/trace.emitTrace({0x96d681, 0x9}, 0x8e9d60?, 0xc00008ddf8?)
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trace/trace.go:502 +0x4f5
github.com/xhd2015/xgo/runtime/trace.emitTraceNoErr({0x96d681?, 0x8e9d60?}, 0xc00008ddf8?, 0x4f62f6?)
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trace/trace.go:464 +0x45
github.com/xhd2015/xgo/runtime/trace.enableLocal.func1()
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trace/trace.go:420 +0x165
github.com/xhd2015/xgo/runtime/trace.init.0.func2(0x7fa69e265a68?, 0xc000034a00?)
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trace/trace.go:65 +0x7e
testing.tRunner(0xc000435380, 0x98b1d8)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/testing.go:1602 +0x33e
created by testing.(*T).Run
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/testing.go:1649 +0x445

goroutine 33 [semacquire]:
sync.(*Map).dirtyLocked(0xd5d7e0)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/sync/map.go:498 +0x6b
sync.(*Map).LoadOrStore(0xd5d7e0, {0x8e9d60, 0xc0000a0008}, {0x8ddaa0, 0xc00009e050})
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/sync/map.go:227 +0x[18](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:19)e
github.com/xhd2015/xgo/runtime/trap.trap(0xc000480d20, 0x8b17a0, {0x0?, 0x0}, {0xc0000a2020?, 0x2, 0x2}, {0xc0000a2040, 0x2, 0x2})
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trap/trap.go:174 +0x113
github.com/xhd[20](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:21)15/xgo/runtime/trap.trapFunc({0x96a904, 0x4}, {0x97121f, 0xd}, 0x0, 0x40e007?, {0x0, 0x0}, {0xc0000a2020, 0x2, ...}, ...)
  /tmp/xgo_1.0.37_2e709f7b1620aea78fdc1dba282bcf6778dd6d511_DEV_BUILD_245/runtime_dev/trap/trap.go:144 +0x275
main.coverTearDown({0x7ffc98b6a959, 0x27}, {0x7ffc98b6a8fe, 0x26})
  _testmain.go:54 +0x245
testing.coverReport2()
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/newcover.go:37 +0x43
testing.coverReport()
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/cover.go:83 +0x17
testing.(*M).writeProfiles(0xc0001a80a0)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/testing.go:2[21](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:22)0 +0x88a
testing.(*M).after.func1()
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/testing.go:2144 +0x1d
sync.(*Once).doSlow(0x0?, 0x0?)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/sync/once.go:74 +0xc2
sync.(*Once).Do(0x0?, 0x0?)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/sync/once.go:65 +0x1f
testing.(*M).after(0xc0001a80a0)
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/testing.go:2143 +0x45
testing.(*M).startAlarm.func1()
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/testing/testing.go:[22](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:23)48 +0x25
created by time.__xgo_orig_goFunc
  /home/runner/.xgo/go-instrument-dev/go1.20.14_op_ho_go_1._x6_cb5fd883/go1.20.14/src/time/sleep.go:182 +0x32
FAIL	demo	600.114s
FAIL
20[24](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:25)-05-29 12:10:07 finished with error: exit status 1
FAIL /opt/hostedtoolcache/go/1.20.14/x64: exit status 1(11m16.6[25](https://github.com/xhd2015/xgo/actions/runs/9285634048/job/25550594764?pr=166#step:4:26)64306s)
exit status 1
Error: Process completed with exit code 1.

Next step:

  • try to run without --strace tests
  • try to run with go1.22

@xhd2015
Copy link
Owner Author

xhd2015 commented May 30, 2024

Update:

  • When trying with go1.22 in the CI pipeline, the test ./runtime/test/trace_without_dep that blocks now pass, but another test ./runtime/test/trace_without_dep_vendor blocks
  • When trying with go1.20 on my local machine, the test ./runtime/test/trace_without_dep blocks as that in the CI pipeline
# blocking
with-go1.20 go run -tags dev ./cmd/xgo test -v --strace --project-dir runtime/test/trace_without_dep

# not blocking
with-go1.20 go run -tags dev ./cmd/xgo test -v --trap-stdlib=false --strace --project-dir runtime/test/trace_without_dep

@xhd2015
Copy link
Owner Author

xhd2015 commented May 30, 2024

Another interesting error when building with -gcflags="all=-N -l", strings.noescape fails to compile.

with-go1.20 go run -tags dev ./cmd/xgo test -v -c -gcflags="all=-N -l" -o debug.bin --strace --project-dir runtime/test/trace_without_dep
# demo.test
strings.noescape: nosplit stack over 792 byte limit
strings.noescape<1>
    grows 336 bytes, calls runtime.typedmemmove<1>
        grows 56 bytes, calls runtime.bulkBarrierPreWrite<1>
            grows 120 bytes, calls runtime.bulkBarrierBitmap<1>
                grows 80 bytes, calls runtime.wbBufFlush<1>
                    grows 32 bytes, calls runtime.cgoCheckWriteBarrier<1>
                        grows 48 bytes, calls runtime.cgoIsGoPointer<1>
                            grows 72 bytes, calls runtime.inHeapOrStack<1>
                                grows 32 bytes, calls runtime.spanOf<1>
                                    grows 48 bytes, calls runtime.arenaIndex<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l1<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                grows 32 bytes, calls runtime.(*mSpanStateBox).get<1>
                                    grows 24 bytes, calls runtime/internal/atomic.(*Uint8).Load<1>
                                    8 bytes over limit
                        grows 48 bytes, calls runtime.cgoIsGoPointer<1>
                            grows 72 bytes, calls runtime.inHeapOrStack<1>
                                grows 32 bytes, calls runtime.spanOf<1>
                                    grows 48 bytes, calls runtime.arenaIndex<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l1<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                grows 32 bytes, calls runtime.(*mSpanStateBox).get<1>
                                    grows 24 bytes, calls runtime/internal/atomic.(*Uint8).Load<1>
                                    8 bytes over limit
                grows 80 bytes, calls runtime.wbBufFlush<1>
                    grows 32 bytes, calls runtime.cgoCheckWriteBarrier<1>
                        grows 48 bytes, calls runtime.cgoIsGoPointer<1>
                            grows 72 bytes, calls runtime.inHeapOrStack<1>
                                grows 32 bytes, calls runtime.spanOf<1>
                                    grows 48 bytes, calls runtime.arenaIndex<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l1<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                grows 32 bytes, calls runtime.(*mSpanStateBox).get<1>
                                    grows 24 bytes, calls runtime/internal/atomic.(*Uint8).Load<1>
                                    8 bytes over limit
                        grows 48 bytes, calls runtime.cgoIsGoPointer<1>
                            grows 72 bytes, calls runtime.inHeapOrStack<1>
                                grows 32 bytes, calls runtime.spanOf<1>
                                    grows 48 bytes, calls runtime.arenaIndex<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l1<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                grows 32 bytes, calls runtime.(*mSpanStateBox).get<1>
                                    grows 24 bytes, calls runtime/internal/atomic.(*Uint8).Load<1>
                                    8 bytes over limit
            grows 120 bytes, calls runtime.bulkBarrierBitmap<1>
                grows 80 bytes, calls runtime.wbBufFlush<1>
                    grows 32 bytes, calls runtime.cgoCheckWriteBarrier<1>
                        grows 48 bytes, calls runtime.cgoIsGoPointer<1>
                            grows 72 bytes, calls runtime.inHeapOrStack<1>
                                grows 32 bytes, calls runtime.spanOf<1>
                                    grows 48 bytes, calls runtime.arenaIndex<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l1<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                grows 32 bytes, calls runtime.(*mSpanStateBox).get<1>
                                    grows 24 bytes, calls runtime/internal/atomic.(*Uint8).Load<1>
                                    8 bytes over limit
                        grows 48 bytes, calls runtime.cgoIsGoPointer<1>
                            grows 72 bytes, calls runtime.inHeapOrStack<1>
                                grows 32 bytes, calls runtime.spanOf<1>
                                    grows 48 bytes, calls runtime.arenaIndex<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l1<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                grows 32 bytes, calls runtime.(*mSpanStateBox).get<1>
                                    grows 24 bytes, calls runtime/internal/atomic.(*Uint8).Load<1>
                                    8 bytes over limit
                grows 80 bytes, calls runtime.wbBufFlush<1>
                    grows 32 bytes, calls runtime.cgoCheckWriteBarrier<1>
                        grows 48 bytes, calls runtime.cgoIsGoPointer<1>
                            grows 72 bytes, calls runtime.inHeapOrStack<1>
                                grows 32 bytes, calls runtime.spanOf<1>
                                    grows 48 bytes, calls runtime.arenaIndex<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l1<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                grows 32 bytes, calls runtime.(*mSpanStateBox).get<1>
                                    grows 24 bytes, calls runtime/internal/atomic.(*Uint8).Load<1>
                                    8 bytes over limit
                        grows 48 bytes, calls runtime.cgoIsGoPointer<1>
                            grows 72 bytes, calls runtime.inHeapOrStack<1>
                                grows 32 bytes, calls runtime.spanOf<1>
                                    grows 48 bytes, calls runtime.arenaIndex<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l1<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                    32 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                    grows 48 bytes, calls runtime.panicIndexU<1>
                                        grows 8 bytes, calls runtime.goPanicIndexU<1>
                                            grows 8 bytes, calls runtime.morestack<0>
                                            48 bytes over limit
                                grows 32 bytes, calls runtime.(*mSpanStateBox).get<1>
                                    grows 24 bytes, calls runtime/internal/atomic.(*Uint8).Load<1>
                                    8 bytes over limit
        grows 56 bytes, calls runtime.cgoCheckMemmove<1>
            grows 80 bytes, calls runtime.cgoCheckTypedBlock<1>
                grows 152 bytes, calls runtime.cgoCheckBits<1>
                    grows 88 bytes, calls runtime.cgoIsGoPointer<1>
                        grows 72 bytes, calls runtime.inHeapOrStack<1>
                            grows 32 bytes, calls runtime.spanOf<1>
                                grows 48 bytes, calls runtime.arenaIndex<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.arenaIdx.l1<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.panicIndexU<1>
                                    grows 8 bytes, calls runtime.goPanicIndexU<1>
                                        grows 8 bytes, calls runtime.morestack<0>
                                        88 bytes over limit
                                grows 48 bytes, calls runtime.panicIndexU<1>
                                    grows 8 bytes, calls runtime.goPanicIndexU<1>
                                        grows 8 bytes, calls runtime.morestack<0>
                                        88 bytes over limit
                            grows 32 bytes, calls runtime.(*mspan).base<1>
                            24 bytes over limit
                            grows 32 bytes, calls runtime.(*mSpanStateBox).get<1>
                                grows 24 bytes, calls runtime/internal/atomic.(*Uint8).Load<1>
                                48 bytes over limit
                    grows 88 bytes, calls runtime.throw<1>
                        grows 48 bytes, calls runtime.fatalthrow<1>
                            grows 64 bytes, calls runtime.systemstack<0>
                                grows 8 bytes, calls gosave_systemstack_switch<20>
                                    grows 8 bytes, calls runtime.abort<0>
                                    48 bytes over limit
                                grows 8 bytes, calls indirect
                                    grows 8 bytes, calls runtime.morestack<0>
                                    48 bytes over limit
                                grows 8 bytes, calls indirect
                                    grows 8 bytes, calls runtime.morestack<0>
                                    48 bytes over limit
                grows 152 bytes, calls runtime.cgoCheckBits<1>
                    grows 88 bytes, calls runtime.cgoIsGoPointer<1>
                        grows 72 bytes, calls runtime.inHeapOrStack<1>
                            grows 32 bytes, calls runtime.spanOf<1>
                                grows 48 bytes, calls runtime.arenaIndex<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.arenaIdx.l1<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.panicIndexU<1>
                                    grows 8 bytes, calls runtime.goPanicIndexU<1>
                                        grows 8 bytes, calls runtime.morestack<0>
                                        88 bytes over limit
                                grows 48 bytes, calls runtime.panicIndexU<1>
                                    grows 8 bytes, calls runtime.goPanicIndexU<1>
                                        grows 8 bytes, calls runtime.morestack<0>
                                        88 bytes over limit
                            grows 32 bytes, calls runtime.(*mspan).base<1>
                            24 bytes over limit
                            grows 32 bytes, calls runtime.(*mSpanStateBox).get<1>
                                grows 24 bytes, calls runtime/internal/atomic.(*Uint8).Load<1>
                                48 bytes over limit
                    grows 88 bytes, calls runtime.throw<1>
                        grows 48 bytes, calls runtime.fatalthrow<1>
                            grows 64 bytes, calls runtime.systemstack<0>
                                grows 8 bytes, calls gosave_systemstack_switch<20>
                                    grows 8 bytes, calls runtime.abort<0>
                                    48 bytes over limit
                                grows 8 bytes, calls indirect
                                    grows 8 bytes, calls runtime.morestack<0>
                                    48 bytes over limit
                                grows 8 bytes, calls indirect
                                    grows 8 bytes, calls runtime.morestack<0>
                                    48 bytes over limit
                grows 152 bytes, calls runtime.cgoCheckBits<1>
                    grows 88 bytes, calls runtime.cgoIsGoPointer<1>
                        grows 72 bytes, calls runtime.inHeapOrStack<1>
                            grows 32 bytes, calls runtime.spanOf<1>
                                grows 48 bytes, calls runtime.arenaIndex<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.arenaIdx.l1<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.arenaIdx.l2<1>
                                72 bytes over limit
                                grows 48 bytes, calls runtime.panicIndexU<1>
                                    grows 8 bytes, calls runtime.goPanicIndexU<1>
                                        grows 8 bytes, calls runtime.morestack<0>
                                        88 bytes over limit
                                grows 48 bytes, calls runtime.panicIndexU<1>
                                    grows 8 bytes, calls runtime.goPanicIndexU<1>
                                        grows 8 bytes, calls runtime.morestack<0>
                                        88 bytes over limit
                            grows 32 bytes, calls runtime.(*mspan).base<1>
                            24 bytes over limit
                            grows 32 bytes, calls runtime.(*mSpanStateBox).get<1>
                                grows 24 bytes, calls runtime/internal/atomic.(*Uint8).Load<1>
                                48 bytes over limit
                    grows 88 bytes, calls runtime.throw<1>
                        grows 48 bytes, calls runtime.fatalthrow<1>
                            grows 64 bytes, calls runtime.systemstack<0>
                                grows 8 bytes, calls gosave_systemstack_switch<20>
                                    grows 8 bytes, calls runtime.abort<0>
                                    48 bytes over limit
                                grows 8 bytes, calls indirect
                                    grows 8 bytes, calls runtime.morestack<0>
                                    48 bytes over limit
                                grows 8 bytes, calls indirect
                                    grows 8 bytes, calls runtime.morestack<0>
                                    48 bytes over limit
exit status 1
exit status 1

This leads to a subtle change: only public stdlib functions can be trapped by default unless they are explicitly whitelisted.
With this solution, the test does not blocks more.

image

@xhd2015
Copy link
Owner Author

xhd2015 commented May 30, 2024

After making the change, tests with --strace on windows still block.

So we add a windowsFlags to by pass stdlib trap when running --strace tests:

image

We decided this shall not be a blocker for this feature, but it remains to be investigated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

1 participant