Skip to content

v0.29.0 test failures on Linux on i686 and s390x with Python 3.15b2 #6143

Description

@decathorpe

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions