Skip to content

segfault repro

segfault repro #44

Workflow file for this run

name: segfault repro
on:
workflow_dispatch:
inputs:
runs-on:
description: 'Select a runner ("macos-latest" = Intel, "macos-latest-xlarge" = M1)'
default: 'macos-14'
type: choice
options:
- macos-13
- macos-14
- ubuntu-20
- ubuntu-22
# - windows-latest
ref:
description: 'Branch or tag clone/install/test (leave blank to install latest version from PyPI)'
jobs:
build:
name: repro (${{ inputs.runs-on }})
runs-on: ${{ inputs.runs-on }}
steps:
- name: 'Debug: `github` context'
run: echo "${{ toJSON(github.event) }}"
- uses: actions/checkout@v4
- name: Clone TileDB-SOMA@${{ inputs.ref }}
if: inputs.ref != ''
uses: actions/checkout@v4
with:
repository: single-cell-data/TileDB-SOMA
ref: ${{ inputs.ref }}
path: tiledbsoma
- uses: actions/setup-python@v5
with:
python-version: 3.11.8
- name: Install TileDB-Py, TileDB-SOMA
run: |
if [ -d tiledbsoma ]; then
echo "Installing TileDB-SOMA from source"
echo "1.15.0rc0" > tiledbsoma/apis/python/RELEASE-VERSION
pip install tiledb -e tiledbsoma/apis/python
else
echo "Installing TileDB-SOMA from PyPI"
pip install tiledb tiledbsoma
fi
- run: pip list
- name: Show TileDB/SOMA/OS versions
run: |
python -c 'import tiledbsoma; tiledbsoma.show_package_versions()'
uname -a
- name: 'Run without importing `tiledb` (always succeeds)'
run: ./segfault-repro.py
- name: 'Run with `import tiledb` before `import tiledbsoma` (sometimes segfaults)'
env:
IMPORT_TILEDB: 1
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: |
./segfault-repro.py
rv=$?
echo "Exit code: $?"
exit $rv