-
Couldn't load subscription status.
- Fork 92
Open
Labels
bugSomething isn't workingSomething isn't workingupstreamIssue is related to a dependency (upstream package).Issue is related to a dependency (upstream package).
Description
Code Sample, a copy-pastable example if possible
python3.13 -m pytest -k "not test_clip_geojson__no_drop and not test_clip_geojson and not test_interpolate_na and not test_merge_datasets and not test_open_rasterio_mask_chunk_clip and not test_to_raster__different_dtype and not test_nonstandard_dims_write_coordinate_system__projected_ft"Problem description
Segmentation fault during the execution of the unit test suite.
============================= test session starts ==============================
platform linux -- Python 3.13.7, pytest-8.4.1, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_rioxarray/build
configfile: pyproject.toml
plugins: cov-5.0.0, timeout-2.3.1, typeguard-4.4.4
collected 495 items / 44 deselected / 451 selected
test/integration/test_integration__io.py ............................... [ 6%]
..Fatal Python error: Segmentation fault
Current thread 0x00007f9ebf32f6c0 (most recent call first):
Garbage-collecting
File "/usr/lib/python3/dist-packages/xarray/backends/file_manager.py", line 234 in close
File "/usr/lib/python3/dist-packages/xarray/backends/file_manager.py", line 250 in __del__
File "/usr/lib/python3/dist-packages/dask/order.py", line 267 in _with_offset
File "/usr/lib/python3/dist-packages/dask/order.py", line 284 in order
File "/usr/lib/python3/dist-packages/dask/_task_spec.py", line 981 in execute_graph
File "/usr/lib/python3/dist-packages/dask/_task_spec.py", line 171 in _execute_subgraph
File "/usr/lib/python3/dist-packages/dask/_task_spec.py", line 745 in __call__
File "/usr/lib/python3/dist-packages/dask/local.py", line 229 in execute_task
File "/usr/lib/python3/dist-packages/dask/local.py", line 243 in batch_execute_tasks
File "/usr/lib/python3.13/concurrent/futures/thread.py", line 59 in run
File "/usr/lib/python3.13/concurrent/futures/thread.py", line 93 in _worker
File "/usr/lib/python3.13/threading.py", line 994 in run
File "/usr/lib/python3.13/threading.py", line 1043 in _bootstrap_inner
File "/usr/lib/python3.13/threading.py", line 1014 in _bootstrap
Thread 0x00007f9ebfb306c0 (most recent call first):
File "/usr/lib/python3.13/concurrent/futures/thread.py", line 90 in _worker
File "/usr/lib/python3.13/threading.py", line 994 in run
File "/usr/lib/python3.13/threading.py", line 1043 in _bootstrap_inner
File "/usr/lib/python3.13/threading.py", line 1014 in _bootstrap
Thread 0x00007f9ed4222100 (most recent call first):
File "/usr/lib/python3.13/threading.py", line 359 in wait
File "/usr/lib/python3.13/queue.py", line 199 in get
File "/usr/lib/python3/dist-packages/dask/local.py", line 140 in queue_get
File "/usr/lib/python3/dist-packages/dask/local.py", line 505 in get_async
File "/usr/lib/python3/dist-packages/dask/threaded.py", line 91 in get
File "/usr/lib/python3/dist-packages/dask/base.py", line 660 in compute
File "/usr/lib/python3/dist-packages/dask/base.py", line 372 in compute
File "/usr/lib/python3/dist-packages/dask/array/core.py", line 1876 in __bool__
File "/usr/lib/python3/dist-packages/xarray/core/duck_array_ops.py", line 346 in allclose_or_equiv
File "/usr/lib/python3/dist-packages/xarray/testing/assertions.py", line 51 in _data_allclose_or_equiv
File "/usr/lib/python3/dist-packages/xarray/testing/assertions.py", line 240 in compat_variable
File "/usr/lib/python3/dist-packages/xarray/testing/assertions.py", line 248 in assert_allclose
File "/usr/lib/python3/dist-packages/xarray/testing/assertions.py", line 32 in wrapper
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_rioxarray/build/test/integration/test_integration__io.py", line 502 in _check_raster
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_rioxarray/build/test/integration/test_integration__io.py", line 519 in test_band_as_variable
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 157 in pytest_pyfunc_call
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1671 in runtest
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 178 in pytest_runtest_call
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 246 in <lambda>
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 344 in from_call
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 245 in call_and_report
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 136 in runtestprotocol
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 117 in pytest_runtest_protocol
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 367 in pytest_runtestloop
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 343 in _main
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 289 in wrap_session
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 336 in pytest_cmdline_main
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 175 in main
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201 in console_main
File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9 in <module>
File "<frozen runpy>", line 88 in _run_code
File "<frozen runpy>", line 198 in _run_module_as_main
Extension modules: rasterio._err, rasterio._filepath, raster [too-long-redacted] , netCDF4._netCDF4 (total: 111)
Segmentation faultPlease see the debian bug report at: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1114329
The very minimum set of tests to reproduce teh issue is:
python3 -m pytest -v test/integration/test_integration__io.py -k "test_open_group_load_attrs or test_open_group_filter"Please note that running just one of teh two test doesn't trigger the issue.
Investigation with valgrind gives the following additional information:
$ valgrind --trace-children=yes --enable-debuginfod=yes --leak-check=full --show-leak-kinds=all --track-origins=yes python3-dbg -X tracemalloc -X faulthandler -m pytest -v test/integration/test_integration__io.py -k "test_open_group_load_attrs or test_open_group_filter"
==66172== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==66172== Using Valgrind-3.25.1 and LibVEX; rerun with -h for copyright info
==66172== Command: python3-dbg -X tracemalloc -X faulthandler -m pytest -v test/integration/test_integration__io.py -k test_open_group_load_attrs\ or\ test_open_group_filter
==66172==
/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:211: PytestDeprecationWarning: The configuration option "asyncio_default_fixture_loop_scope" is unset.
The event loop scope for asynchronous fixtures will default to the fixture caching scope. Future versions of pytest-asyncio will default the loop scope for asynchronous fixtures to function scope. Set the default fixture loop scope explicitly in order to avoid unexpected behavior in the future. Valid fixture loop scopes are: "function", "class", "module", "package", "session"
warnings.warn(PytestDeprecationWarning(_DEFAULT_FIXTURE_LOOP_SCOPE_UNSET))
============================= test session starts ==============================
platform linux -- Python 3.13.9, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python3-dbg
cachedir: .pytest_cache
PyQt5 5.15.11 -- Qt runtime 5.15.17 -- Qt compiled 5.15.17
rootdir: /home/antonio/debian/git/python-rioxarray
configfile: pyproject.toml
plugins: anyio-4.11.0, qt-4.4.0, subtests-0.14.2, typeguard-4.4.4, zarr-3.1.3, localserver-0.9.0.post0, instafail-0.5.0, socket-0.7.0, asyncio-1.1.0, timeout-2.4.0, cov-5.0.0, xdist-3.8.0, lazy-fixtures-0.0.0, forked-1.6.0
asyncio: mode=Mode.STRICT, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
collecting ... collected 95 items / 89 deselected / 6 selected
test/integration/test_integration__io.py::test_open_group_filter__missing[open_rasterio] PASSED [ 16%]
test/integration/test_integration__io.py::test_open_group_filter__missing[open_rasterio1] PASSED [ 33%]
test/integration/test_integration__io.py::test_open_group_filter[open_rasterio] PASSED [ 50%]
test/integration/test_integration__io.py::test_open_group_filter[open_rasterio1] PASSED [ 66%]
test/integration/test_integration__io.py::test_open_group_load_attrs[open_rasterio] ==66172== Invalid read of size 8
==66172== at 0x6049A60A: sd_NC_check_id (file.c:212)
==66172== by 0x6049EAF2: SDend (mfsd.c:375)
==66172== by 0x5C505D99: ??? (in /usr/lib/x86_64-linux-gnu/libgdal.so.37.3.11.4)
==66172== by 0x5C519934: ??? (in /usr/lib/x86_64-linux-gnu/libgdal.so.37.3.11.4)
==66172== by 0x5C519951: ??? (in /usr/lib/x86_64-linux-gnu/libgdal.so.37.3.11.4)
==66172== by 0x5CBDAA79: GDALClose (in /usr/lib/x86_64-linux-gnu/libgdal.so.37.3.11.4)
==66172== by 0x5B3067C8: ??? (in /usr/lib/python3/dist-packages/rasterio/_base.cpython-313-x86_64-linux-gnu.so)
==66172== by 0x5B30B050: ??? (in /usr/lib/python3/dist-packages/rasterio/_base.cpython-313-x86_64-linux-gnu.so)
==66172== by 0x4B9D50: _PyObject_VectorcallTstate (pycore_call.h:168)
==66172== by 0x4B9E20: PyObject_Vectorcall (call.c:327)
==66172== by 0x5E039D: _PyEval_EvalFrameDefault (generated_cases.c.h:1850)
==66172== by 0x5ECC8D: _PyEval_EvalFrame (pycore_ceval.h:119)
==66172== Address 0x8 is not stack'd, malloc'd or (recently) free'd
==66172==
Fatal Python error: Segmentation fault
Current thread 0x0000000004b9ea40 (most recent call first):
File "/usr/lib/python3/dist-packages/xarray/backends/file_manager.py", line 234 in close
File "/usr/lib/python3/dist-packages/xarray/core/common.py", line 1280 in close
File "/home/antonio/debian/git/python-rioxarray/rioxarray/_io.py", line 791 in _ds_close
File "/usr/lib/python3/dist-packages/xarray/core/common.py", line 1280 in close
File "/usr/lib/python3/dist-packages/xarray/core/common.py", line 1497 in __exit__
File "/home/antonio/debian/git/python-rioxarray/test/integration/test_integration__io.py", line 256 in test_open_group_load_attrs
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 157 in pytest_pyfunc_call
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1671 in runtest
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 178 in pytest_runtest_call
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 246 in <lambda>
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 344 in from_call
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 245 in call_and_report
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 136 in runtestprotocol
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 117 in pytest_runtest_protocol
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 367 in pytest_runtestloop
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 343 in _main
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 289 in wrap_session
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 336 in pytest_cmdline_main
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 175 in main
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201 in console_main
File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9 in <module>
File "/usr/lib/python3.13/runpy.py", line 88 in _run_code
File "/usr/lib/python3.13/runpy.py", line 198 in _run_module_as_main
Extension modules: numpy._core._multiarray_umath, numpy.linalg._umath_linalg, yaml._yaml, numcodecs.compat_ext, numcodecs.blosc, numcodecs.zstd, numcodecs.lz4, numcodecs._shuffle, numcodecs.jenkins, crc32c._crc32c, numcodecs.vlen, numcodecs.fletcher32, msgpack._cmsgpack, lz4._version, lz4.frame._frame, zstandard.backend_c, rasterio._err, rasterio._filepath, rasterio._version, rasterio._env, rasterio.crs, _brotli, charset_normalizer.md, _cffi_backend, rasterio._transform, rasterio._base, rasterio._features, rasterio._warp, rasterio._io, rasterio._vsiopener, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._pcg64, numpy.random._mt19937, numpy.random._generator, numpy.random._philox, numpy.random._sfc64, numpy.random.mtrand, pandas._libs.tslibs.ccalendar, pandas._libs.tslibs.np_datetime, pandas._libs.tslibs.dtypes, pandas._libs.tslibs.base, pandas._libs.tslibs.nattype, pandas._libs.tslibs.timezones, pandas._libs.tslibs.fields, pandas._libs.tslibs.timedeltas, pandas._libs.tslibs.tzconversion, pandas._libs.tslibs.timestamps, pandas._libs.properties, pandas._libs.tslibs.offsets, pandas._libs.tslibs.strptime, pandas._libs.tslibs.parsing, pandas._libs.tslibs.conversion, pandas._libs.tslibs.period, pandas._libs.tslibs.vectorized, pandas._libs.ops_dispatch, pandas._libs.missing, pandas._libs.hashtable, pandas._libs.algos, pandas._libs.interval, pandas._libs.lib, pandas._libs.ops, numexpr.interpreter, bottleneck.move, bottleneck.nonreduce, bottleneck.nonreduce_axis, bottleneck.reduce, pandas._libs.hashing, pandas._libs.arrays, pandas._libs.tslib, pandas._libs.sparse, pandas._libs.internals, pandas._libs.indexing, pandas._libs.index, pandas._libs.writers, pandas._libs.join, pandas._libs.window.aggregations, pandas._libs.window.indexers, pandas._libs.reshape, pandas._libs.groupby, pandas._libs.json, pandas._libs.parsers, pandas._libs.testing, cftime._cftime, pyproj._compat, pyproj._context, pyproj._network, pyproj._version, pyproj._geod, pyproj.list, pyproj._crs, pyproj.database, pyproj._transformer, pyproj._sync, psutil._psutil_linux, psutil._psutil_posix, markupsafe._speedups, PyQt5.QtCore, PyQt5.QtGui, PyQt5.QtWidgets, PyQt5.QtTest (total: 102)
==66172==
==66172== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==66172== at 0x4A3B95C: __pthread_kill_implementation (pthread_kill.c:44)
==66172== by 0x49E6CC1: raise (raise.c:26)
==66172== by 0x6F36B3: faulthandler_fatal_error (faulthandler.c:353)
==66172== by 0x49E6DEF: ??? (in /usr/lib/x86_64-linux-gnu/libc.so.6)
==66172== by 0x6049A609: sd_NC_check_id (file.c:212)
==66172==
==66172== HEAP SUMMARY:
==66172== in use at exit: 238,245,619 bytes in 2,619,419 blocks
==66172== total heap usage: 16,533,919 allocs, 13,914,500 frees, 2,456,124,828 bytes allocated
[CUT]
==66172==
==66172== LEAK SUMMARY:
==66172== definitely lost: 2,256 bytes in 19 blocks
==66172== indirectly lost: 0 bytes in 0 blocks
==66172== possibly lost: 178,171,189 bytes in 1,637,590 blocks
==66172== still reachable: 60,024,885 bytes in 981,803 blocks
==66172== of which reachable via heuristic:
==66172== length64 : 2,923,664 bytes in 27,496 blocks
==66172== multipleinheritance: 296 bytes in 3 blocks
==66172== suppressed: 47,289 bytes in 7 blocks
==66172==
==66172== For lists of detected and suppressed errors, rerun with: -s
==66172== ERROR SUMMARY: 3057 errors from 3057 contexts (suppressed: 6 from 6)Expected Output
All tests passed.
Environment Information
$ python3 -c "import rioxarray; rioxarray.show_versions()"
rioxarray (0.19.0) deps:
rasterio: 1.4.3
xarray: 2025.9.0
GDAL: 3.11.4
GEOS: 3.14.0
PROJ: 9.7.0
PROJ DATA: /home/antonio/.local/share/proj:/usr/share/proj
GDAL DATA: None
Other python deps:
scipy: 1.15.3
pyproj: 3.7.2
System:
python: 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0]
executable: /usr/bin/python3
machine: Linux-6.14.0-33-generic-x86_64-with-glibc2.41Additional info:
- libhdf4 v4.3.1
Installation method
On on the current Debian Sid
- apt install python3-rioxarray
The full list of packages installed in the test environment chn be retieved at: https://people.debian.org/~sanvila/build-logs/202509/python-rioxarray_0.19.0-1_amd64-20250904T153708.840Z
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingupstreamIssue is related to a dependency (upstream package).Issue is related to a dependency (upstream package).