Skip to content

os.getlogin() fails with OSError: [Errno 34] for usernames > 9 characters #135497

Closed

Description

@alebcay

Bug report

Bug description:

import os
print(os.getlogin())
$ python3 -c "import os; print(os.getlogin())"

Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import os; print(os.getlogin())
                     ~~~~~~~~~~~^^
OSError: [Errno -34] Unknown error: -34

It appears that if Python is compiled in an environment without HAVE_MAXLOGNAME but with HAVE_UT_NAMESIZE, getlogin_r will return error 34 if username is >9 characters.

This appears to be a regression introduced in #132751:

https://github.com/duaneg/cpython/blob/675342cf59ffe53337d92af989b97dad687a10ea/configure.ac#L5434

The correct header file to search for is sys/param.h, not sys/params.h. As a result, HAVE_UT_NAMESIZE is satisfied (via utmp.h) but HAVE_MAXLOGNAME is not.

This was originally reported to Homebrew via Homebrew/homebrew-core#226857.

CPython versions tested on:

3.15

Operating systems tested on:

macOS

Linked PRs

Activity

  1. sobolevn commented on Jun 14, 2025

    @sobolevn
    Member

    @alebcay would you like to submit a PR with the fix?

  2. alebcay commented on Jun 14, 2025

    @alebcay
    ContributorAuthor

    Sure, I'd be happy to. As far as processes go, should I also regenerate configure, and is there a particular command/script I should use for that? I found https://devguide.python.org/contrib/workflows/regenerate/#regenerate-configure and will use that.

  3. added 4 commits that reference this issue on Jun 14, 2025
  4. added a commit that references this issue on Jun 14, 2025
  5. added 2 commits that reference this issue on Jun 14, 2025
  6. added 2 commits that reference this issue on Jun 14, 2025
  7. picnixz commented on Jun 14, 2025

    @picnixz
    Member

    Thank you for the report & the fix!

  8. added a commit that references this issue on Jun 16, 2025
  9. added a commit that references this issue on Jun 19, 2025
  10. added a commit that references this issue on Jul 12, 2025
  11. added a commit that references this issue on Aug 4, 2025
  12. added a commit that references this issue on Aug 19, 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

    extension-modulesC modules in the Modules dirtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions