Skip to content

v1.11.3

@erichare erichare tagged this 08 Aug 15:39
Two Group 5 release-CI fixes for the py3.13 freeze-at-98% (run 31235996603,
both retry attempts):

- tests/conftest.py: arm faulthandler.dump_traceback_later(120s, exit=True)
  around each test. pytest-timeout's thread method (timeout=90) needs the GIL
  to fire, so a C-level hang that holds the GIL freezes the worker silently
  until the 50-min step wall; faulthandler's C watchdog needs no GIL, dumps
  every thread's stack, and hard-exits the worker so xdist replaces it and
  --reruns retries the test. The stderr fd is dup'd at pytest_configure time
  because pytest's fd-level capture otherwise swallows the dump (which is why
  the 3.12 thread dumps never reached CI logs). LANGFLOW_TEST_HARD_TIMEOUT=0
  disables it for debugger sessions.

- tests/unit/test_logger.py: module-scoped autouse fixture restoring the
  process-global logging state the module rewires (structlog config, root
  handlers/level, named-logger levels, lfx file-handler global). In every
  observed freeze the wedged worker had just finished this module and hung in
  its next full-app test (test_login.py::
  test_session_endpoint_rejects_expired_external_token).
Assets 2
Loading