Skip to content

Conversation

vstinner
Copy link
Member

Fix ThreadedVSOCKSocketStreamTest: if get_cid() returns the host address or the "any" address, use the local communication address (loopback): VMADDR_CID_LOCAL.

On Linux 6.9, apparently, the /dev/vsock device is now available but get_cid() returns VMADDR_CID_ANY (-1).

@vstinner
Copy link
Member Author

This change should fix two 3.11 buildbots:

  • aarch64 Fedora Stable Refleaks 3.11
  • AMD64 Fedora Stable Refleaks 3.11

See recent failures: #128875 (comment)

@vstinner
Copy link
Member Author

Tests / macOS / build and test (macos-13) (pull_request) Failing after 26s

Oh, the 3.11 branch lacks the brew link fix: I created #129172 for that.

) (python#119479)

pythongh-119461: Fix ThreadedVSOCKSocketStreamTest (python#119465)

Fix ThreadedVSOCKSocketStreamTest: if get_cid() returns the host
address or the "any" address, use the local communication address
(loopback): VMADDR_CID_LOCAL.

On Linux 6.9, apparently, the /dev/vsock device is now available but
get_cid() returns VMADDR_CID_ANY (-1).

(cherry picked from commit e94dbe4)
(cherry picked from commit c750061)
@vstinner
Copy link
Member Author

Oh, the 3.11 branch lacks the brew link fix: I created #129172 for that.

PR rebased on top of this fix.

@vstinner
Copy link
Member Author

@hugovk @pablogsal @ambv: Would you mind to review this change? Yet another fix to the 3.11 stable branch, this time it's a backport for test_socket. It should fix two 3.11 buildbots:

  • aarch64 Fedora Stable Refleaks 3.11
  • AMD64 Fedora Stable Refleaks 3.11

@ambv ambv merged commit 45db419 into python:3.11 Jan 23, 2025
20 checks passed
@encukou encukou added the needs backport to 3.10 only security fixes label Jan 29, 2025
@miss-islington-app
Copy link

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

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jan 29, 2025
…29171)

Fix ThreadedVSOCKSocketStreamTest: if get_cid() returns the host
address or the "any" address, use the local communication address
(loopback): VMADDR_CID_LOCAL.

On Linux 6.9, apparently, the /dev/vsock device is now available but
get_cid() returns VMADDR_CID_ANY (-1).

(cherry picked from commit 45db419)

Co-authored-by: Victor Stinner <vstinner@python.org>
(cherry picked from commit e94dbe4)
(cherry picked from commit c750061)
(cherry picked from commit cbfe302)
@bedevere-app
Copy link

bedevere-app bot commented Jan 29, 2025

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

@bedevere-app bedevere-app bot removed the needs backport to 3.10 only security fixes label Jan 29, 2025
@vstinner vstinner deleted the test_socket_vsock branch February 2, 2025 09:08
pablogsal pushed a commit that referenced this pull request Feb 13, 2025
)

* [3.11] gh-119461: Fix ThreadedVSOCKSocketStreamTest (GH-129171)

Fix ThreadedVSOCKSocketStreamTest: if get_cid() returns the host
address or the "any" address, use the local communication address
(loopback): VMADDR_CID_LOCAL.

On Linux 6.9, apparently, the /dev/vsock device is now available but
get_cid() returns VMADDR_CID_ANY (-1).

(cherry picked from commit 45db419)

Co-authored-by: Victor Stinner <vstinner@python.org>
(cherry picked from commit e94dbe4)
(cherry picked from commit c750061)
(cherry picked from commit cbfe302)

* gh-119461: Restore the testSocket VSOCK skipUnless removed by PR #119465 (#129561)

Restore the skipUnless removed by #119465.

This test can only pass on virtual machines, not actual machines.

actual machines see:

```
    self.cli.connect((cid, VSOCKPORT))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
OSError: [Errno 19] No such device
```

Reproduced on (Linux) Ubuntu 24.04.1 running 6.8.0-52-generic.

---------

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
miss-islington added a commit to miss-islington/cpython that referenced this pull request Feb 13, 2025
…29171) (pythonGH-129440)

* [3.11] pythongh-119461: Fix ThreadedVSOCKSocketStreamTest (pythonGH-129171)

Fix ThreadedVSOCKSocketStreamTest: if get_cid() returns the host
address or the "any" address, use the local communication address
(loopback): VMADDR_CID_LOCAL.

On Linux 6.9, apparently, the /dev/vsock device is now available but
get_cid() returns VMADDR_CID_ANY (-1).

(cherry picked from commit 45db419)

Co-authored-by: Victor Stinner <vstinner@python.org>
(cherry picked from commit e94dbe4)
(cherry picked from commit c750061)
(cherry picked from commit cbfe302)

* pythongh-119461: Restore the testSocket VSOCK skipUnless removed by PR pythonGH-119465 (pythonGH-129561)

Restore the skipUnless removed by pythonGH-119465.

This test can only pass on virtual machines, not actual machines.

actual machines see:

```
    self.cli.connect((cid, VSOCKPORT))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
OSError: [Errno 19] No such device
```

Reproduced on (Linux) Ubuntu 24.04.1 running 6.8.0-52-generic.

---------

(cherry picked from commit 2bd9f9b)

Co-authored-by: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
ambv pushed a commit that referenced this pull request Feb 19, 2025
…9440) (#130075)

Fix ThreadedVSOCKSocketStreamTest: if get_cid() returns the host
address or the "any" address, use the local communication address
(loopback): VMADDR_CID_LOCAL.

On Linux 6.9, apparently, the /dev/vsock device is now available but
get_cid() returns VMADDR_CID_ANY (-1).

(cherry picked from commit 45db419)
(cherry picked from commit e94dbe4)
(cherry picked from commit c750061)
(cherry picked from commit cbfe302)

---

Restore the skipUnless removed by GH-119465.

This test can only pass on virtual machines, not actual machines.
Actual machines see:

```
    self.cli.connect((cid, VSOCKPORT))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
OSError: [Errno 19] No such device
```

Reproduced on (Linux) Ubuntu 24.04.1 running 6.8.0-52-generic.

(cherry picked from commit 2bd9f9b)

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip news tests Tests in the Lib/test dir
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants