GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Thread sanitizer (free-threading) tests fail: test_signal raises RecursionError · Issue #121065 · python/cpython

Thread sanitizer (free-threading) tests fail: test_signal raises RecursionError #121065

New issue
Copy link
New issue
Copy link
Open
Open
Thread sanitizer (free-threading) tests fail: test_signal raises RecursionError#121065
Copy link
Labels
testsTests in the Lib/test dirTests in the Lib/test dirtopic-free-threadingtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error

Description

@sobolevn
sobolevn
opened on Jun 26, 2024
Issue body actions

Bug report

 0:02:53 load avg: 5.00 [ 9/22/1] test_signal failed (1 error) (1 min 1 sec) -- running (3): test_logging (2 min 13 sec), test_io (2 min 17 sec), test_queue (1 min 52 sec)
test test_signal failed -- Traceback (most recent call last):
  File "/home/runner/work/cpython/cpython/Lib/test/test_signal.py", line 1384, in test_stress_modifying_handlers
    cycle_handlers()
    ~~~~~~~~~~~~~~^^
  File "/home/runner/work/cpython/cpython/Lib/test/test_signal.py", line 1374, in cycle_handlers
    signal.signal(signum, handler)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/home/runner/work/cpython/cpython/Lib/signal.py", line 58, in signal
    handler = _signal.signal(_enum_to_int(signalnum), _enum_to_int(handler))
                             ~~~~~~~~~~~~^^^^^^^^^^^
  File "/home/runner/work/cpython/cpython/Lib/signal.py", line 41, in _enum_to_int
    return int(value)
  File "/home/runner/work/cpython/cpython/Lib/test/test_signal.py", line 1359, in custom_handler
    def custom_handler(signum, frame):
    
  File "/home/runner/work/cpython/cpython/Lib/test/test_signal.py", line 1359, in custom_handler
    def custom_handler(signum, frame):
    
  File "/home/runner/work/cpython/cpython/Lib/test/test_signal.py", line 1359, in custom_handler
    def custom_handler(signum, frame):
    
  [Previous line repeated 237 more times]
RecursionError: maximum recursion depth exceeded

Link: https://github.com/python/cpython/actions/runs/9686054998/job/26727620578

Linked PRs

  • gh-121065: Temporarily skip flaky test on free-threaded build #121100

Activity

  1. sobolevn
    added
    type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
    testsTests in the Lib/test dirTests in the Lib/test dir
    topic-free-threading
    on Jun 26, 2024
  2. skirpichev commented on Jun 27, 2024

    @skirpichev
    skirpichev
    on Jun 27, 2024
    Member
    More actions

    I don't see similar failures before this merge: 22b0de2

  3. Fidget-Spinner commented on Jun 27, 2024

    @Fidget-Spinner
    Fidget-Spinner
    on Jun 27, 2024
    Member
    More actions

    @skirpichev @sobolevn that test is flaky. for example, after 22b0de2, 6f7acaa passed perfectly fine.

  4. Fidget-Spinner commented on Jun 27, 2024

    @Fidget-Spinner
    Fidget-Spinner
    on Jun 27, 2024
    Member
    More actions

    Another example: #121083 came after that commit, and still passes that test.

  5. vstinner commented on Jun 27, 2024

    @vstinner
    vstinner
    on Jun 27, 2024
    Member
    More actions

    Maybe we can reduce the number of signals sent, or increase the recursion limit.

  6. colesbury commented on Jun 27, 2024

    @colesbury
    colesbury
    on Jun 27, 2024
    Contributor
    More actions

    Let's disable the test for now and then investigate the root cause.

  7. colesbury
    added 2 commits that reference this issue on Jun 27, 2024

    pythongh-121065: Temporarily skip flaky test on free-threaded build

    70bbf64

    gh-121065: Temporarily skip flaky test on free-threaded build (#121100)

    4a62a33
  8. mrahtz
    added a commit that references this issue on Jun 30, 2024

    pythongh-121065: Temporarily skip flaky test on free-threaded build (p…

    06fd901
  9. estyxx
    added a commit that references this issue on Jul 17, 2024

    pythongh-121065: Temporarily skip flaky test on free-threaded build (p…

    6534d15
  10. kumaraditya303
    marked 3.13.0b1 freethreading-debug build: flaky test_signal.test_stress_modifying_handlers on s390x (RecursionError) #118989 as a duplicate of this issue on May 17, 2025
  11. befeleme commented on Jan 16, 2026

    @befeleme
    befeleme
    on Jan 16, 2026
    Contributor
    More actions

    We have experienced this issue in Fedora Linux in the past, but haven't seen this happening in Python 3.15.0~a2, a3 or a5.

  12. vstinner commented on Jan 19, 2026

    @vstinner
    vstinner
    on Jan 19, 2026
    Member
    More actions

    The test is skipped on Free Threaded builds for 1 year 1/2.

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 dirTests in the Lib/test dirtopic-free-threadingtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.