Re: s6-envuidgid: Weird errors with GNU libc's getgrent() and endgrent()

From: Guillermo <gdiazhartusch_at_gmail.com>
Date: Sun, 2 Jun 2019 12:02:04 -0300

El dom., 2 jun. 2019 a las 3:27, Casper Ti. Vector escribió:
>
> On my machine using Void with glibc 2.29 since 20190305

Yay! I thought chances of hearing from someone who uses a GNU
libc-based distribution that is not Gentoo, with a sufficiently recent
version (which usually means it's rolling release), and who is also a
subscriber of this list, were rather slim :)

>, I never encountered this issue.

Do you happen to build skarnet.org packages statically linked to musl
on those Void machines, or do you let them link to the distribution's
libc?

> I can confirm the behaviour you described of
> getgrent(3),

Good. Maybe it's upstream then…

> Therefore, at least on my system, endgrent(3) is always called
> with `errno' set to zero.

Yeah, what triggers s6-envuidgid's failure here is that endgrent() is
setting errno to the weird EINVAL value, the program checks errno
*after* the call, and thinks it was caused by a failing getgrent()
call. Would it be to much to ask you if you could also check if
endgrent(3) flips errno from 0 to EINVAL?

Thanks!
G.
Received on Sun Jun 02 2019 - 15:02:04 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:38:49 UTC