I'm working on updating the PyO3 packages for Fedora Linux to version 0.29.0.
I am seeing new test failures compared to PyO3 v0.28, in only these two environments:
- i686-unknown-linux-gnu (32-bit), Python 3.15b2
- s390x-unknown-linux-gnu (big-endian), Python 3.15b2
This is the only combination of platforms where I see failures. Most other combinations {x86_64, aarch64, powerpc64le, s390x, i686} × {Python 3.15b2, Python 3.14.5, Python 3.12.13, Python 3.9.25} × {Rust 1.96, Rust 1.92} that I can test are OK.
The exact error messages for i686 and s390x are different, but it's the same two tests that fail:
- tests/test_append_to_inittab.rs: test_module_append_to_inittab
- src/lib.rs: doc_test::guide_pfr_calling_existing_code_md (line 635)
i686 error message: NULL not allowed for slot Py_mod_exec
s390x error message: AttributeError: module '{}' has no attribute '{}'
Full error messages from i686:
Running `/builddir/build/BUILD/rust-pyo3-0.29.0-build/pyo3-0.29.0/target/rpm/deps/test_append_to_inittab-3d60c8aa47163cc5 --skip 'doc_test::guide_class_md'`
running 1 test
Traceback (most recent call last):
File "<string>", line 2, in <module>
SystemError: NULL not allowed for slot Py_mod_exec
test test_module_append_to_inittab ... FAILED
failures:
---- test_module_append_to_inittab stdout ----
thread 'test_module_append_to_inittab' (4136) panicked at tests/test_append_to_inittab.rs:42:10:
called `Result::unwrap()` on an `Err` value: ()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
failures:
test_module_append_to_inittab
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
error: test failed, to rerun pass `--test test_append_to_inittab`
failures:
---- src/lib.rs - doc_test::guide_pfr_calling_existing_code_md (line 635) stdout ----
Test executable failed (exit status: 1).
stderr:
Error: PyErr { type: <class 'SystemError'>, value: SystemError('NULL not allowed for slot Py_mod_exec'), traceback: Some("Traceback (most recent call last):\n File \"<string>\", line 1, in <module>\n") }
failures:
src/lib.rs - doc_test::guide_pfr_calling_existing_code_md (line 635)
test result: FAILED. 472 passed; 1 failed; 73 ignored; 0 measured; 46 filtered out; finished in 20.87s
Full error messages from s390x:
Running `/builddir/build/BUILD/rust-pyo3-0.29.0-build/pyo3-0.29.0/target/rpm/deps/test_append_to_inittab-bbef29db5c0d9ab4 --skip 'doc_test::guide_class_md'`
running 1 test
Traceback (most recent call last):
File "<string>", line 3, in <module>
AttributeError: module 'module_fn_with_functions' has no attribute 'foo'
test test_module_append_to_inittab ... FAILED
failures:
---- test_module_append_to_inittab stdout ----
thread 'test_module_append_to_inittab' (4136) panicked at tests/test_append_to_inittab.rs:42:10:
called `Result::unwrap()` on an `Err` value: ()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
failures:
test_module_append_to_inittab
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
error: test failed, to rerun pass `--test test_append_to_inittab`
failures:
---- src/lib.rs - doc_test::guide_pfr_calling_existing_code_md (line 635) stdout ----
Test executable failed (exit status: 1).
stderr:
Error: PyErr { type: <class 'AttributeError'>, value: AttributeError("module 'foo' has no attribute 'add_one'"), traceback: Some("Traceback (most recent call last):\n File \"<string>\", line 1, in <module>\n") }
failures:
src/lib.rs - doc_test::guide_pfr_calling_existing_code_md (line 635)
test result: FAILED. 472 passed; 1 failed; 73 ignored; 0 measured; 46 filtered out; finished in 79.35s
I'm working on updating the PyO3 packages for Fedora Linux to version 0.29.0.
I am seeing new test failures compared to PyO3 v0.28, in only these two environments:
This is the only combination of platforms where I see failures. Most other combinations {x86_64, aarch64, powerpc64le, s390x, i686} × {Python 3.15b2, Python 3.14.5, Python 3.12.13, Python 3.9.25} × {Rust 1.96, Rust 1.92} that I can test are OK.
The exact error messages for i686 and s390x are different, but it's the same two tests that fail:
i686 error message:
NULL not allowed for slot Py_mod_execs390x error message:
AttributeError: module '{}' has no attribute '{}'Full error messages from i686:
Full error messages from s390x: