On Wed, Jan 25, 2023 at 10:40 PM Alexey Tikhonov <atikhono(a)redhat.com>
wrote:
On Wed, Jan 25, 2023 at 5:34 PM Prentice Bisbal <pbisbal(a)pppl.gov> wrote:
> (difficult to confirm without coredump/backtraces).
>
> Would a stack trace of automount or the sssd daemon be sufficient?
>
No, I meant backtrace from a coredump. Maybe `ltrace` can help also, but I
doubt `strace` is handy here.
>
> I tried to compile the trivial reproducer from the GitHub Issue you
> linked to, but I'm getting an error when I try to compile it:
>
> # gcc sssd_tester.c -o sssd_tester -lsss_nss_idmap -lpthread -ldl
> sssd_tester.c: In function ‘thread’:
> sssd_tester.c:12:5: warning: implicit declaration of function
> ‘sss_getpwnam’; did you mean ‘getpwnam’? [-Wimplicit-function-declaration]
> 12 | sss_getpwnam("test", &res, buff, sizeof(buff),
&errnop);
> | ^~~~~~~~~~~~
> | getpwnam
>
> It looks like sss_getpwnam isn't defined in any of the header files in
> /usr/include, or I just can't find what package provides it.
>
Link against `/lib64/libnss_sss.so.2`:
Sorry, no need, of course:
sss_getpwnam = dlsym(h, "_nss_sss_getpwnam_r");
I just accidentally cut off a few beginning lines of a reproducer, while
pasting to github: includes and `sss_getpwnam` variable (pointer to
function) declaration.
Something like:
```
typedef int (*fp)(const char *name, struct passwd *result,
char *buffer, size_t buflen, int *errnop);
fp sss_getpwnam;
```
```
$ nm -D /lib64/libnss_sss.so.2 | grep sss_getpwnam
0000000000005f10 T _nss_sss_getpwnam_r@@EXPORTED
```
(no need to link against `sss_nss_idmap`)
But why? It won't help to assure you face the same issue.