Skip to content

[3.11] gh-119461: Fix ThreadedVSOCKSocketStreamTest #129171

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 23, 2025

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