Skip to content

Commit

Permalink
[ci] Disable backward_cpp on macOS (taichi-dev#7145)
Browse files Browse the repository at this point in the history
Related Issue: taichi-dev#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 taichi-dev#1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00000001a04f0e28 libsystem_kernel.dylib`__pthread_kill + 8
    frame taichi-dev#1: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame taichi-dev#2: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame taichi-dev#3: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame taichi-dev#4: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame taichi-dev#5: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame taichi-dev#6: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame taichi-dev#7: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame taichi-dev#8: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame taichi-dev#9: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame taichi-dev#10: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame taichi-dev#11: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame taichi-dev#12: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame taichi-dev#13: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame taichi-dev#14: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame taichi-dev#15: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame taichi-dev#16: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame taichi-dev#17: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame taichi-dev#18: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame taichi-dev#19: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame taichi-dev#20: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame taichi-dev#21: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame taichi-dev#22: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame taichi-dev#23: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame taichi-dev#24: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame taichi-dev#25: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame taichi-dev#26: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame taichi-dev#27: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28
    frame taichi-dev#28: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame taichi-dev#29: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame taichi-dev#30: 0x00000001a0402e10 libsystem_c.dylib`raise + 32
    frame taichi-dev#31: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56
    frame taichi-dev#32: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292
    frame taichi-dev#33: 0x00000001a046b454 libsystem_c.dylib`abort + 124
    frame taichi-dev#34: 0x0000000100194fc0 python`os_abort + 12
    frame taichi-dev#35: 0x00000001000758a8 python`cfunction_vectorcall_NOARGS + 324
    frame taichi-dev#36: 0x00000001001140f0 python`call_function + 460
    frame taichi-dev#37: 0x000000010011086c python`_PyEval_EvalFrameDefault + 27176
    frame taichi-dev#38: 0x00000001000287e4 python`function_code_fastcall + 128
    frame taichi-dev#39: 0x0000000100028008 python`PyVectorcall_Call + 120
    frame taichi-dev#40: 0x0000000100110b20 python`_PyEval_EvalFrameDefault + 27868
    frame taichi-dev#41: 0x000000010010982c python`_PyEval_EvalCodeWithName + 3008
    frame taichi-dev#42: 0x0000000100028948 python`_PyFunction_Vectorcall + 208
    frame taichi-dev#43: 0x0000000100028008 python`PyVectorcall_Call + 120
```
  • Loading branch information
feisuzhu authored and quadpixels committed May 13, 2023
1 parent eca1f6e commit fd86bec
Showing 1 changed file with 0 additions and 2 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,6 @@ jobs:
-DTI_WITH_CC:BOOL=${{ matrix.with_cc }}
-DTI_WITH_VULKAN:BOOL=ON
-DTI_WITH_C_API=ON
-DTI_WITH_BACKTRACE:BOOL=ON
-DTI_BUILD_TESTS:BOOL=${{ matrix.with_cpp_tests }}
# [DEBUG] Copy this step around to enable debugging inside Github Action instances.
Expand Down Expand Up @@ -437,7 +436,6 @@ jobs:
-DTI_WITH_CC:BOOL=OFF
-DTI_WITH_VULKAN:BOOL=ON
-DTI_BUILD_TESTS:BOOL=ON
-DTI_WITH_BACKTRACE:BOOL=ON
-DTI_WITH_C_API=ON
- name: Check C-API Export Symbols
Expand Down

0 comments on commit fd86bec

Please sign in to comment.