Skip to content

regrtest can reports false SUCCESS and skip tests when a -j worker dies #101634

Description

@gpshead

See in https://buildbot.python.org/all/#/builders/424/builds/3407/steps/5/logs/stdio (Raspbian)

...
0:04:46 load avg: 7.28 [ 48/434] test_isinstance passed -- running: test_largefile (2 min 54 sec)
0:05:03 load avg: 7.39 [ 49/434] test_utf8source passed -- running: test_largefile (3 min 11 sec), test_unittest (38.7 sec)
Warning -- regrtest worker thread failed: Traceback (most recent call last):
Warning --   File "/var/lib/buildbot/workers/3.x.gps-raspbian.nondebug/build/Lib/test/libregrtest/runtest_mp.py", line 342, in run
Warning --     mp_result = self._runtest(test_name)
Warning --                 ^^^^^^^^^^^^^^^^^^^^^^^^
Warning --   File "/var/lib/buildbot/workers/3.x.gps-raspbian.nondebug/build/Lib/test/libregrtest/runtest_mp.py", line 301, in _runtest
Warning --     stdout = stdout_fh.read().strip()
Warning --              ^^^^^^^^^^^^^^^^
Warning --   File "<frozen codecs>", line 322, in decode
Warning -- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa9 in position 35: invalid start byte
Kill <TestWorkerProcess #1 running test=test_tempfile pid=7836 time=21.8 sec> process group
Kill <TestWorkerProcess #2 running test=test_largefile pid=7700 time=3 min 32 sec> process group

== Tests result: SUCCESS ==

385 tests omitted:
    test___all__ test__locale test__opcode test__osx_support
    test__xxinterpchannels test__xxsubinterpreters test_abc test_aifc
    test_argparse test_array test_asdl_parser test_ast test_asyncgen
    test_asyncio test_atexit test_audioop test_audit test_base64
...

This might be an infrastructure issue or an actual issue with real non utf-8 data making it through the mp sockets. Regardless, it should've triggered an error and exit 1 instead of a false SUCCESS exit 0.

Linked PRs

Activity

  1. added
    type-bugAn unexpected behavior, bug, or error
    testsTests in the Lib/test dir
    on Feb 7, 2023
  2. changed the title [-]regrtest can reports false SUCCESS and skips tests when a -j worker dies[/-] [+]regrtest can reports false SUCCESS and skip tests when a -j worker dies[/+] on Feb 7, 2023
  3. added a commit that references this issue on Jun 28, 2023
  4. vstinner commented on Jun 28, 2023

    @vstinner
    Member

    I wrote PR #106169 to fix this bug.

  5. added 3 commits that reference this issue on Jun 28, 2023
  6. added a commit that references this issue on Jun 28, 2023
  7. added 2 commits that reference this issue on Jun 28, 2023
  8. added 3 commits that reference this issue on Sep 2, 2023
  9. hugovk commented on Nov 10, 2023

    @hugovk
    Member

    Thanks!

  10. vstinner commented on Nov 13, 2023

    @vstinner
    Member

    The fix will not be backported to Python 3.11 and 3.12 branches: see #111950 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    testsTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions