[BUG] ResourceWarning unclosed sockets when running Polars test suite with rapidsmpf
- Dominant language
- C++
- Stars
- 9.8k
- Forks
- 1.1k
- Avg merge
- 3d 6m
- Merged PRs (30d)
- 278
Description
When running the Polars test suite with rapidsmpf, we tend to pick up some ResourceWarnings like
```bash
2026-04-16T03:13:01.1918529Z =================================== FAILURES ===================================
2026-04-16T03:13:01.1920074Z _ test_hive_partition_columns_contained_in_file[False-scan_func0-write_parquet] _
2026-04-16T03:13:01.1921306Z [gw1] linux -- Python 3.14.4 /pyenv/versions/3.14.4/bin/python
2026-04-16T03:13:01.1922147Z Traceback (most recent call last):
2026-04-16T03:13:01.1923024Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/runner.py", line 341, in from_call
2026-04-16T03:13:01.1923952Z result: TResult | None = func()
2026-04-16T03:13:01.1926058Z ~~~~^^
2026-04-16T03:13:01.1926899Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/runner.py", line 242, in
2026-04-16T03:13:01.1928005Z lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
2026-04-16T03:13:01.1928743Z ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
2026-04-16T03:13:01.1929584Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__
2026-04-16T03:13:01.1930578Z return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
2026-04-16T03:13:01.1931419Z ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-04-16T03:13:01.1932774Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec
2026-04-16T03:13:01.1933797Z return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
2026-04-16T03:13:01.1935442Z ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-04-16T03:13:01.1936358Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall
2026-04-16T03:13:01.1937568Z raise exception
2026-04-16T03:13:01.1938387Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
2026-04-16T03:13:01.1939275Z teardown.throw(exception)
2026-04-16T03:13:01.1939867Z ~~~~~~~~~~~~~~^^^^^^^^^^^
2026-04-16T03:13:01.1940792Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call
2026-04-16T03:13:01.1941798Z yield from thread_exception_runtest_hook()
2026-04-16T03:13:01.1942979Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook
2026-04-16T03:13:01.1944686Z yield
2026-04-16T03:13:01.1945670Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/pluggy/_callers.py", line 152, in _multicall
2026-04-16T03:13:01.1946572Z teardown.send(result)
2026-04-16T03:13:01.1947240Z ~~~~~~~~~~~~~^^^^^^^^
2026-04-16T03:13:01.1948164Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call
2026-04-16T03:13:01.1949195Z yield from unraisable_exception_runtest_hook()
2026-04-16T03:13:01.1950271Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 85, in unraisable_exception_runtest_hook
2026-04-16T03:13:01.1951433Z warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
2026-04-16T03:13:01.1952210Z ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-04-16T03:13:01.1953305Z pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket : None
2026-04-16T03:13:01.1954947Z
2026-04-16T03:13:01.1955347Z Traceback (most recent call last):
2026-04-16T03:13:01.1956255Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/polars/datatypes/classes.py", line 131, in __eq__
2026-04-16T03:13:01.1957439Z def __eq__(self, other: pl.DataTypeExpr | PolarsDataType) -> pl.Expr | bool:
2026-04-16T03:13:01.1958205Z
2026-04-16T03:13:01.1958886Z ResourceWarning: unclosed
2026-04-16T03:13:01.1959543Z
2026-04-16T03:13:01.1960060Z ______________ test_ipc_roundtrip_stream_parametric[uncompressed] ______________
2026-04-16T03:13:01.1960926Z [gw1] linux -- Python 3.14.4 /pyenv/versions/3.14.4/bin/python
2026-04-16T03:13:01.1961649Z Traceback (most recent call last):
2026-04-16T03:13:01.1962507Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/runner.py", line 341, in from_call
2026-04-16T03:13:01.1963407Z result: TResult | None = func()
2026-04-16T03:13:01.1964767Z ~~~~^^
2026-04-16T03:13:01.1965655Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/runner.py", line 242, in
2026-04-16T03:13:01.1966650Z lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
2026-04-16T03:13:01.1967499Z ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
2026-04-16T03:13:01.1968365Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__
2026-04-16T03:13:01.1969396Z return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
2026-04-16T03:13:01.1970203Z ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-04-16T03:13:01.1971097Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec
2026-04-16T03:13:01.1972112Z return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
2026-04-16T03:13:01.1973061Z ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-04-16T03:13:01.1974724Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall
2026-04-16T03:13:01.1975623Z raise exception
2026-04-16T03:13:01.1976472Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
2026-04-16T03:13:01.1977632Z teardown.throw(exception)
2026-04-16T03:13:01.1978224Z ~~~~~~~~~~~~~~^^^^^^^^^^^
2026-04-16T03:13:01.1979135Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call
2026-04-16T03:13:01.1980171Z yield from thread_exception_runtest_hook()
2026-04-16T03:13:01.1981224Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook
2026-04-16T03:13:01.1982244Z yield
2026-04-16T03:13:01.1983035Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/pluggy/_callers.py", line 152, in _multicall
2026-04-16T03:13:01.1984764Z teardown.send(result)
2026-04-16T03:13:01.1985351Z ~~~~~~~~~~~~~^^^^^^^^
2026-04-16T03:13:01.1986429Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call
2026-04-16T03:13:01.1987583Z yield from unraisable_exception_runtest_hook()
2026-04-16T03:13:01.1988633Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 85, in unraisable_exception_runtest_hook
2026-04-16T03:13:01.1989787Z warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
2026-04-16T03:13:01.1990561Z ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-04-16T03:13:01.1991645Z pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket : None
2026-04-16T03:13:01.1992550Z
2026-04-16T03:13:01.1992944Z Traceback (most recent call last):
2026-04-16T03:13:01.1994704Z File "/pyenv/versions/3.14.4/lib/python3.14/site-packages/hypothesis/strategies/_internal/strategies.py", line 82, in recursive_property
2026-04-16T03:13:01.1995953Z def recursive_property(strategy: "SearchStrategy", name: str, default: object) -> Any:
2026-04-16T03:13:01.1996760Z
2026-04-16T03:13:01.1997534Z ResourceWarning: unclosed
```
The Polars pyproject.toml doesn't explicitly filter these out so they likely come from cudf_polars + rapidsmpf
https://github.com/pola-rs/polars/blob/py-1.38.1/py-polars/pyproject.toml#L264
Contributor guide
Assessment
This issue has not been assessed yet.