<div dir="ltr">Your patch fixes the problem in our duration testing, but unfortunately I haven't got it on a production site yet.  Hopefully "real soon now".<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Thu, Apr 4, 2013 at 7:43 AM, Patrik Nyblom <span dir="ltr"><<a href="mailto:pan@erlang.org" target="_blank">pan@erlang.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>Hi!<div class="im"><br>
      <br>
      On 03/12/2013 04:36 PM, Garret Smith wrote:<br>
    </div></div><div class="im">
    <blockquote type="cite">
      
      <p dir="ltr"><br>
        On Mar 12, 2013 6:38 AM, "Patrik Nyblom" <<a href="mailto:pan@erlang.org" target="_blank">pan@erlang.org</a>>
        wrote:<br>
        ><br>
        > Hi!<br>
        ><br>
        > There's a patched version of the R15B02 dll in my public
        dropbox, under the name r15.beam.smp.dll:<br>
        ><br>
        > <a href="http://dl.dropbox.com/u/17212223/r15.beam.smp.dll" target="_blank">http://dl.dropbox.com/u/17212223/r15.beam.smp.dll</a></p>
      <p dir="ltr">R15B02 will work.  I'll get started but it will take
        a couple days to get everything built, deployed and watch for
        time jumps.</p>
      <p dir="ltr">Thank you for the binary!</p>
    </blockquote></div>
    Any progress? Does it work (just curious :))<br>
    <br>
    Cheers,<br>
    /Patrik<div><div class="h5"><br>
    <blockquote type="cite">
      <p dir="ltr">><br>
        > If you replace the R15 beam.smp.dll with this one, the werl
        slogan should contain the version erts-5.9.2.0.1, if you could
        try that on the real app, I would be immensely grateful!<br>
        ><br>
        > Cheers,<br>
        > /Patrik <br>
        ><br>
        > On 03/12/2013 02:09 PM, Vance Shipley wrote:<br>
        >><br>
        >> C<br>
        >><br>
        >> On Mar 5, 2013 6:56 AM, "Garret Smith" <<a href="mailto:garret.smith@gmail.com" target="_blank">garret.smith@gmail.com</a>>
        wrote:<br>
        >>><br>
        >>> I have been beating my head against a wall for
        weeks tracking down spooky behaviour[sic] in one of our
        production systems.  I finally tracked it down to "jumps" in the
        times returned by erlang:now(), causing all timers in the system
        to expire at once.  I have witnessed this bug on R15B01, both 64
        and 32-bit versions running on Windows Server 2008 R2, both on
        bare metal and VirtualBox VM.<br>
        >>><br>
        >>> The time jump is always around 2126000 seconds, or
        a little over 24 days.  The now() time does not try to converge
        with os:timestamp() as the documentation suggests, and as I
        confirmed it does if you just change the system clock.<br>
        >>><br>
        >>> Another VM running concurrently on the same machine
        but with little load (diagnostic node & production node) did
        not time jump.<br>
        >>><br>
        >>> Higher load seems to make the time jumps happen
        more often.<br>
        >>><br>
        >>> Frequency between time jumps varies between seconds
        and hours, but when a jump occurs, it is always 2126000 + (9 to
        26) seconds.<br>
        >>><br>
        >>> I never see the jump in logfile timestamps that use
        os:timestamp() for tagging log messages.  I had to start tracing
        a production node before I caught the jump.  Here are some lines
        from a trace, where the timestamp in trace_ts is printed using
        calendar:now_to_local_time() and then in raw tuple format:<br>
        >>><br>
        >>> 2013-4-16 21:40:1.993399|{1366,173601,993399}<br>
        >>> 2013-4-16 21:40:1.993400|{1366,173601,993400}<br>
        >>> 2013-5-11 12:13:41.986961|{1368,299621,986961}<br>
        >>> 2013-5-11 12:13:41.986962|{1368,299621,986962}<br>
        >>><br>
        >>> then a bit later...<br>
        >>><br>
        >>> 2013-5-11 12:36:19.955129|{1368,300979,955129}<br>
        >>> 2013-5-11 12:36:19.955130|{1368,300979,955130}<br>
        >>> 2013-6-5 3:9:49.538830|{1370,426989,538830}<br>
        >>> 2013-6-5 3:9:49.538833|{1370,426989,538833}<br>
        >>><br>
        >>> I captured many such jumps over the course of a day
        or so.  Obviously from the dates, 2 jumps happened before I
        started tracing.<br>
        >>><br>
        >>> I was able to reproduce the bug, though not as
        efficiently as my production system, with the following sample
        program: <a href="https://gist.github.com/garret-smith/5087169" target="_blank">https://gist.github.com/garret-smith/5087169</a><br>
        >>><br>
        >>> It took over an hour of runtime before the first
        time jump.  I am working on a better way to reproduce it at the
        moment, but it's hard to test the test with a bug so
        intermittent.<br>
        >>><br>
        >>> I am also testing various other VM versions.  My
        first hope was that this was limited to the 64-bit version where
        we first encountered the problem, but a change to the 32-bit
        version has only made the problem happen less often, not
        eliminated it.<br>
        >>><br>
        >>> We never saw this bug with R14B03 which we were
        running previously to R15B01.  However, system load is different
        so I can't make a direct comparison.  I did notice a few
        significant updates to the Windows time related code between
        R14B03 and R15:<br>
        >>><br>
        >>> git log sys_time.c<br>
        >>><br>
        >>> commit 46eb4359b05b220861453a869dc734480ec045a6<br>
        >>> Author: Patrik Nyblom <<a href="mailto:pan@erlang.org" target="_blank">pan@erlang.org</a>><br>
        >>> Date:   Tue Dec 6 19:07:16 2011 +0100<br>
        >>><br>
        >>>     Emulate localtime, gmtime and mktime to enable
        negative time_t<br>
        >>><br>
        >>> commit 913f05af100e98a8665bbb6168e89fbcfe4ece75<br>
        >>> Author: Bj<C3><B6>rn-Egil Dahlberg <<a href="mailto:egil@erlang.org" target="_blank">egil@erlang.org</a>><br>
        >>> Date:   Fri Dec 2 15:25:06 2011 +0100<br>
        >>><br>
        >>>     Teach windows sys_localtime_r<br>
        >>><br>
        >>><br>
        >>> I am completely stumped.  What can I do next to
        help track down the source of the bug?<br>
        >>><br>
        >>> Thanks,<br>
        >>> Garret Smith<br>
        >>><br>
        >>> _______________________________________________<br>
        >>> erlang-bugs mailing list<br>
        >>> <a href="mailto:erlang-bugs@erlang.org" target="_blank">erlang-bugs@erlang.org</a><br>
        >>> <a href="http://erlang.org/mailman/listinfo/erlang-bugs" target="_blank">http://erlang.org/mailman/listinfo/erlang-bugs</a><br>
        >>><br>
        >><br>
        >><br>
        >> _______________________________________________<br>
        >> erlang-bugs mailing list<br>
        >> <a href="mailto:erlang-bugs@erlang.org" target="_blank">erlang-bugs@erlang.org</a><br>
        >> <a href="http://erlang.org/mailman/listinfo/erlang-bugs" target="_blank">http://erlang.org/mailman/listinfo/erlang-bugs</a><br>
        ><br>
        ><br>
        ><br>
        > _______________________________________________<br>
        > erlang-bugs mailing list<br>
        > <a href="mailto:erlang-bugs@erlang.org" target="_blank">erlang-bugs@erlang.org</a><br>
        > <a href="http://erlang.org/mailman/listinfo/erlang-bugs" target="_blank">http://erlang.org/mailman/listinfo/erlang-bugs</a><br>
        ><br>
      </p>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br></div>