32-bit time in <utmp.h> (Re: cvs commit: ports/net/pppd23 Makefile ports/net/pppd23/files extra-patch-no-logf patch-ab)

Marius Strobl marius at alchemy.franken.de
Wed Apr 28 13:48:30 PDT 2004


On Wed, Apr 28, 2004 at 01:22:37PM -0700, Kris Kennaway wrote:
> 
> I wonder if this 32-bitness is related to the accounting problems
> noticed on sparc64 since the 64-bit time_t changeover:
> 
> struct lastlog {
>         int32_t ll_time;
>         char    ll_line[UT_LINESIZE];
>         char    ll_host[UT_HOSTSIZE];
> };
> 
> struct utmp {
>         char    ut_line[UT_LINESIZE];
>         char    ut_name[UT_NAMESIZE];
>         char    ut_host[UT_HOSTSIZE];
>         int32_t ut_time;
> };
> 

Like I said before, this isn't a sparc64 specific problem, I also see
it on my -current i386 boxes:

tristan# uname -a
FreeBSD tristan.franken.de 5.2-CURRENT FreeBSD 5.2-CURRENT #0: Wed Apr 28 22:11:03 CEST 2004     root at tristan.franken.de:/usr/src/sys/i386/compile/tristan  i386
tristan# /etc/periodic/monthly/200.accounting

Doing login accounting:
(Skipped 709 of 739 records due to invalid time values)
(Changed 3 of 739 records to have a more likely time value)
        root             -65080.69
        marius           -136664.62
        total            -201745.32

I think it's connected to SCHED_ULE, but haven't checked that closely,
yet.



More information about the freebsd-sparc64 mailing list