Skip to content

test_capi: test_extended_arg() failed on PPC64LE RHEL7 Refleaks 3.x #107083

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
vstinner opened this issue Jul 22, 2023 · 4 comments · Fixed by #107256
Closed

test_capi: test_extended_arg() failed on PPC64LE RHEL7 Refleaks 3.x #107083

vstinner opened this issue Jul 22, 2023 · 4 comments · Fixed by #107256
Labels
type-bug An unexpected behavior, bug, or error

Comments

@vstinner
Copy link
Member

PPC64LE RHEL7 Refleaks 3.x: https://buildbot.python.org/all/#/builders/205/builds/813

This issue looks like issue #107082.

Git log between the two commits:

commit e1d45b8ed43e1590862319fec33539f8adbc0849
Author: Guido van Rossum <guido@python.org>
Date:   Thu Jul 6 16:46:06 2023 -0700

     gh-104584: Handle EXTENDED_ARG in superblock creation (#106489)
    
    With test.

 Lib/test/test_capi/test_misc.py | 56 +++++++++++++++++++++++++++++++++++++++++
 Python/optimizer.c              | 16 ++++++++++++
 2 files changed, 72 insertions(+)

commit c60df361ce2d734148d503f4a711e67c110fe223
Author: Gregory P. Smith <greg@krypto.org>
Date:   Thu Jul 6 15:46:50 2023 -0700

    gh-90876: Restore the ability to import multiprocessing when `sys.executable` is `None` (#106464)
    
    Prevent `multiprocessing.spawn` from failing to *import* in environments
    where `sys.executable` is `None`.  This regressed in 3.11 with the addition
    of support for path-like objects in multiprocessing.
    
    Adds a test decorator to have tests only run when part of test_multiprocessing_spawn to `_test_multiprocessing.py` so we can start to avoid re-running the same not-global-state specific test in all 3 modes when there is no need.

 Lib/multiprocessing/spawn.py                       |  6 +-
 Lib/test/_test_multiprocessing.py                  | 82 ++++++++++++++++++++--
 .../2023-07-05-13-08-23.gh-issue-90876.Qvlkfl.rst  |  3 +
 3 files changed, 83 insertions(+), 8 deletions(-)

commit 76fac7bce55302a8e9a524d72f5384fd89e6dfde
Author: Guido van Rossum <guido@python.org>
Date:   Thu Jul 6 15:45:56 2023 -0700

    gh-104584: Clean up and fix uops tests and fix crash (#106492)
    
    The uops test wasn't testing anything by default,
    and was failing when run with -Xuops.
    
    Made the two executor-related context managers global,
    so TestUops can use them (notably `with temporary_optimizer(opt)`).
    
    Made clear_executor() a little more thorough.
    
    Fixed a crash upon finalizing a uop optimizer,
    by adding a `tp_dealloc` handler.

 Lib/test/test_capi/test_misc.py | 54 +++++++++++++++++++++++------------------
 Python/optimizer.c              | 10 ++++++--
 2 files changed, 38 insertions(+), 26 deletions(-)

commit 67a798888dcde13bbb1e17cfcc3c742c94e67a07
Author: Dustin Rodrigues <dust.rod@gmail.com>
Date:   Thu Jul 6 18:34:00 2023 -0400

    closes gh-106479: fix typo in __cplusplus macro (gh-106480)

 Lib/test/_testcppext.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5548097925b9924ebf761376d632c5198d01ebd5
Author: Alex Waygood <Alex.Waygood@Gmail.com>
Date:   Thu Jul 6 22:17:12 2023 +0100

    gh-104683: clinic.py: refactor four simple classes as dataclasses (#106476)

 Tools/clinic/clinic.py | 51 ++++++++++++++++++++------------------------------
 1 file changed, 20 insertions(+), 31 deletions(-)

commit 003ba71dcbe94f0d5cb1d0c56d7f1d5a6dae56f7
Author: Guido van Rossum <guido@python.org>
Date:   Thu Jul 6 11:39:53 2023 -0700

    gh-104584: Fix error handling from backedge optimization (#106484)
    
    When `_PyOptimizer_BackEdge` returns `NULL`, we should restore `next_instr` (and `stack_pointer`). To accomplish this we should jump to `resume_with_error` instead of just `error`.
    
    The problem this causes is subtle -- the only repro I have is in PR gh-106393, at commit d7df54b139bcc47f5ea094bfaa9824f79bc45adc. But the fix is real (as shown later in that PR).
    
    While we're at it, also improve the debug output: the offsets at which traces are identified are now measured in bytes, and always show the start offset. This makes it easier to correlate executor calls with optimizer calls, and either with `dis` output.
    
    <!-- gh-issue-number: gh-104584 -->
    * Issue: gh-104584
    <!-- /gh-issue-number -->

 Python/bytecodes.c         |  2 +-
 Python/ceval.c             |  4 ++--
 Python/generated_cases.c.h |  2 +-
 Python/optimizer.c         | 18 +++++++++++-------
 4 files changed, 15 insertions(+), 11 deletions(-)

commit 56353b10023ff12c7c8d6288ae4bf7bdcd5d4b6c
Author: Mario Corchero <mcorcherojim@bloomberg.net>
Date:   Thu Jul 6 19:54:45 2023 +0200

    gh-106458: Mark `testthreadingmock.py` with `@requires_working_threading` (GH-106366)
    
    Mark `testthreadingmock.py` with `threading_helper.requires_working_threading`.
    
    Also add longer delays to reduce the change of a race conditions on the tests that validate short timeouts.

 Lib/test/test_unittest/testmock/testthreadingmock.py | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

commit e7cd55753b00d6f7e5c8998bae73ebaa9e86398d
Author: Sviatoslav Sydorenko <wk@sydorenko.org.ua>
Date:   Thu Jul 6 17:06:18 2023 +0200

    Introduce a gate/check GHA job (#97533)
    
    Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>

 .github/workflows/build.yml | 57 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

commit d0c6ba956fca28785ad4dea6423cd44fd1124cad
Author: Alex Waygood <Alex.Waygood@Gmail.com>
Date:   Thu Jul 6 14:23:02 2023 +0100

    gh-104683: clinic.py: Don't needlessly reimplement `contextlib.redirect_stdout` (#106478)
    
    clinic.py: Don't needlessly reimplement `contextlib.redirect_stdout`

 Tools/clinic/clinic.py | 20 ++------------------
 1 file changed, 2 insertions(+), 18 deletions(-)

commit 99b00efd5edfd5b26bf9e2a35cbfc96277fdcbb1
Author: Ariel Eizenberg <ariel.eizenberg@gmail.com>
Date:   Thu Jul 6 10:02:22 2023 +0300

    gh-106238: Handle KeyboardInterrupt during logging._acquireLock() (GH-106239)
    
    Co-authored-by: Ariel Eizenberg <ariel.eizenberg@pagaya.com>

 Lib/logging/__init__.py                                             | 6 +++++-
 .../next/Library/2023-06-29-12-40-52.gh-issue-106238.VulKb9.rst     | 1 +
 2 files changed, 6 insertions(+), 1 deletion(-)

commit 38aa89a52ed5194f70bbf07d699a2dd3720e2efd
Author: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Date:   Thu Jul 6 00:41:04 2023 -0500

    Doc: Add missing ref labels to exception groups/notes sections (#106465)

 Doc/library/exceptions.rst | 2 ++
 Doc/tutorial/errors.rst    | 2 ++
 2 files changed, 4 insertions(+)

Error:

FAIL: test_extended_arg (test.test_capi.test_misc.TestUops.test_extended_arg)
Check EXTENDED_ARG handling in superblock creation
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-ppc64le.refleak/build/Lib/test/test_capi/test_misc.py", line 2495, in test_extended_arg
    self.assertIsNone(ex)
AssertionError: <uop_executor object at 0x1003b78b930> is not None

test.pythoninfo:

sys.byteorder: little

platform.architecture: 64bit ELF
platform.libc_ver: glibc 2.17
platform.platform: Linux-3.10.0-1160.90.1.el7.ppc64le-ppc64le-with-glibc2.17

cc @gvanrossum

@vstinner
Copy link
Member Author

Same failure on aarch64 Fedora Stable Refleaks 3.x buildbot: https://buildbot.python.org/all/#/builders/123/builds/794

@vstinner
Copy link
Member Author

Error also seen on AMD64 Windows11 Refleaks 3.x buildbot: https://buildbot.python.org/all/#/builders/920/builds/464

FAIL: test_extended_arg (test.test_capi.test_misc.TestUops.test_extended_arg)
Check EXTENDED_ARG handling in superblock creation
----------------------------------------------------------------------
Traceback (most recent call last):
  File "b:\uildarea\3.x.ware-win11.refleak\build\Lib\test\test_capi\test_misc.py", line 2495, in test_extended_arg
    self.assertIsNone(ex)
AssertionError: <uop_executor object at 0x00000194A8FE6AD0> is not None

@gvanrossum
Copy link
Member

Hm, I don't think it's the same as #107082. This is a test failing (something unexpectedly isn't None) rather than a C assertion failing. I'll look into it more. Though we could also run all the buildbots once CI for #107085 passes, and if I haven't found it by then we might get lucky if it is in fact caused by the same issue.

BTW Thanks for looking into these failures!

@gvanrossum
Copy link
Member

Well, #107082 seems more complex than what I thought, and if it really is related to byte order it could well be connected. I'm not seeing how this would otherwise fail, so I'm holding off on spending more time to look at this until we've sorted #107082.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants