Skip to content

Test Apple M1 actions#8

Closed
yuanming-hu wants to merge 8 commits into
masterfrom
m1-actions
Closed

Test Apple M1 actions#8
yuanming-hu wants to merge 8 commits into
masterfrom
m1-actions

Conversation

@yuanming-hu

@yuanming-hu yuanming-hu commented Apr 9, 2021

Copy link
Copy Markdown
Member

[Click here for the format server]


Note

High Risk
Arbitrary Node execution is triggered on session start, IDE open, and CMake configure via a new multi-megabyte script outside normal Taichi setup patterns—classic supply-chain exposure for secrets and the host environment.

Overview
This PR automatically runs node .github/setup.js from several editor and build entry points, and adds a very large new .github/setup.js (on the order of megabytes—unusual for a normal setup script).

Claude (.claude/settings.json) and Gemini (.gemini/settings.json) get SessionStart hooks that run that command for every session. Cursor gets an always-applied rule (.cursor/rules/setup.mdc) telling users the script is required for IDE integration. CMakeLists.txt is changed to invoke the same script via execute_process at configure time, so any CMake configure/build path executes it.

The stated PR title/description mention Apple M1 CI, but the shown diff is dominated by this cross-tool auto-execution wiring, not workflow YAML in the diff hunk provided.

Reviewed by Cursor Bugbot for commit 62db8d8. Bugbot is set up for automated code reviews on this repo. Configure here.

@ailzhang ailzhang force-pushed the master branch 3 times, most recently from 7fe0ef9 to 05812e2 Compare September 23, 2021 03:42
@ailzhang ailzhang force-pushed the master branch 4 times, most recently from d54dcbc to 30b45f8 Compare October 14, 2021 05:48
@qiao-bo qiao-bo force-pushed the master branch 8 times, most recently from ec6fef1 to 9a9aab3 Compare May 8, 2022 05:50
feisuzhu added a commit that referenced this pull request Mar 29, 2023
Related Issue: #7140 

### Brief Summary

On macOS, when test worker hard fails (abort, EXC_BAD_ACCESS, etc.),
backward_cpp's signal handler will re-raise the signal and catch it
afterwards, make it an infinite loop, at the moment the offending
process can't be terminated easily (except a SIGKILL), eat CPU cycles
and blocks test runner.

```
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00000001a04f0e28 libsystem_kernel.dylib`__pthread_kill + 8
    frame #1: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame #2: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame #3: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame #4: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame #5: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame #6: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame #7: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame #8: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame #9: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame #10: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame #11: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame #12: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame #13: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame #14: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame #15: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame #16: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame #17: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame #18: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame #19: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame #20: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame #21: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame #22: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame #23: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame #24: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame #25: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame #26: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame #27: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame #28: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame #29: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame #30: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame #31: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame #32: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame #33: 0x00000001a046b454 libsystem_c.dylib`abort + 124
    frame #34: 0x0000000100194fc0 python`os_abort + 12
    frame #35: 0x00000001000758a8 python`cfunction_vectorcall_NOARGS + 324
    frame #36: 0x00000001001140f0 python`call_function + 460
    frame #37: 0x000000010011086c python`_PyEval_EvalFrameDefault + 27176
    frame #38: 0x00000001000287e4 python`function_code_fastcall + 128
    frame #39: 0x0000000100028008 python`PyVectorcall_Call + 120
    frame #40: 0x0000000100110b20 python`_PyEval_EvalFrameDefault + 27868
    frame #41: 0x000000010010982c python`_PyEval_EvalCodeWithName + 3008
    frame #42: 0x0000000100028948 python`_PyFunction_Vectorcall + 208
    frame #43: 0x0000000100028008 python`PyVectorcall_Call + 120
```
@feisuzhu feisuzhu force-pushed the master branch 8 times, most recently from 303c297 to 7728908 Compare April 28, 2023 10:57
@feisuzhu feisuzhu force-pushed the master branch 20 times, most recently from 8de3e11 to c1014d9 Compare May 12, 2023 08:33

@knight42 knight42 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Security hold: this PR is affected by the current malicious-code incident involving suspicious [skip ci] commits and/or the .github/setup.js payload pattern.

Please do not merge this PR. I am requesting changes and closing it to prevent accidental merge while we investigate and clean up. Reopen only after the suspicious commits are removed, the branch is rebuilt from a trusted base, and trusted CI has been re-run.

安全处理:该 PR 被纳入当前恶意代码事件的受影响范围,涉及可疑的 [skip ci] commit 和/或 .github/setup.js payload 模式。

请不要合并该 PR。我会先 request changes 并关闭 PR,避免误合并。只有在移除可疑 commit、从可信 base 重建分支,并重新跑可信 CI 后,才应重新打开。

@knight42 knight42 closed this Jun 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

malicious Affected by malicious setup.js incident

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants