Now, it looks like I should review the code in sshd and find out why
the utmp records it makes are being disliked by w/who. Or it is
w/who who are wrong here, I dunno yet. Either way, this feels wrong
somehow.
w will read utmp using getutent() if sd_booted() is false or sd_get_sessions() returns 0.
So check to see what you get for those library calls.
You might also be hitting #1108549 [1] (the second issue, not the crash issue) fixed at [2].
This is because the information is being held by elogind but it always returns false for sd_booted()
However I noted you said you made an empty utmp file so it might be that nothing is updating it.
- Craig
2:
https://gitlab.com/procps-ng/procps/-/commit/678b099c9fd12109469be234281c8b4e2a382757