IRC, unknown channel, unknown date

<grey_gandalf> I did a sudo date...
<grey_gandalf> and the machine hangs

This was very likely a misdiagnosis.

IRC, freenode, #hurd, 2011-03-25

<tschwinge> antrik: I suspect it'S some timing stuff in pfinet that perhaps
  uses absolute time, and somehow wildely gets confused?
<antrik> tschwinge: BTW, pfinet doesn't actually die I think -- it just
  drops open connections...
<antrik> perhaps it thinks they timed out
<tschwinge> antrik: Isn't the translator restarted instead?
<antrik> don't think so
<antrik> when pfinet actually dies, I also loose the NFS mounts, which
  doesn't happen in this case
<antrik> hehe "... and the machine hangs"
<antrik> he didn't bother to check that the machine is perfectly fine, only
  the SSH connection got dropped
<tschwinge> Ah, I see.  So it'S perhaps indeed simply closes TCP
  connections that have been without data for ``too long''?
<antrik> yeah, that's my guess
<antrik> my clock is speeding, so ntpdate sets it in the past
<antrik> perhaps there is some math that concludes the connection have been
  inactive for -200 seconds, which (unsigned) is more than any timeout :-)
<tschwinge> (The other way round, you might likely get some integer
  wrap-around, and thus the same result.)
<tschwinge> Yes.

IRC, freenode, #hurd, 2011-10-26

<antrik> anyways, when ntpdate adjusts to the past, the connections hang,
  roughly for the amount of time being adjusted
<antrik> they do not die though
<antrik> (well, if it's long enough, they probably timeout on the other
  side...)

IRC, freenode, #hurd, 2011-10-27

<antrik> oh, another interesting thing I observed is that the the subhurd
  pfinet did *not* drop the connection... only the main Hurd one. I thought
  the clock is system-wide?...
<tschwinge> It is.
<antrik> it's really fascinating that only the pfinet on the Hurd instance
  where I set the date is affected, and not the pfinet in the other
  instance

IRC, freenode, #hurd, 2012-06-28

<bddebian> great, now setting the date/time fucked my machine
<pinotree> yes, we lack a monotonic clock
<pinotree> there are select() loops that use gettimeofday to determine how
  much time to wait
<pinotree> thus if the time changes (eg goes back), the calculation goes
  crazy
<antrik> pinotree: didn't you implement a monotonic clock?...
<pinotree> started to
<antrik> bddebian: did it really fuck the machine? normally it only resets
  TCP connections...
<pinotree> yeah, i remember such gettimeofay-based select-loops at least in
  pfinet
<antrik> I don't think it's a loop. it just drops the connections,
  believing they have timed out
<bddebian> antrik: Well in this case I don't know because I am at work but
  it fucked me because I now cannot get to it.. :)
<antrik> bddebian: that's odd... you should be able to just log in again
  IIRC

IRC, freenode, #hurd, 2012-07-29

<antrik> pfinet can't cope with larger system time changes because it can't
  use a monotonic clock

clock gettime.

<braunr> well when librt becomes easily usable everywhere (it it's
  possible), it will be quite easy to work around this issue
<pinotree> yes and no, you just need a monotonic clock and clock_gettime
  able to use it
<braunr> why "no" ?