Skip to content

[PPC64LE buildbots] test_socket: VSOCK testStream(): recv fails with EACCES on Fedora 41 #128116

Description

@encukou

Activity

  1. changed the title [-]test_socket: VSOCK testStream(): recv fails with EACCES on Fedora 41[/-] [+][PPC64LE buildbots] test_socket: VSOCK testStream(): recv fails with EACCES on Fedora 41[/+] on Dec 20, 2024
  2. vstinner commented on Dec 20, 2024

    @vstinner
    Member

    I failed to reproduce the issue. I connected to the PPC64LE Fedora Stable buildbot, I built Python and ran:

    ./python -m test test_socket -m testStream -v
    

    I tried as the vstinner user, and as the buildbot user: the test succeed in both cases.

  3. vstinner commented on Dec 20, 2024

    @vstinner
    Member

    Some logs on the buildbot:

    vstinner@localhost:~/python/3.13$ ls -l /dev/vsock
    crw-rw-rw-. 1 root root 10, 60 Dec 18 21:14 /dev/vsock
    
    vstinner@localhost:~/python/3.13$ cat x.py 
    import socket
    import fcntl
    import struct
    
    
    def get_cid():
        if fcntl is None:
            print("a")
            return None
        if not hasattr(socket, 'IOCTL_VM_SOCKETS_GET_LOCAL_CID'):
            print("b")
            return None
        try:
            with open("/dev/vsock", "rb") as f:
                r = fcntl.ioctl(f, socket.IOCTL_VM_SOCKETS_GET_LOCAL_CID, "    ")
        except OSError as exc:
            print("c", exc)
            return None
        else:
            return struct.unpack("I", r)[0]
    
    print("CID", get_cid())
    
    vstinner@localhost:~/python/3.13$ ./python x.py 
    CID 4294967295
  4. vstinner commented on Dec 20, 2024

    @vstinner
    Member

    Last success, Fedora 40 with glibc 2.39: https://buildbot.python.org/#/builders/90/builds/5363/

    os.uname: posix.uname_result(sysname='Linux', nodename='localhost.localdomain', release='5.8.17-200.fc32.ppc64le', version='#1 SMP Thu Oct 29 18:00:08 UTC 2020', machine='ppc64le')
    platform.freedesktop_os_release[NAME]: Fedora Linux
    platform.freedesktop_os_release[VERSION]: 40 (Server Edition)
    platform.libc_ver: glibc 2.39
    platform.platform: Linux-5.8.17-200.fc32.ppc64le-ppc64le-with-glibc2.39
    

    First error, Fedora 41 with glibc 2.40: https://buildbot.python.org/#/builders/90/builds/5364/

    os.uname: posix.uname_result(sysname='Linux', nodename='localhost.localdomain', release='5.8.17-200.fc32.ppc64le', version='#1 SMP Thu Oct 29 18:00:08 UTC 2020', machine='ppc64le')
    platform.freedesktop_os_release[NAME]: Fedora Linux
    platform.freedesktop_os_release[VERSION]: 41 (Server Edition)
    platform.libc_ver: glibc 2.40
    platform.platform: Linux-5.8.17-200.fc32.ppc64le-ppc64le-with-glibc2.40
    
  5. added a commit that references this issue on Dec 20, 2024
  6. vstinner commented on Dec 20, 2024

    @vstinner
    Member

    I wrote PR gh-128120 to skip the test is recv() fails with EACCESS.

  7. added a commit that references this issue on Dec 20, 2024
  8. added a commit that references this issue on Dec 20, 2024
  9. vstinner commented on Dec 20, 2024

    @vstinner
    Member

    Fixed by change cbfe302. The backport to 3.13 will follow.

  10. added a commit that references this issue on Dec 20, 2024
  11. added 2 commits that reference this issue on Dec 20, 2024
  12. added a commit that references this issue on Dec 23, 2024
  13. added a commit that references this issue on Jan 8, 2025
  14. added a commit that references this issue on Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions