GLib throwing error "getpwuid_r() failed due to unknown user id"

Solution Unverified - Updated -

Environment

  • Red Hat Enterprise Linux 6
  • Configured client to use ldap (using sssd or nslcd)

Issue

  • I'm getting a GLib-WARNING error on a 32 bit execution of getpwuid_r(). The uid referenced is valid (especially since it is the UID by the current login user).

Here is the error returned by acroread:

       acroread
       (acroread:10642): GLib-WARNING **: getpwuid_r(): failed due to unknown user id (5003)

Verified using the command line "getent passwd" routine:

      getent passwd 5003
      Foouvv:x:5003:6014:Sample User:/home/Foouvv:/bin/bash

Resolution

Install the 32 bit version of sssd-client (if sssd is used) or nss-pam-ldapd (if nslcd is used).

For example:

        # yum install nss-pam-ldapd.i686
        # yum install sssd-client.i686

Root Cause

A 32 bit binary was used (acroread in this case), it is linked against 32 bit version of glibc which requires 32 bit version of libnss_ libraries available. (Example: /lib/libnss_sss.so ), i686 version of sssd or nss-pam-ldapd provides these libraries, installing the same to fix the issue.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

1 Comments

I was getting this error message after installing 32-bit application software. After I installed nss-pam-ldapd.i686 [+9 dependent RPMs], the error message went away.