<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>