pybind / pybind/pybind11

[BUG] ci: windows 2016, error in `test_str_leak`

Open
#2,501 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ci flake
Dominant language
C++
Stars
18k
Forks
2.3k
Avg merge
5d 17h
Merged PRs (30d)
10

Description

Observation

In this job on master: https://github.com/pybind/pybind11/runs/1128209634#step:17:33

      @pytest.mark.xfail("env.PYPY")
      def test_str_leak():
...
          pytest.gc_collect()
  >       assert getrefcount(fmt) == start
  E       AssertionError: assert 10 == 11
  E        +  where 10 = <built-in function getrefcount>('f4')
Speculation

It looks like there may be an ABI mismatch? (e.g. pybind11s ABI shim is out of date for this version or something?)

     C:\hostedtoolcache\windows\Python\3.7.9\x86\lib\importlib\_bootstrap.py:219: RuntimeWarning: numpy.ufunc size changed, may indicate binary incompatibility. Expected 112 from C header, got 124 from PyObject

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Windows 2016 CI run and the failing test_str_leak test, then compare its refcount assertion with the reported NumPy ABI warning. Done means determining whether the binary incompatibility explains the failure and restoring a passing Windows job.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, github-actions, python
Domain
ci-cd, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.