Skip to content

Python interpreter sometimes crashes when a pytest test access socket.getfqdn or socket.getaddrinfo on MacOS #136385

Open
@anze3db

Description

@anze3db

Crash report

What happened?

We have a Django app and run tests using pytest. Once every ~20 runs the Python interpreter crashes with Fatal Python error: Aborted. The Python interpreter crashes when trying to access socket.getfqdn or socket.getaddrinfo functions.

This only seems to happen on MacOS and we haven't seen this failure when running the same test suite on Linux (GitHub Actions).

I've also tried to isolate the problem but wasn't able to reproduce the issue by having a simple program that calls getfqdn directly with or without pytest.

Here is a stack trace when getaddrinfo crashes:

apps/integrations/render/tests/test_views.py .........Fatal Python error: Aborted

Current thread 0x000000020bac9f00 (most recent call first):
  File "/opt/homebrew/Cellar/python@3.13/3.13.5/Frameworks/Python.framework/Versions/3.13/lib/python3.13/socket.py", line 977 in getaddrinfo
  File "/opt/homebrew/Cellar/python@3.13/3.13.5/Frameworks/Python.framework/Versions/3.13/lib/python3.13/socket.py", line 840 in create_connection
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/httpcore/_backends/sync.py", line 208 in connect_tcp
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/httpcore/_sync/connection.py", line 124 in _connect
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/httpcore/_sync/connection.py", line 78 in handle_request
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/httpcore/_sync/connection_pool.py", line 236 in handle_request
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/httpx/_transports/default.py", line 250 in handle_request
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/httpx/_client.py", line 1014 in _send_single_request
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/httpx/_client.py", line 979 in _send_handling_redirects
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/httpx/_client.py", line 942 in _send_handling_auth
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/httpx/_client.py", line 914 in send
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/httpx/_client.py", line 825 in request
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/httpx/_api.py", line 109 in request
  File "/Users/nejcambrozic/code/app/apps/integrations/render/client.py", line 57 in request
  File "/Users/nejcambrozic/code/app/.venv/lib/python3.13/site-packages/stamina/_core.py", line 756 in sync_inner
  File "/Users/nejcambrozic/code/app/apps/integrations/render/views.py", line 22 in fetch_workspace_data
  File "/Users/nejcambrozic/code/app/apps/integrations/render/views.py", line 62 in get_workspace_choices
  File "/Users/nejcambrozic/code/app/apps/integrations/render/views.py", line 57 in __init__
  File "/Users/nejcambrozic/code/app/apps/integrations/render/views.py", line 115 in edit
  File "/Users/nejcambrozic/code/app/apps/organizations/decorators.py", line 38 in _inner

Here is a stack trace example when getfqdn crashed:

apps/organizations/tests/test_organizations_middleware.py ....Fatal Python error: Aborted

Current thread 0x000000020a5b1f00 (most recent call first):
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/socket.py", line 807 in getfqdn
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/mail/utils.py", line 18 in get_fqdn
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/mail/utils.py", line 14 in __str__
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/email/utils.py", line 311 in make_msgid
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/mail/message.py", line 287 in message
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/mail/backends/locmem.py", line 30 in send_messages
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/mail/message.py", line 307 in send
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/mail/__init__.py", line 92 in send_mail
  File "/Users/anzepecar/watchpointlabs/app/apps/organizations/invitations.py", line 16 in send_invitation
  File "/Users/anzepecar/watchpointlabs/app/apps/organizations/views/manage_organization_views.py", line 127 in resend_invitation
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/views/decorators/http.py", line 64 in inner
  File "/Users/anzepecar/watchpointlabs/app/apps/organizations/decorators.py", line 38 in _inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/base.py", line 197 in _get_response
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django_browser_reload/middleware.py", line 48 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/zeal/middleware.py", line 22 in middleware
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/watchpoint_labs/middleware.py", line 53 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/auditlog/middleware.py", line 67 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 120 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/watchpoint_labs/middleware.py", line 20 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 120 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 120 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 120 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/apps/web/middleware/htmx.py", line 11 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/apps/web/middleware/locale.py", line 42 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/apps/web/middleware/locale.py", line 17 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 120 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/allauth/usersessions/middleware.py", line 18 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/allauth/account/middleware.py", line 36 in middleware
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django_htmx/middleware.py", line 39 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 120 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 120 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 120 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 120 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 120 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/whitenoise/middleware.py", line 123 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 120 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55 in inner
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/core/handlers/base.py", line 140 in get_response
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/test/client.py", line 186 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/test/client.py", line 1082 in request
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/test/client.py", line 671 in generic
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/test/client.py", line 499 in post
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/test/client.py", line 1153 in post
  File "/Users/anzepecar/watchpointlabs/app/apps/organizations/tests/test_organizations_middleware.py", line 51 in test_organization_admin_view
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/unittest/case.py", line 606 in _callTestMethod
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/unittest/case.py", line 651 in run
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/unittest/case.py", line 707 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/test/testcases.py", line 376 in _setup_and_call
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/django/test/testcases.py", line 321 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pytest_django/plugin.py", line 573 in non_debugging_runtest
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 178 in pytest_runtest_call
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_callers.py", line 121 in _multicall
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 246 in <lambda>
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 344 in from_call
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 245 in call_and_report
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 136 in runtestprotocol
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 117 in pytest_runtest_protocol
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_callers.py", line 121 in _multicall
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/main.py", line 367 in pytest_runtestloop
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_callers.py", line 121 in _multicall
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/main.py", line 343 in _main
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/main.py", line 289 in wrap_session
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/main.py", line 336 in pytest_cmdline_main
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_callers.py", line 121 in _multicall
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512 in __call__
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/config/__init__.py", line 175 in main
  File "/Users/anzepecar/watchpointlabs/app/.venv/lib/python3.13/site-packages/_pytest/config/__init__.py", line 201 in console_main
  File "/Users/anzepecar/watchpointlabs/app/.venv/bin/pytest", line 10 in <module>

Extension modules: _brotli, _time_machine, yaml._yaml, greenlet._greenlet, tornado.speedups, regex._regex, websockets.speedups, psycopg_binary.pq, psycopg_binary._psycopg, _cffi_backend, charset_normalizer.md, snowflake.connector.nanoarrow_arrow_iterator, markupsafe._speedups, multidict._multidict, yarl._quoting_c, propcache._helpers_c, aiohttp._http_writer, aiohttp._http_parser, aiohttp._websocket.mask, aiohttp._websocket.reader_c, frozenlist._frozenlist, fontTools.misc.bezierTools, PIL._imaging, fontTools.varLib.iup, sqlalchemy.cyextension.collections, sqlalchemy.cyextension.immutabledict, sqlalchemy.cyextension.processors, sqlalchemy.cyextension.resultproxy, sqlalchemy.cyextension.util, ujson, asyncpg.pgproto.pgproto, asyncpg.protocol.protocol, maxminddb.extension (total: 33)

I'm also attaching the Problem Details and System Configuration output from the Python quit unexpectedly dialog on MacOS:

problem-details.txt

CPython versions tested on:

3.13

Operating systems tested on:

macOS

Output from running 'python -VV' on the command line:

Python 3.13.5 (v3.13.5:6cb20a219a8, Jun 11 2025, 12:23:45) [Clang 16.0.0 (clang-1600.0.26.6)]

Metadata

Metadata

Assignees

No one assigned

    Labels

    extension-modulesC modules in the Modules dirtype-crashA hard crash of the interpreter, possibly with a core dump

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      pFad - Phonifier reborn

      Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

      Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy