Skip to content

Conversation

@nirs
Copy link
Contributor

@nirsnirs commented Jul 13, 2022

When binding a unix socket to an empty address on Linux, the socket is
automatically bound to an available address in the abstract namespace.

>>> s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) >>> s.bind("") >>> s.getsockname() b'\x0075499' 

Since python 3.9, the socket is bound to the one address:

>>> s.getsockname() b'\x00' 

And trying to bind multiple sockets will fail with:

Traceback (most recent call last): File "/home/nsoffer/src/cpython/Lib/test/test_socket.py", line 5553, in testAutobind s2.bind("") OSError: [Errno 98] Address already in use 

Added 2 tests:

  • Auto binding empty address on Linux
  • Failing to bind an empty address on other platforms

Fixes f6b3a07 (bpo-44493: Add missing terminated NUL in sockaddr_un's length (GH-26866)

When binding a unix socket to an empty address on Linux, the socket is automatically bound to an available address in the abstract namespace. >>> s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) >>> s.bind("") >>> s.getsockname() b'\x0075499' Since python 3.9, the socket is bound to the one address: >>> s.getsockname() b'\x00' And trying to bind multiple sockets will fail with: Traceback (most recent call last): File "/home/nsoffer/src/cpython/Lib/test/test_socket.py", line 5553, in testAutobind s2.bind("") OSError: [Errno 98] Address already in use Added 2 tests: - Auto binding empty address on Linux - Failing to bind an empty address on other platforms Fixes f6b3a07 (bpo-44493: Add missing terminated NUL in sockaddr_un's length (pythonGH-26866)
- Simplify condition since path.len always >= 0 - Make it more clear why we bind to "" twice - Match abstract address pattern - Test that sockets are bound to different addresses
Copy link
Member

@serhiy-storchakaserhiy-storchaka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@serhiy-storchakaserhiy-storchaka merged commit c22f134 into python:mainJul 15, 2022
@serhiy-storchakaserhiy-storchaka added type-bug An unexpected behavior, bug, or error needs backport to 3.9 needs backport to 3.10 only security fixes needs backport to 3.11 only security fixes labels Jul 15, 2022
@miss-islington
Copy link
Contributor

Thanks @nirs for the PR, and @serhiy-storchaka for merging it 🌮🎉.. I'm working now to backport this PR to: 3.11.
🐍🍒⛏🤖

@miss-islington
Copy link
Contributor

Thanks @nirs for the PR, and @serhiy-storchaka for merging it 🌮🎉.. I'm working now to backport this PR to: 3.10.
🐍🍒⛏🤖

@miss-islington
Copy link
Contributor

Thanks @nirs for the PR, and @serhiy-storchaka for merging it 🌮🎉.. I'm working now to backport this PR to: 3.9.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jul 15, 2022
…4826) When binding a unix socket to an empty address on Linux, the socket is automatically bound to an available address in the abstract namespace. >>> s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) >>> s.bind("") >>> s.getsockname() b'\x0075499' Since python 3.9, the socket is bound to the one address: >>> s.getsockname() b'\x00' And trying to bind multiple sockets will fail with: Traceback (most recent call last): File "/home/nsoffer/src/cpython/Lib/test/test_socket.py", line 5553, in testAutobind s2.bind("") OSError: [Errno 98] Address already in use Added 2 tests: - Auto binding empty address on Linux - Failing to bind an empty address on other platforms Fixes f6b3a07 (bpo-44493: Add missing terminated NUL in sockaddr_un's length (pythonGH-26866) (cherry picked from commit c22f134) Co-authored-by: Nir Soffer <[email protected]>
@bedevere-bot
Copy link

GH-94873 is a backport of this pull request to the 3.11 branch.

@bedevere-botbedevere-bot removed the needs backport to 3.11 only security fixes label Jul 15, 2022
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jul 15, 2022
…4826) When binding a unix socket to an empty address on Linux, the socket is automatically bound to an available address in the abstract namespace. >>> s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) >>> s.bind("") >>> s.getsockname() b'\x0075499' Since python 3.9, the socket is bound to the one address: >>> s.getsockname() b'\x00' And trying to bind multiple sockets will fail with: Traceback (most recent call last): File "/home/nsoffer/src/cpython/Lib/test/test_socket.py", line 5553, in testAutobind s2.bind("") OSError: [Errno 98] Address already in use Added 2 tests: - Auto binding empty address on Linux - Failing to bind an empty address on other platforms Fixes f6b3a07 (bpo-44493: Add missing terminated NUL in sockaddr_un's length (pythonGH-26866) (cherry picked from commit c22f134) Co-authored-by: Nir Soffer <[email protected]>
@bedevere-botbedevere-bot removed the needs backport to 3.10 only security fixes label Jul 15, 2022
@bedevere-bot
Copy link

GH-94874 is a backport of this pull request to the 3.10 branch.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jul 15, 2022
…4826) When binding a unix socket to an empty address on Linux, the socket is automatically bound to an available address in the abstract namespace. >>> s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) >>> s.bind("") >>> s.getsockname() b'\x0075499' Since python 3.9, the socket is bound to the one address: >>> s.getsockname() b'\x00' And trying to bind multiple sockets will fail with: Traceback (most recent call last): File "/home/nsoffer/src/cpython/Lib/test/test_socket.py", line 5553, in testAutobind s2.bind("") OSError: [Errno 98] Address already in use Added 2 tests: - Auto binding empty address on Linux - Failing to bind an empty address on other platforms Fixes f6b3a07 (bpo-44493: Add missing terminated NUL in sockaddr_un's length (pythonGH-26866) (cherry picked from commit c22f134) Co-authored-by: Nir Soffer <[email protected]>
@bedevere-bot
Copy link

GH-94875 is a backport of this pull request to the 3.9 branch.

@nirsnirs deleted the unix-abstract-fix branch July 15, 2022 08:41
miss-islington added a commit that referenced this pull request Jul 17, 2022
When binding a unix socket to an empty address on Linux, the socket is automatically bound to an available address in the abstract namespace. >>> s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) >>> s.bind("") >>> s.getsockname() b'\x0075499' Since python 3.9, the socket is bound to the one address: >>> s.getsockname() b'\x00' And trying to bind multiple sockets will fail with: Traceback (most recent call last): File "/home/nsoffer/src/cpython/Lib/test/test_socket.py", line 5553, in testAutobind s2.bind("") OSError: [Errno 98] Address already in use Added 2 tests: - Auto binding empty address on Linux - Failing to bind an empty address on other platforms Fixes f6b3a07 (bpo-44493: Add missing terminated NUL in sockaddr_un's length (GH-26866) (cherry picked from commit c22f134) Co-authored-by: Nir Soffer <[email protected]>
miss-islington added a commit that referenced this pull request Jul 17, 2022
When binding a unix socket to an empty address on Linux, the socket is automatically bound to an available address in the abstract namespace. >>> s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) >>> s.bind("") >>> s.getsockname() b'\x0075499' Since python 3.9, the socket is bound to the one address: >>> s.getsockname() b'\x00' And trying to bind multiple sockets will fail with: Traceback (most recent call last): File "/home/nsoffer/src/cpython/Lib/test/test_socket.py", line 5553, in testAutobind s2.bind("") OSError: [Errno 98] Address already in use Added 2 tests: - Auto binding empty address on Linux - Failing to bind an empty address on other platforms Fixes f6b3a07 (bpo-44493: Add missing terminated NUL in sockaddr_un's length (GH-26866) (cherry picked from commit c22f134) Co-authored-by: Nir Soffer <[email protected]>
ambv pushed a commit that referenced this pull request Jul 26, 2022
) When binding a unix socket to an empty address on Linux, the socket is automatically bound to an available address in the abstract namespace. >>> s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) >>> s.bind("") >>> s.getsockname() b'\x0075499' Since python 3.9, the socket is bound to the one address: >>> s.getsockname() b'\x00' And trying to bind multiple sockets will fail with: Traceback (most recent call last): File "/home/nsoffer/src/cpython/Lib/test/test_socket.py", line 5553, in testAutobind s2.bind("") OSError: [Errno 98] Address already in use Added 2 tests: - Auto binding empty address on Linux - Failing to bind an empty address on other platforms Fixes f6b3a07 (bpo-44493: Add missing terminated NUL in sockaddr_un's length (GH-26866) (cherry picked from commit c22f134) Co-authored-by: Nir Soffer <[email protected]>
@bedevere-bot
Copy link

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

Hi! The buildbot AMD64 Debian root 3.9 has failed when building commit cd0a59f.

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/all/#builders/429/builds/588) and take a look at the build logs.
  4. Check if the failure is related to this commit (cd0a59f) 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/all/#builders/429/builds/588

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

Click to see traceback logs
remote: Enumerating objects: 2346, done. remote: Counting objects: 0% (1/1359) remote: Counting objects: 1% (14/1359) remote: Counting objects: 2% (28/1359) remote: Counting objects: 3% (41/1359) remote: Counting objects: 4% (55/1359) remote: Counting objects: 5% (68/1359) remote: Counting objects: 6% (82/1359) remote: Counting objects: 7% (96/1359) remote: Counting objects: 8% (109/1359) remote: Counting objects: 9% (123/1359) remote: Counting objects: 10% (136/1359) remote: Counting objects: 11% (150/1359) remote: Counting objects: 12% (164/1359) remote: Counting objects: 13% (177/1359) remote: Counting objects: 14% (191/1359) remote: Counting objects: 15% (204/1359) remote: Counting objects: 16% (218/1359) remote: Counting objects: 17% (232/1359) remote: Counting objects: 18% (245/1359) remote: Counting objects: 19% (259/1359) remote: Counting objects: 20% (272/1359) remote: Counting objects: 21% (286/1359) remote: Counting objects: 22% (299/1359) remote: Counting objects: 23% (313/1359) remote: Counting objects: 24% (327/1359) remote: Counting objects: 25% (340/1359) remote: Counting objects: 26% (354/1359) remote: Counting objects: 27% (367/1359) remote: Counting objects: 28% (381/1359) remote: Counting objects: 29% (395/1359) remote: Counting objects: 30% (408/1359) remote: Counting objects: 31% (422/1359) remote: Counting objects: 32% (435/1359) remote: Counting objects: 33% (449/1359) remote: Counting objects: 34% (463/1359) remote: Counting objects: 35% (476/1359) remote: Counting objects: 36% (490/1359) remote: Counting objects: 37% (503/1359) remote: Counting objects: 38% (517/1359) remote: Counting objects: 39% (531/1359) remote: Counting objects: 40% (544/1359) remote: Counting objects: 41% (558/1359) remote: Counting objects: 42% (571/1359) remote: Counting objects: 43% (585/1359) remote: Counting objects: 44% (598/1359) remote: Counting objects: 45% (612/1359) remote: Counting objects: 46% (626/1359) remote: Counting objects: 47% (639/1359) remote: Counting objects: 48% (653/1359) remote: Counting objects: 49% (666/1359) remote: Counting objects: 50% (680/1359) remote: Counting objects: 51% (694/1359) remote: Counting objects: 52% (707/1359) remote: Counting objects: 53% (721/1359) remote: Counting objects: 54% (734/1359) remote: Counting objects: 55% (748/1359) remote: Counting objects: 56% (762/1359) remote: Counting objects: 57% (775/1359) remote: Counting objects: 58% (789/1359) remote: Counting objects: 59% (802/1359) remote: Counting objects: 60% (816/1359) remote: Counting objects: 61% (829/1359) remote: Counting objects: 62% (843/1359) remote: Counting objects: 63% (857/1359) remote: Counting objects: 64% (870/1359) remote: Counting objects: 65% (884/1359) remote: Counting objects: 66% (897/1359) remote: Counting objects: 67% (911/1359) remote: Counting objects: 68% (925/1359) remote: Counting objects: 69% (938/1359) remote: Counting objects: 70% (952/1359) remote: Counting objects: 71% (965/1359) remote: Counting objects: 72% (979/1359) remote: Counting objects: 73% (993/1359) remote: Counting objects: 74% (1006/1359) remote: Counting objects: 75% (1020/1359) remote: Counting objects: 76% (1033/1359) remote: Counting objects: 77% (1047/1359) remote: Counting objects: 78% (1061/1359) remote: Counting objects: 79% (1074/1359) remote: Counting objects: 80% (1088/1359) remote: Counting objects: 81% (1101/1359) remote: Counting objects: 82% (1115/1359) remote: Counting objects: 83% (1128/1359) remote: Counting objects: 84% (1142/1359) remote: Counting objects: 85% (1156/1359) remote: Counting objects: 86% (1169/1359) remote: Counting objects: 87% (1183/1359) remote: Counting objects: 88% (1196/1359) remote: Counting objects: 89% (1210/1359) remote: Counting objects: 90% (1224/1359) remote: Counting objects: 91% (1237/1359) remote: Counting objects: 92% (1251/1359) remote: Counting objects: 93% (1264/1359) remote: Counting objects: 94% (1278/1359) remote: Counting objects: 95% (1292/1359) remote: Counting objects: 96% (1305/1359) remote: Counting objects: 97% (1319/1359) remote: Counting objects: 98% (1332/1359) remote: Counting objects: 99% (1346/1359) remote: Counting objects: 100% (1359/1359) remote: Counting objects: 100% (1359/1359), done.  Receiving objects: 0% (1/2346) Receiving objects: 1% (24/2346) Receiving objects: 2% (47/2346) Receiving objects: 3% (71/2346) Receiving objects: 4% (94/2346) Receiving objects: 5% (118/2346) Receiving objects: 6% (141/2346) Receiving objects: 7% (165/2346) Receiving objects: 8% (188/2346) Receiving objects: 9% (212/2346) Receiving objects: 10% (235/2346) Receiving objects: 11% (259/2346) Receiving objects: 12% (282/2346) Receiving objects: 13% (305/2346) Receiving objects: 14% (329/2346) Receiving objects: 15% (352/2346) Receiving objects: 16% (376/2346) Receiving objects: 17% (399/2346) Receiving objects: 18% (423/2346) Receiving objects: 19% (446/2346) Receiving objects: 20% (470/2346) Receiving objects: 21% (493/2346) Receiving objects: 22% (517/2346) Receiving objects: 23% (540/2346) Receiving objects: 24% (564/2346) Receiving objects: 25% (587/2346) Receiving objects: 26% (610/2346) Receiving objects: 27% (634/2346) Receiving objects: 28% (657/2346) Receiving objects: 29% (681/2346) Receiving objects: 30% (704/2346) Receiving objects: 31% (728/2346) Receiving objects: 32% (751/2346) Receiving objects: 33% (775/2346) Receiving objects: 34% (798/2346) Receiving objects: 35% (822/2346) Receiving objects: 36% (845/2346) Receiving objects: 37% (869/2346) Receiving objects: 38% (892/2346) Receiving objects: 39% (915/2346) Receiving objects: 40% (939/2346) Receiving objects: 41% (962/2346) Receiving objects: 42% (986/2346) Receiving objects: 43% (1009/2346) Receiving objects: 44% (1033/2346) Receiving objects: 45% (1056/2346) Receiving objects: 46% (1080/2346) Receiving objects: 47% (1103/2346) Receiving objects: 48% (1127/2346) Receiving objects: 49% (1150/2346) Receiving objects: 50% (1173/2346) Receiving objects: 51% (1197/2346) Receiving objects: 52% (1220/2346) Receiving objects: 53% (1244/2346) Receiving objects: 54% (1267/2346) Receiving objects: 55% (1291/2346) Receiving objects: 56% (1314/2346) Receiving objects: 57% (1338/2346) Receiving objects: 58% (1361/2346) Receiving objects: 59% (1385/2346) Receiving objects: 60% (1408/2346) Receiving objects: 61% (1432/2346) Receiving objects: 62% (1455/2346) Receiving objects: 63% (1478/2346) Receiving objects: 64% (1502/2346) Receiving objects: 65% (1525/2346) Receiving objects: 66% (1549/2346) Receiving objects: 67% (1572/2346) Receiving objects: 68% (1596/2346) Receiving objects: 69% (1619/2346) Receiving objects: 70% (1643/2346) Receiving objects: 71% (1666/2346) Receiving objects: 72% (1690/2346) Receiving objects: 73% (1713/2346) Receiving objects: 74% (1737/2346) Receiving objects: 75% (1760/2346) Receiving objects: 76% (1783/2346) Receiving objects: 77% (1807/2346) Receiving objects: 78% (1830/2346) Receiving objects: 79% (1854/2346) Receiving objects: 80% (1877/2346) Receiving objects: 81% (1901/2346) Receiving objects: 82% (1924/2346) Receiving objects: 83% (1948/2346) Receiving objects: 84% (1971/2346) Receiving objects: 85% (1995/2346) Receiving objects: 86% (2018/2346) Receiving objects: 87% (2042/2346) Receiving objects: 88% (2065/2346) Receiving objects: 89% (2088/2346) Receiving objects: 90% (2112/2346) Receiving objects: 91% (2135/2346) Receiving objects: 92% (2159/2346) Receiving objects: 93% (2182/2346) Receiving objects: 94% (2206/2346) Receiving objects: 95% (2229/2346), 2.68 MiB | 5.36 MiB/s Receiving objects: 96% (2253/2346), 2.68 MiB | 5.36 MiB/s Receiving objects: 97% (2276/2346), 2.68 MiB | 5.36 MiB/s Receiving objects: 98% (2300/2346), 2.68 MiB | 5.36 MiB/s Receiving objects: 99% (2323/2346), 2.68 MiB | 5.36 MiB/s remote: Total 2346 (delta 1358), reused 1358 (delta 1358), pack-reused 987  Receiving objects: 100% (2346/2346), 2.68 MiB | 5.36 MiB/s Receiving objects: 100% (2346/2346), 3.78 MiB | 5.57 MiB/s, done. Resolving deltas: 0% (0/1808) Resolving deltas: 1% (19/1808) Resolving deltas: 2% (37/1808) Resolving deltas: 3% (55/1808) Resolving deltas: 4% (73/1808) Resolving deltas: 5% (91/1808) Resolving deltas: 6% (109/1808) Resolving deltas: 7% (127/1808) Resolving deltas: 8% (145/1808) Resolving deltas: 9% (163/1808) Resolving deltas: 10% (181/1808) Resolving deltas: 11% (199/1808) Resolving deltas: 12% (217/1808) Resolving deltas: 13% (236/1808) Resolving deltas: 14% (254/1808) Resolving deltas: 15% (272/1808) Resolving deltas: 16% (290/1808) Resolving deltas: 17% (308/1808) Resolving deltas: 18% (326/1808) Resolving deltas: 19% (344/1808) Resolving deltas: 20% (362/1808) Resolving deltas: 21% (380/1808) Resolving deltas: 22% (398/1808) Resolving deltas: 23% (416/1808) Resolving deltas: 24% (434/1808) Resolving deltas: 25% (452/1808) Resolving deltas: 26% (471/1808) Resolving deltas: 27% (489/1808) Resolving deltas: 28% (507/1808) Resolving deltas: 29% (525/1808) Resolving deltas: 30% (543/1808) Resolving deltas: 31% (561/1808) Resolving deltas: 32% (579/1808) Resolving deltas: 33% (597/1808) Resolving deltas: 34% (615/1808) Resolving deltas: 35% (633/1808) Resolving deltas: 36% (651/1808) Resolving deltas: 37% (669/1808) Resolving deltas: 38% (688/1808) Resolving deltas: 39% (706/1808) Resolving deltas: 40% (724/1808) Resolving deltas: 41% (742/1808) Resolving deltas: 42% (760/1808) Resolving deltas: 43% (778/1808) Resolving deltas: 44% (796/1808) Resolving deltas: 45% (814/1808) Resolving deltas: 46% (832/1808) Resolving deltas: 47% (850/1808) Resolving deltas: 48% (868/1808) Resolving deltas: 49% (886/1808) Resolving deltas: 50% (904/1808) Resolving deltas: 51% (923/1808) Resolving deltas: 52% (941/1808) Resolving deltas: 53% (959/1808) Resolving deltas: 54% (977/1808) Resolving deltas: 55% (995/1808) Resolving deltas: 56% (1013/1808) Resolving deltas: 57% (1031/1808) Resolving deltas: 58% (1049/1808) Resolving deltas: 59% (1067/1808) Resolving deltas: 60% (1085/1808) Resolving deltas: 61% (1103/1808) Resolving deltas: 62% (1121/1808) Resolving deltas: 63% (1140/1808) Resolving deltas: 64% (1158/1808) Resolving deltas: 65% (1176/1808) Resolving deltas: 66% (1194/1808) Resolving deltas: 67% (1212/1808) Resolving deltas: 68% (1230/1808) Resolving deltas: 69% (1248/1808) Resolving deltas: 70% (1266/1808) Resolving deltas: 71% (1284/1808) Resolving deltas: 72% (1302/1808) Resolving deltas: 73% (1320/1808) Resolving deltas: 73% (1329/1808) Resolving deltas: 74% (1338/1808) Resolving deltas: 75% (1356/1808) Resolving deltas: 76% (1375/1808) Resolving deltas: 77% (1393/1808) Resolving deltas: 78% (1411/1808) Resolving deltas: 79% (1429/1808) Resolving deltas: 80% (1447/1808) Resolving deltas: 81% (1465/1808) Resolving deltas: 81% (1473/1808) Resolving deltas: 82% (1483/1808) Resolving deltas: 83% (1501/1808) Resolving deltas: 84% (1519/1808) Resolving deltas: 85% (1537/1808) Resolving deltas: 86% (1555/1808) Resolving deltas: 87% (1573/1808) Resolving deltas: 88% (1592/1808) Resolving deltas: 89% (1610/1808) Resolving deltas: 90% (1628/1808) Resolving deltas: 90% (1642/1808) Resolving deltas: 91% (1646/1808) Resolving deltas: 92% (1664/1808) Resolving deltas: 93% (1682/1808) Resolving deltas: 94% (1700/1808) Resolving deltas: 95% (1718/1808) Resolving deltas: 96% (1736/1808) Resolving deltas: 97% (1754/1808) Resolving deltas: 98% (1772/1808) Resolving deltas: 99% (1790/1808) Resolving deltas: 100% (1808/1808) Resolving deltas: 100% (1808/1808), completed with 479 local objects. From https://github.com/python/cpython * branch 3.9 -> FETCH_HEAD * [new tag] v3.11.0b4 -> v3.11.0b4 Note: switching to 'cd0a59f1fa32fc1e4730c52c761f4d0190833587'. 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 cd0a59f1fa gh-94821: Fix autobind of empty unix domain address (GH-94826) (GH-94875) Switched to and reset branch '3.9' Python/ast_unparse.c: In function ‘append_ast_boolop’: Python/ast_unparse.c:136:1: internal compiler error: Segmentation fault 136 | } |^ Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-10/README.Bugs> for instructions. make: *** [Makefile:1802: Python/ast_unparse.o] Error 1find: ‘build’: No such file or directoryfind: ‘build’: No such file or directoryfind: ‘build’: No such file or directoryfind: ‘build’: No such file or directorymake: [Makefile:1875: clean-retain-profile] Error 1 (ignored)

@bedevere-bot
Copy link

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

Hi! The buildbot AMD64 FreeBSD Shared 3.9 has failed when building commit cd0a59f.

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/all/#builders/151/builds/587) and take a look at the build logs.
  4. Check if the failure is related to this commit (cd0a59f) 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/all/#builders/151/builds/587

Failed tests:

  • test_multiprocessing_fork
  • test_ssl

Failed subtests:

  • test_session_stats - test.test_ssl.ContextTests
  • test_constructor - test.test_ssl.ContextTests
  • test_notify - test.test_multiprocessing_fork.WithThreadsTestCondition
  • test_protocol - test.test_ssl.ContextTests
  • test__create_stdlib_context - test.test_ssl.ContextTests
  • test_min_max_version - test.test_ssl.ContextTests

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

== Tests result: FAILURE then FAILURE ==

406 tests OK.

10 slowest tests:

  • test_multiprocessing_spawn: 7 min 39 sec
  • test_tokenize: 7 min 29 sec
  • test_unparse: 6 min 50 sec
  • test_lib2to3: 4 min 58 sec
  • test_concurrent_futures: 4 min 47 sec
  • test_multiprocessing_forkserver: 4 min 21 sec
  • test_gdb: 4 min 2 sec
  • test_unicodedata: 3 min 35 sec
  • test_asyncio: 3 min 17 sec
  • test_capi: 2 min 54 sec

1 test failed:
test_ssl

18 tests skipped:
test_dbm_gnu test_devpoll test_epoll test_idle test_ioctl
test_msilib test_spwd test_startfile test_tcl test_tix test_tk
test_ttk_guionly test_ttk_textonly test_turtle test_winconsoleio
test_winreg test_winsound test_zipfile64

2 re-run tests:
test_multiprocessing_fork test_ssl

Total duration: 30 min 45 sec

Click to see traceback logs
Traceback (most recent call last): File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/test/test_ssl.py", line 1282, in test_min_max_versionself.assertIn( AssertionError: <TLSVersion.TLSv1_1: 770> not found in{<TLSVersion.SSLv3: 768>, <TLSVersion.TLSv1: 769>} Traceback (most recent call last): File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/test/test_ssl.py", line 1695, in test__create_stdlib_context ctx = ssl._create_stdlib_context(ssl.PROTOCOL_TLSv1) File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/ssl.py", line 776, in _create_unverified_context context = SSLContext(protocol) File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/ssl.py", line 484, in __new__self= _SSLContext.__new__(cls, protocol) ValueError: invalid or unsupported protocol version Traceback (most recent call last): File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/test/test_ssl.py", line 253, in wrapperreturn func(*args, **kw) File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/test/test_ssl.py", line 3414, in test_protocol_tlsv1_2 try_protocol_combo(ssl.PROTOCOL_TLSv1_2, ssl.PROTOCOL_TLSv1, False) File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/test/test_ssl.py", line 2809, in try_protocol_combo client_context = ssl.SSLContext(client_protocol) File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/ssl.py", line 484, in __new__self= _SSLContext.__new__(cls, protocol) ValueError: invalid or unsupported protocol version Traceback (most recent call last): File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/test/_test_multiprocessing.py", line 1383, in test_notifyself.assertReturnsIfImplemented(2, get_value, woken) File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/test/_test_multiprocessing.py", line 199, in assertReturnsIfImplementedreturnself.assertEqual(value, res) AssertionError: 2 != 1 Traceback (most recent call last): File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/test/test_ssl.py", line 1511, in test_session_stats ctx = ssl.SSLContext(proto) File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/ssl.py", line 484, in __new__self= _SSLContext.__new__(cls, protocol) ValueError: invalid or unsupported protocol version Traceback (most recent call last): File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/test/test_ssl.py", line 1140, in test_protocol ctx = ssl.SSLContext(proto) File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/ssl.py", line 484, in __new__self= _SSLContext.__new__(cls, protocol) ValueError: invalid or unsupported protocol version Traceback (most recent call last): File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/test/test_ssl.py", line 1132, in test_constructor ssl.SSLContext(protocol) File "/usr/home/buildbot/python/3.9.koobs-freebsd-564d/build/Lib/ssl.py", line 484, in __new__self= _SSLContext.__new__(cls, protocol) ValueError: invalid or unsupported protocol version

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

Labels

type-bugAn unexpected behavior, bug, or error

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@nirs@miss-islington@bedevere-bot@serhiy-storchaka