Skip to content

3.15.0b2 test failures on FreeBSD i386 (in poudriere, on ZFS file system): test.test_os.test_os test_complex test_ctypes (test_shutil reported in a separate issue) #151007

@mandree

Description

@mandree

Bug report

Bug description:

I am seeing several test failures on FreeBSD 14.3 i386 but not on 14.3 amd64.

I appreciate FreeBSD is more or less discontinuing i386 support at this point, and I am not sure yet if we are looking at i386 specific failures or if these would also be present in other 32-bit platforms such as ARMv7. See #151019 for ARMv7 test results on FreeBSD 15.1.

It appears that the test.test_os.test_os failure is common to 32-bit platforms i386 and armv7, while the test_complex and test_ctypes failures are NOT observed on ARMv7 but seem specific to i386.
(Also do note I am not testing on the exact same OS version either; i386 is unsupported on FreBSD 15 and newer so has to use 14.X; this is a bit unfortunate because I am turning two knobs at the same time.)

This is in poudriere, a script collection FreeBSD uses to build binary packages from ports, and running atop a ZFS file system mount.

NOTE: the test_shutil failure is not shown in detail here, only in the summaries. I have reported that one separately in #150984 because it also occurs on the Tier-1 amd64 (think x86_64 or x64) platform.

This is the console output from "make test 2>&1", hand-edited to remove most parts from test_shutil (reported sparately) and the boring parts; it has the standard output first, and has the "verbose re-run" parts at the bottom.

===>  Testing for python315-3.15.0.b2
=== NOTE: the py315-* gdbm, sqlite3, tkinter modules must be rebuilt before the test ===
sleep 5
The following modules are *disabled* in configure script:
_gdbm                 _sqlite3              _tkinter           

