Again, I should take a bit more time before sending these emails.... I just noticed that: ``` [vhaudiquet@k6 ~]$ dpkg -S /usr/bin/who coreutils-from-uutils: /usr/bin/who [vhaudiquet@k6 ~]$ who [vhaudiquet@k6 ~]$ who /var/run/utmp [vhaudiquet@k6 ~]$ who /var/log/wtmp vhaudiquet seat0 2025-08-27 12:56 (login screen) vhaudiquet tty2 2025-08-27 12:56 (tty2) vhaudiquet seat0 2025-08-27 13:16 (login screen) vhaudiquet tty2 2025-08-27 13:16 (tty2) vhaudiquet seat0 2025-08-27 13:31 (login screen) vhaudiquet tty2 2025-08-27 13:31 (tty2) ... ```
So it seems that by default, who uses /var/run/utmp, which does not exist anymore on Ubuntu; but when instructed to use wtmp, it returns all of the same sessions as last / that inetutils see. Then, do all programs need to implement such a filter, or is the issue in wtmp/gnulib? Or somewhere else? I will try to keep investigating Valentin On Tue, 18 Nov 2025 at 14:09, Valentin Haudiquet <[email protected]> wrote: > > Hi! > > Thank you for your effort on this bug. I must admit I felt a bit lost, > and gave up in my head a little bit. > > > Are the results for "who" from "rust-coreutils" and "coreutils" identical > for the in development Ubuntu 26.04 distribution? > > I've been using `who` from gnu-coreutils: > ``` > [vhaudiquet@k6 ~]$ dpkg -S /usr/bin/who > coreutils-from-gnu: /usr/bin/who > ``` > > However, changing to uutils (rust coreutils) does not change `who` output: > ... > [vhaudiquet@k6 ~]$ apt install coreutils-from-uutils > [vhaudiquet@k6 ~]$ dpkg -S /usr/bin/who > coreutils-from-uutils: /usr/bin/who > [vhaudiquet@k6 ~]$ who > [vhaudiquet@k6 ~]$ > ``` > > > The Gnulib code used by GNU Inetutils for reading utmp information > > without the /var/run/utmp file, but with "configure --enable-systemd", > > can synthesize "seatN" and probably "sshd" entries for the .ut_line field. > > This should be the cause for the observed test failures. > > This looks promising! Then it would mean that the bug affecting > inetutils and the output of `last` being similar is only a > 'coincidence', they just both detect 'seat0' sessions. And maybe there > is a filter in place in `who` code, that contrary to the one in > inetutils is too agressive and ends up removing every session, even > the one of the user ? > > Maybe looking into the code for `who` could be a good idea... I will > try to do that. > > However, I recall from our previous conversations that you would not > want to implement such a filter because of possible breaks on non-GNU > systems, right? > > Thank you for your findings! > > Valentin > > On Tue, 18 Nov 2025 at 13:55, Erik Auerswald <[email protected]> > wrote: > > > > Hello Valentin, > > > > On Wed, Nov 12, 2025 at 01:05:29PM +0100, Valentin Haudiquet wrote: > > > [...] > > > > Do you see any suspicious lines in the output of the "w", "who", > > > > and/or "last" commands? I.e., any entry in the TTY column that does > > > > not look like a TTY, or a missing entry in that column? > > > > > > Yes ! w and who are normal, but last shows: > > > ``` > > > [vhaudiquet@x1c inetutils <merge-lp2130124-resolute>]$ last > > > vhaudiqu tty2 tty2 Thu Nov 6 12:00 - still logged in > > > vhaudiqu seat0 login screen Thu Nov 6 12:00 - still logged in > > > [...] > > > ``` > > > > I am still trying to understand where these entries come from. > > > > The Gnulib code used by GNU Inetutils for reading utmp information > > without the /var/run/utmp file, but with "configure --enable-systemd", > > can synthesize "seatN" and probably "sshd" entries for the .ut_line field. > > This should be the cause for the observed test failures. > > > > On Ubuntu 22.04, the "last" program comes from the "util-linux" package, > > the "w" program comes the "procps" package, and the "who" program from the > > "coreutils" package. On Ubuntu 26.04, "last" might come from the "wtmpdb" > > package, and "who" might come from the "rust-coreutils". Of these, only > > "coreutils" is an obvious candidate for using the same Gnulib code as > > GNU Inetutils. > > > > Are the results for "who" from "rust-coreutils" and "coreutils" identical > > for the in development Ubuntu 26.04 distribution? > > > > > However, that is also the case on Questing and older Ubuntu releases. > > > And to my understanding that is normal :) > > > > I'd say this happened after removing /var/run/utmp, as at least Ubuntu > > 22.04, still having /var/run/utmp, does not show these utmp entries. > > > > > [...] > > > Something must have changed, that before did not pick up those > > > sessions and now picks them up instead of the right one ? > > > > It seems to me as if replacing /var/run/utmp with the "wtmpdb" mechanism > > might have been this change. This seems to have introduced the utmp > > entries that misdirect syslogd, resulting in errors while using them > > and thus triggering test failures. > > > > Thanks, > > Erik
