@@ -33,16 +33,17 @@ jobs:
3333 - name : Install dependencies
3434 run : |
3535 python -m pip install --upgrade pip
36- pip install tree-sitter pyyaml pytest pytest-cov pygls lsprotocol
36+ # tree-sitter pinned <0.26: core 0.26.0 changed Node lifetime handling
37+ # and causes a native use-after-free SIGSEGV in tree_sitter_python._binding
38+ # even on shallow files (issue #235). python_parser.py's keep_alive
39+ # mitigation is insufficient for 0.26; 0.25.x is known-safe.
40+ pip install "tree-sitter>=0.21.0,<0.26" pyyaml pytest pytest-cov pygls lsprotocol
3741 # Install optional grammar packages for full parser coverage
3842 pip install tree-sitter-python tree-sitter-javascript tree-sitter-html tree-sitter-css || true
3943 pip install tree-sitter-typescript tree-sitter-rust || true
4044
4145 - name : Run test suite
4246 run : |
43- # ulimit -s unlimited prevents SIGSEGV from tree-sitter's internal C
44- # recursion on deeply-nested ASTs (issue #235, test_large_file_parsing.py)
45- ulimit -s unlimited
4647 cd scripts && python -m pytest ../tests/ -v --tb=short \
4748 --ignore=../tests/test_integration.py
4849
6869 - name : Install dependencies
6970 run : |
7071 python -m pip install --upgrade pip
71- pip install tree-sitter pyyaml
72+ pip install " tree-sitter>=0.21.0,<0.26" pyyaml
7273 pip install tree-sitter-python tree-sitter-javascript tree-sitter-html tree-sitter-css || true
7374 pip install tree-sitter-typescript tree-sitter-rust || true
7475
9899 - name : Install dependencies
99100 run : |
100101 python -m pip install --upgrade pip
101- pip install tree-sitter pyyaml
102+ pip install " tree-sitter>=0.21.0,<0.26" pyyaml
102103 pip install tree-sitter-python tree-sitter-javascript tree-sitter-html tree-sitter-css || true
103104 pip install tree-sitter-typescript tree-sitter-rust || true
104105
0 commit comments