Skip to content

Conversation

@freakboy3742
Copy link
Contributor

@freakboy3742 freakboy3742 commented Oct 29, 2025

On GitHub Actions, it appears that the UnixDatagramServer tests are unstable on the iOS simulator.

This test has been running successfully on the buildbot for months; I think I've seen one failure in the last 6 months that might be the same cause.

I can't reproduce the failure locally. But it appears that on GitHub Actions, the test fails regularly. I have spent the day trying to work out why, without a whole lot of success - mostly because it can only be replicated on GitHub Actions. And given the problems that GitHub have been having with the macOS-15 runners for the last couple of months, it doesn't seem out of the question that there may be systemic problems with the platform that will be resolved with time.

This PR skips the 2 affected tests, but only on iOS simulator, when running on GitHub Actions. It exposes the GITHUB_ACTIONS variable to the running iOS app environment to make this possible.

I don't like this fix; but at this point, it seems the pragmatic option. The underlying test will still run on buildbots, and on individual tests.

Co-authored-by: Hugo van Kemenade <[email protected]>
@freakboy3742 freakboy3742 enabled auto-merge (squash) October 29, 2025 08:11
@freakboy3742 freakboy3742 merged commit 9f8d005 into python:main Oct 29, 2025
46 checks passed
@freakboy3742 freakboy3742 deleted the ios-datagram-workaround branch October 29, 2025 08:33
@miss-islington-app
Copy link

Thanks @freakboy3742 for the PR 🌮🎉.. I'm working now to backport this PR to: 3.14.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 29, 2025
… Github Actions (pythonGH-140740)

Exposes the GITHUB_ACTIONS environment variable to iOS simulator test runs, and
uses this variable to skip a Unix Datagram socketserver test that is unreliable
in the iOS GitHub Actions environment.
(cherry picked from commit 9f8d005)

Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Hugo van Kemenade <[email protected]>
@bedevere-app
Copy link

bedevere-app bot commented Oct 29, 2025

GH-140742 is a backport of this pull request to the 3.14 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.14 bugs and security fixes label Oct 29, 2025
freakboy3742 added a commit that referenced this pull request Oct 29, 2025
…n Github Actions (GH-140740) (#140742)

Exposes the GITHUB_ACTIONS environment variable to iOS simulator test runs, and
uses this variable to skip a Unix Datagram socketserver test that is unreliable
in the iOS GitHub Actions environment.
(cherry picked from commit 9f8d005)

Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Hugo van Kemenade <[email protected]>
@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot ARM64 Raspbian 3.x (tier-3) has failed when building commit 9f8d005.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/#/builders/1678/builds/1154) and take a look at the build logs.
  4. Check if the failure is related to this commit (9f8d005) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/#/builders/1678/builds/1154

Failed tests:

  • test_urllib2net

Summary of the results of the build (if available):

==

Click to see traceback logs
remote: Enumerating objects: 19, done.        
remote: Counting objects:  11% (1/9)        
remote: Counting objects:  22% (2/9)        
remote: Counting objects:  33% (3/9)        
remote: Counting objects:  44% (4/9)        
remote: Counting objects:  55% (5/9)        
remote: Counting objects:  66% (6/9)        
remote: Counting objects:  77% (7/9)        
remote: Counting objects:  88% (8/9)        
remote: Counting objects: 100% (9/9)        
remote: Counting objects: 100% (9/9), done.        
remote: Compressing objects:  16% (1/6)        
remote: Compressing objects:  33% (2/6)        
remote: Compressing objects:  50% (3/6)        
remote: Compressing objects:  66% (4/6)        
remote: Compressing objects:  83% (5/6)        
remote: Compressing objects: 100% (6/6)        
remote: Compressing objects: 100% (6/6), done.        
remote: Total 19 (delta 3), reused 4 (delta 3), pack-reused 10 (from 1)        
From https://github.com/python/cpython
 * branch                    main       -> FETCH_HEAD
Note: switching to '9f8d005d2961777aa533ec330f96b50324a3446f'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 9f8d005d296 gh-140702: Add test skip for Unix Datagram tests on iOS when on Github Actions (#140740)
Switched to and reset branch 'main'

configure: WARNING: no system libmpdec found; falling back to pure-Python version for the decimal module

Python/ceval.c: In function '_PyEvalFramePushAndInit_Ex':
Python/ceval.c:1940:38: warning: 'stack_array' may be used uninitialized [-Wmaybe-uninitialized]
 1940 |     _PyInterpreterFrame *new_frame = _PyEvalFramePushAndInit(
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~
 1941 |         tstate, func, locals,
      |         ~~~~~~~~~~~~~~~~~~~~~         
 1942 |         newargs, nargs, kwnames, previous
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1943 |     );
      |     ~                                 
Python/ceval.c:1863:1: note: by argument 4 of type 'const _PyStackRef *' to '_PyEvalFramePushAndInit' declared here
 1863 | _PyEvalFramePushAndInit(PyThreadState *tstate, _PyStackRef func,
      | ^~~~~~~~~~~~~~~~~~~~~~~
Python/ceval.c:1909:17: note: 'stack_array' declared here
 1909 |     _PyStackRef stack_array[8];
      |                 ^~~~~~~~~~~

make: *** [Makefile:2495: buildbottest] Error 2

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants