[erlang-bugs] Erlang make problem:
Mikael Pettersson
mikpe@REDACTED
Fri Feb 29 20:57:37 CET 2008
Stein, Martin writes:
> I am trying to compile OTP R12B on a 64-bit Suse Linux virtual machine
> (VMWare). Somewhere in the HIPE compilation erlc crashes with a problem
> in the OS high resolution timer. Running make again (and again) finally
> compiles all the files. There seems to be a timing problem somewhere
> that people also reported when starting "cean erlang", that may be
> related. I have not found a solution to the problem other than trying
> again. It finally works but doesn't inspire confidence.
>
>
>
> Below some information about the crash. The erl_crash.dump file is
> available on request (it is quite large).
>
>
>
> $ uname -a
>
> Linux vowng1 2.6.16.46-0.12-smp #1 SMP Thu May 17 14:00:09 UTC 2007
> x86_64 x86_64 x86_64 GNU/Linux
>
> $ make
>
> ...
>
> erlc -W +debug_info +warn_obsolete_guard -I../include -o../ebin
> hipe_unified_loader.erl
>
> Crash dump was written to: erl_crash.dump
>
> Unexpected behaviour from operating system high resolution timer
That's erts/emulator/beam/erl_time_sup.c:get_tolerant_timeofday()
complaining that sys_gethrtime() returned a value less than it
returned on the very first call to sys_gethrtime().
To me, it implies that sys_gethrtime(), which is gethrtime() on
systems that have it and clock_gettime(CLOCK_MONOTONIC,) on others,
failed to be monotonically increasing. Since this occurs on VMWare,
and since I've personally seen massive clock problems with VMWare
machines in other contexts, I have to assume it's VMWare's fault.
Is that a paravirtualised kernel or a native one? If it's native then
it should probably be started with options to disable whatever source
for high-res time stamps it's using, most likely the TSC.
(HiPE has nothing to do with this, btw.)
More information about the erlang-bugs
mailing list