Checked 116 modules (37 built-in, 75 shared, 1 n/a on freebsd-14.3-RELEASE-p14-i386, 3 disabled, 0 missing, 0 failed on import)
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2 ./python -E ./Tools/build/generate-build-details.py `cat pybuilddir.txt`/build-details.json
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2 ./python -E  -m test --fast-ci -u-gui --timeout= -j13 -x test_gdb
+ ./python -u -W error -bb -E -m test --fast-ci -u-gui --timeout= -j13 -x test_gdb --dont-add-python-opts
== CPython 3.15.0b2 (main, Jun 5 2026, 20:13:01) [Clang 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd7080
== FreeBSD-14.3-RELEASE-p14-i386-32bit-ELF little-endian
== Python build: release shared LTO
== cwd: /wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/build/test_python_worker_529æ
== CPU count: 32
== encodings: locale=UTF-8 FS=utf-8
== resources: all,-cpu,-gui

Using random seed: 1740539547
0:00:00 load avg: 0.01 Run 499 tests in parallel using 13 worker processes (timeout: 10 min, worker timeout: 15 min)

[...]

======================================================================
FAIL: test_truediv (test.test_complex.ComplexTest.test_truediv)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_complex.py", line 177, in test_truediv
    self.assertComplexesAreIdentical(INF/complex(2**1000, 2**-1000),
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                     complex(INF, NAN))
                                     ^^^^^^^^^^^^^^^^^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/support/testcase.py", line 65, in assertComplexesAreIdentical
    self.assertFloatsAreIdentical(x.imag, y.imag)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/support/testcase.py", line 53, in assertFloatsAreIdentical
    self.fail(msg.format(x, y))
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^
AssertionError: floats -inf and nan are not identical

----------------------------------------------------------------------
Ran 37 tests in 0.036s

FAILED (failures=1)
test test_complex failed

[...]

======================================================================
FAIL: test_struct_return_2H (test.test_ctypes.test_as_parameter.AsParamNestedWrapperTestCase.test_struct_return_2H)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_as_parameter.py", line 172, in test_struct_return_2H
    self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Tuples differ: (-23216, -1) != (198, 264)

First differing element 0:
-23216
198

- (-23216, -1)
+ (198, 264)

======================================================================
FAIL: test_struct_return_2H (test.test_ctypes.test_as_parameter.AsParamPropertyWrapperTestCase.test_struct_return_2H)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_as_parameter.py", line 172, in test_struct_return_2H
    self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Tuples differ: (-23200, -1) != (198, 264)

First differing element 0:
-23200
198

- (-23200, -1)
+ (198, 264)

======================================================================
FAIL: test_struct_return_2H (test.test_ctypes.test_as_parameter.AsParamWrapperTestCase.test_struct_return_2H)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_as_parameter.py", line 172, in test_struct_return_2H
    self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Tuples differ: (-23200, -1) != (198, 264)

First differing element 0:
-23200
198

- (-23200, -1)
+ (198, 264)

======================================================================
FAIL: test_struct_return_2H (test.test_ctypes.test_as_parameter.BasicWrapTestCase.test_struct_return_2H)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_as_parameter.py", line 172, in test_struct_return_2H
    self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Tuples differ: (-23200, -1) != (198, 264)

First differing element 0:
-23200
198

- (-23200, -1)
+ (198, 264)

======================================================================
FAIL: test_struct_return_2H (test.test_ctypes.test_functions.FunctionTestCase.test_struct_return_2H)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_functions.py", line 407, in test_struct_return_2H
    self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Tuples differ: (-23216, -1) != (198, 264)

First differing element 0:
-23216
198

- (-23216, -1)
+ (198, 264)

======================================================================
FAIL: test_pass_by_value_in_register (test.test_ctypes.test_structures.StructureTestCase.test_pass_by_value_in_register)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_structures.py", line 299, in test_pass_by_value_in_register
    self.assertEqual(s.first, got.first)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
AssertionError: 3735928559 != 4294944080

----------------------------------------------------------------------
Ran 619 tests in 1.114s

FAILED (failures=6, skipped=55)
test test_ctypes failed

[...]

======================================================================
ERROR: test_headers_overflow_32bits (test.test_os.test_os.TestSendfile.test_headers_overflow_32bits)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/asyncio/runners.py", line 127, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/asyncio/base_events.py", line 724, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_os/test_os.py", line 3792, in test_headers_overflow_32bits
    self.server.handler_instance.accumulate = False
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Server' object has no attribute 'handler_instance'

======================================================================
ERROR: test_trailers_overflow_32bits (test.test_os.test_os.TestSendfile.test_trailers_overflow_32bits)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/asyncio/runners.py", line 127, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/asyncio/base_events.py", line 724, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_os/test_os.py", line 3801, in test_trailers_overflow_32bits
    self.server.handler_instance.accumulate = False
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Server' object has no attribute 'handler_instance'

----------------------------------------------------------------------
Ran 361 tests in 12.772s

FAILED (errors=2, skipped=38)
test test.test_os.test_os failed

[...]

== Tests result: FAILURE ==

[...]

0:01:37 load avg: 4.13 [1/4/1] test_complex failed (1 failure)
Re-running test_complex in verbose mode (matching: test_truediv)
test_truediv (test.test_complex.ComplexTest.test_truediv) ... FAIL

======================================================================
FAIL: test_truediv (test.test_complex.ComplexTest.test_truediv)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_complex.py", line 177, in test_truediv
    self.assertComplexesAreIdentical(INF/complex(2**1000, 2**-1000),
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                     complex(INF, NAN))
                                     ^^^^^^^^^^^^^^^^^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/support/testcase.py", line 65, in assertComplexesAreIdentical
    self.assertFloatsAreIdentical(x.imag, y.imag)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/support/testcase.py", line 53, in assertFloatsAreIdentical
    self.fail(msg.format(x, y))
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^
AssertionError: floats -inf and nan are not identical

----------------------------------------------------------------------
Ran 1 test in 0.019s

FAILED (failures=1)
test test_complex failed
0:01:37 load avg: 4.13 [2/4/2] test.test_os.test_os failed (2 errors)
Re-running test.test_os.test_os in verbose mode (matching: test_headers_overflow_32bits, test_trailers_overflow_32bits)
test_headers_overflow_32bits (test.test_os.test_os.TestSendfile.test_headers_overflow_32bits) ... ERROR
test_trailers_overflow_32bits (test.test_os.test_os.TestSendfile.test_trailers_overflow_32bits) ... ERROR

======================================================================
ERROR: test_headers_overflow_32bits (test.test_os.test_os.TestSendfile.test_headers_overflow_32bits)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/asyncio/runners.py", line 127, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/asyncio/base_events.py", line 724, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_os/test_os.py", line 3792, in test_headers_overflow_32bits
    self.server.handler_instance.accumulate = False
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Server' object has no attribute 'handler_instance'

======================================================================
ERROR: test_trailers_overflow_32bits (test.test_os.test_os.TestSendfile.test_trailers_overflow_32bits)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/asyncio/runners.py", line 127, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/asyncio/base_events.py", line 724, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_os/test_os.py", line 3801, in test_trailers_overflow_32bits
    self.server.handler_instance.accumulate = False
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Server' object has no attribute 'handler_instance'

----------------------------------------------------------------------
Ran 2 tests in 0.016s

FAILED (errors=2)
test test.test_os.test_os failed
0:01:37 load avg: 4.13 [3/4/3] test_ctypes failed (6 failures)
Re-running test_ctypes in verbose mode (matching: test_struct_return_2H, test_struct_return_2H, test_struct_return_2H, test_struct_return_2H, test_struct_return_2H, test_pass_by_value_in_register)
test_struct_return_2H (test.test_ctypes.test_as_parameter.AsParamNestedWrapperTestCase.test_struct_return_2H) ... FAIL
test_struct_return_2H (test.test_ctypes.test_as_parameter.AsParamPropertyWrapperTestCase.test_struct_return_2H) ... FAIL
test_struct_return_2H (test.test_ctypes.test_as_parameter.AsParamWrapperTestCase.test_struct_return_2H) ... FAIL
test_struct_return_2H (test.test_ctypes.test_as_parameter.BasicWrapTestCase.test_struct_return_2H) ... FAIL
test_struct_return_2H (test.test_ctypes.test_functions.FunctionTestCase.test_struct_return_2H) ... FAIL
test_pass_by_value_in_register (test.test_ctypes.test_structures.StructureTestCase.test_pass_by_value_in_register) ... FAIL

======================================================================
FAIL: test_struct_return_2H (test.test_ctypes.test_as_parameter.AsParamNestedWrapperTestCase.test_struct_return_2H)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_as_parameter.py", line 172, in test_struct_return_2H
    self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Tuples differ: (-23712, -1) != (198, 264)

First differing element 0:
-23712
198

- (-23712, -1)
+ (198, 264)

======================================================================
FAIL: test_struct_return_2H (test.test_ctypes.test_as_parameter.AsParamPropertyWrapperTestCase.test_struct_return_2H)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_as_parameter.py", line 172, in test_struct_return_2H
    self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Tuples differ: (-23696, -1) != (198, 264)

First differing element 0:
-23696
198

- (-23696, -1)
+ (198, 264)

======================================================================
FAIL: test_struct_return_2H (test.test_ctypes.test_as_parameter.AsParamWrapperTestCase.test_struct_return_2H)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_as_parameter.py", line 172, in test_struct_return_2H
    self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Tuples differ: (-23696, -1) != (198, 264)

First differing element 0:
-23696
198

- (-23696, -1)
+ (198, 264)

======================================================================
FAIL: test_struct_return_2H (test.test_ctypes.test_as_parameter.BasicWrapTestCase.test_struct_return_2H)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_as_parameter.py", line 172, in test_struct_return_2H
    self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Tuples differ: (-23696, -1) != (198, 264)

First differing element 0:
-23696
198

- (-23696, -1)
+ (198, 264)

======================================================================
FAIL: test_struct_return_2H (test.test_ctypes.test_functions.FunctionTestCase.test_struct_return_2H)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_functions.py", line 407, in test_struct_return_2H
    self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Tuples differ: (-23712, -1) != (198, 264)

First differing element 0:
-23712
198

- (-23712, -1)
+ (198, 264)

======================================================================
FAIL: test_pass_by_value_in_register (test.test_ctypes.test_structures.StructureTestCase.test_pass_by_value_in_register)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/python315/work/Python-3.15.0b2/Lib/test/test_ctypes/test_structures.py", line 299, in test_pass_by_value_in_register
    self.assertEqual(s.first, got.first)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
AssertionError: 3735928559 != 4294943584

----------------------------------------------------------------------
Ran 6 tests in 0.010s

FAILED (failures=6)
test test_ctypes failed

[...]

4 tests failed again:
    test.test_os.test_os test_complex test_ctypes test_shutil

== Tests result: FAILURE then FAILURE ==

10 slowest tests:
- test.test_multiprocessing_spawn.test_processes: 35.8 sec
- test.test_concurrent_futures.test_process_pool: 33.6 sec
- test_socket: 32.7 sec
- test.test_multiprocessing_forkserver.test_processes: 31.5 sec
- test_xmlrpc: 27.8 sec
- test.test_io.test_signals: 24.6 sec
- test.test_multiprocessing_spawn.test_misc: 22.7 sec
- test.test_multiprocessing_forkserver.test_misc: 22.3 sec
- test_imaplib: 21.5 sec
- test_logging: 20.1 sec

29 tests skipped:
    test.test_asyncio.test_windows_events
    test.test_asyncio.test_windows_utils test.test_os.test_windows
    test_android test_apple test_dbm_gnu test_dbm_sqlite3 test_devpoll
    test_epoll test_free_threading test_idle test_launcher test_msvcrt
    test_perf_profiler test_perfmaps test_remote_pdb
    test_samply_profiler test_sqlite3 test_startfile test_tcl
    test_tkinter test_ttk test_ttk_textonly test_turtle test_winapi
    test_winconsoleio test_winreg test_winsound test_wmi

3 tests skipped (resource denied):
    test_peg_generator test_xpickle test_zipfile64

4 re-run tests:
    test.test_os.test_os test_complex test_ctypes test_shutil

4 tests failed:
    test.test_os.test_os test_complex test_ctypes test_shutil

463 tests OK.

Total duration: 1 min 38 sec
Total tests: run=49,372 failures=14 skipped=2,719
Total test files: run=500/499 failed=4 skipped=29 resource_denied=3 rerun=4
Result: FAILURE then FAILURE
gmake: *** [Makefile:2514: test] Error 2
*** Error code 1

Stop.
make: stopped in /usr/ports/lang/python315

The same content is also attached:
test.log

CPython versions tested on:

3.15

Operating systems tested on:

Other

Metadata

Metadata

Assignees

No one assigned

    Labels

    OS-freebsdtestsTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or error
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions