nedbat / coveragepy

The code coverage tool for Python
https://coverage.readthedocs.io
Apache License 2.0
3.03k stars 435 forks source link

Segmentation Fault with coverage report on ARM instance #1693

Open lucasblanco31 opened 1 year ago

lucasblanco31 commented 1 year ago

Describe the bug In my cicd I implement some tests using pytest and coverage, when running on an ARM instance with python 3.7.3 and coverage 4.5.2 the cicd crashes with a Segmentation Fault.

To Reproduce How can we reproduce the problem? Please be specific. Don't link to a failing CI job. Answer the questions below:

  1. What version of Python are you using? 3.7.3
  2. What version of coverage.py shows the problem? The output of coverage debug sys is helpful. 4.5.2
  3. What versions of what packages do you have installed? The output of pip freeze is helpful.
    aiohttp==3.8.6
    aiohttp-cors==0.7.0
    aiosignal==1.3.1
    amqp==2.6.1
    argon2-cffi==19.1.0
    asgiref==3.7.2
    async-timeout==4.0.3
    asynctest==0.13.0
    atomicwrites==1.4.1
    attrs==23.1.0
    backports.zoneinfo==0.2.1
    billiard==3.6.4.0
    boto3==1.28.65
    botocore==1.31.65
    celery==4.4.7
    certifi==2023.7.22
    cffi==1.15.1
    charset-normalizer==3.3.0
    click==7.1.2
    Collectfast==0.6.2
    colorclass==2.2.2
    colorlog==6.7.0
    coreapi==2.3.3
    coreschema==0.0.4
    coverage==4.5.2
    croniter==1.4.1
    cryptography==41.0.4
    datadog==0.29.3
    ddtrace==0.49.1
    decorator==5.1.1
    defusedxml==0.7.1
    diff-match-patch==20230430
    Django==3.2
    django-allauth==0.50.0
    django-anymail==6.0.1
    django-celery-beat==1.5.0
    django-cors-headers==3.3.0
    django-coverage-plugin==1.6.0
    django-crispy-forms==1.14.0
    django-debug-toolbar==3.2.4
    django-easy-health-check==1.0.1
    django-environ==0.4.5
    django-extensions==2.1.9
    django-filter==2.4.0
    django-import-export==2.5.0
    django-lrucache-backend==4.0.0
    django-model-utils==3.2.0
    django-redis==4.10.0
    django-solo==1.1.5
    django-storages==1.7.1
    django-timezone-field==5.1
    django-utils-six==2.0
    djangorestframework==3.12.4
    drf-yasg==1.20.0
    entrypoints==0.3
    et-xmlfile==1.1.0
    factory-boy==2.11.1
    Faker==0.9.1
    faust==1.10.4
    flake8==3.7.3
    flower==0.9.5
    freezegun==0.3.12
    frozenlist==1.3.3
    fuzzywuzzy==0.18.0
    gevent==1.4.0
    greenlet==0.4.16
    gunicorn==19.9.0
    httpretty==0.9.6
    humanize==4.6.0
    idna==3.4
    importlib-metadata==4.13.0
    inflection==0.5.1
    itypes==1.2.0
    Jinja2==3.1.2
    jmespath==1.0.1
    kafka-python==1.4.7
    kombu==4.6.11
    MarkupPy==1.14
    MarkupSafe==2.1.3
    mccabe==0.6.1
    mixer==6.1.3
    mode==4.3.2
    more-itertools==9.1.0
    multidict==6.0.4
    mypy-extensions==1.0.0
    ndg-httpsclient==0.5.1
    oauthlib==3.2.2
    odfpy==1.4.1
    openpyxl==3.1.2
    opentracing==1.3.0
    packaging==23.2
    Pillow==8.0.0
    pluggy==0.13.1
    pretend==1.0.9
    prometheus-client==0.8.0
    protobuf==4.24.4
    psycopg2==2.8.3
    pusher==2.1.4
    py==1.11.0
    pyasn1==0.5.0
    pycodestyle==2.5.0
    pycparser==2.21
    pyflakes==2.1.1
    PyJWT==2.8.0
    PyNaCl==1.5.0
    pyOpenSSL==23.2.0
    pytest==5.2.0
    pytest-cov==2.6.1
    pytest-django==3.4.5
    pytest-env==0.6.2
    pytest-sugar==0.9.2
    python-crontab==3.0.0
    python-dateutil==2.8.2
    python-Levenshtein==0.12.2
    python-slugify==3.0.2
    python3-openid==3.2.0
    pytz==2019.1
    PyYAML==6.0.1
    redis==3.2.1
    requests==2.31.0
    requests-oauthlib==1.3.1
    robinhood-aiokafka==1.1.6
    ruamel.yaml==0.17.35
    ruamel.yaml.clib==0.2.8
    s3transfer==0.7.0
    sentry-sdk==0.16.1
    six==1.16.0
    sqlparse==0.4.4
    tablib==3.4.0
    tenacity==8.2.3
    termcolor==2.3.0
    terminaltables==3.1.10
    text-unidecode==1.2
    tornado==6.2
    typing_extensions==4.7.1
    unicodecsv==0.14.1
    uritemplate==4.1.1
    urllib3==1.26.18
    vcrpy==2.0.1
    venusian==1.2.0
    vine==1.3.0
    wcwidth==0.2.8
    wrapt==1.15.0
    xlrd==2.0.1
    xlwt==1.3.0
    yarl==1.9.2
    zipp==3.15.0
  4. What code shows the problem? Give us a specific commit of a specific repo that we can check out. If you've already worked around the problem, please provide a commit before that fix.
  5. What commands should we run to reproduce the problem? Be specific. Include everything, even git clone, pip install, and so on. Explain like we're five! coverage report

Expected behavior No Segmentation Fault

Additional context Add any other context about the problem here.

nedbat commented 1 year ago

I'm not sure how to help without details of the segfault. Also, coverage.py 4.5.2 is almost five years old. Have you considered using a more recent version?