Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pypy pypy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 654
    • Issues 654
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PyPy
  • pypypypy
  • Issues
  • #3580

Closed
Open
Created Oct 22, 2021 by David Hewitt@davidhewitt

Breaking changes in the C-API in PyPy 7.3.6

The changes merged in !826 (merged) have changed the ordering of fields in the PyDateTime_CAPI struct.

This started triggering segfaults in CI runs for PyO3, e.g. this one: https://github.com/PyO3/pyo3/runs/3948446675?check_suite_focus=true

It's easy enough for us to fix our definitions - https://github.com/PyO3/pyo3/pull/1941, but this seems like an unintentional breaking change for a patch release.

In particular the reason I wanted to flag this here is that PyPy 7.3.5 and 7.3.6 compiled extensions share the same wheel tag pp37-pypy37_pp73. Because of the breaking change to this C API, I think it's highly likely there's code using this C-API which has been uploaded to PyPI and was compiled for PyPy 3.7.5 (or older) and so will segfault when installed on PyPy 7.3.6.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking