Subject: Re: tset lossage on sparc64/1.6ZE
To: Soren Jacobsen <snj@pobox.com>
From: Sean Davis <dive@endersgame.net>
List: current-users
Date: 12/10/2003 18:15:38
On Wed, Dec 10, 2003 at 02:21:51PM -0800, Soren Jacobsen wrote:
> On 12/10 17:17, Sean Davis wrote:
> > On Wed, Dec 10, 2003 at 01:53:19PM -0800, Soren Jacobsen wrote:
> > > On 12/09 22:48, Sean Davis wrote:
> > > > Also, this is the same box that shows a screen oddity which I believe
> > > > is a 64-bit big endian issue, as it does not happen on NetBSD/alpha of
> > > > the same version:
> > > >
> > > > dive p0 eros.endersgame.net 10:44PM 0 -tcsh
> > > > dive p2 eros:S.0 31Dec69 12396days w
> > >
> > > ben@ fixed this in screen-4.0.1nb2.
> >
> > Cool, thanks for pointing it out. Was it, as my guess was, a 64-bit
> > endianness issue? Or something else entirely?
>
> revision 1.50
> date: 2003/12/01 15:18:27; author: ben; state: Exp; lines: +2 -2
> On sparc64 when I used the "w" command, the screen logins had absurdly
> large login and idle times. This was due to a bug in utmp.c:
>
> in os.h
> -------
> # define utmp utmpx
> # define ut_time ut_xtime
>
> in utmp.c::makeuser()
> ---------------------
> struct utmp *u;
> (void)time((time_t *)&u->ut_time);
>
> The above works fine on i386 where ut_xtime and time_t are the same size,
> but on sparc64 ut_xtime is 8 bytes rather than 4.
Interesting. I would have expected NetBSD/alpha to manifest the same
symptoms, but a quick check shows that time_t is 4 bytes there. That'll
teach me that all LP64 platforms are by no means created equal ;) In any
case, thanks to ben@ for fixing this, and to you for pointing out that he
had done so. Screen is working just fine now.
Now if I could only figure out what the root cause of the "sleep sleeps
forever" bug, but I have no idea where to start looking for that. I've only
experienced it once, but its disabling enough to a system that I'd rather I
(or someone) find it before it finds my sparc64 again...
-Sean
--
/~\ The ASCII
\ / Ribbon Campaign Sean Davis
X Against HTML aka dive
/ \ Email!