[erlang-bugs] FreeBSD FPE issue on ERTS_FP_CHECK_INIT Re: ERTS_FP_CHECK_INIT error of HiPE in 18.0-rc1 running on FreeBSD 10.1-STABLE

Kenji Rikitake kenji@REDACTED
Sat Apr 25 15:19:34 CEST 2015


Mikael:

> I strongly suspect a FreeBSD issue wrt FPE:s.  Can you rebuild OTP with
> --disable-hipe --enable-fp-exceptions and then repeat your tests?

Executing emprng tests on 18.0 built with the above options generated
the following error for many times:

ERTS_FP_CHECK_INIT at 0x502ef3: detected unhandled FPE at 0x4a3

So this is not a HiPE but highly suspected to be a FreeBSD FPE issue.

I'll try the further tests later.

Kenji Rikitake

++> Mikael Pettersson <mikpelinux@REDACTED> [2015-04-25 12:57:42 +0200]:
> Kenji Rikitake writes:
>  > I've seen a massive numbers of error when running a common test on
>  > 18.0-rc1 with HiPE as:
>  > 
>  > ERTS_FP_CHECK_INIT at 0x50e193: detected unhandled FPE at 0x4ad
>  > 
>  > This didn't happen when HiPE is disabled (--disable-hipe).
>  > 
>  > I have traced this in the source that this message is sent from
>  > erts_fp_check_init_error() in erts/emulator/sys/unix/sys_float.c,
>  > highly presumably from
>  > hipe_fclearerror_error() in erts/emulator/hipe/hipe_native_bif.c.
>  > 
>  > The running environment is on FreeBSD amd64 10.1-STABLE #64 r281235,
>  > and the kerl compilation options:
>  > 
>  > export CC=clang CXX=clang CFLAGS="-O3 -fstack-protector" LDFLAGS="-fstack-protector" MAKEFLAGS="-j8"
>  > KERL_CONFIGURE_OPTIONS="--disable-native-libs --enable-vm-probes --with-dynamic-trace=dtrace --with-ssl=/usr/local --with-javac --enable-hipe --enable-kernel-poll --with-wx-config=/usr/local/bin/wxgtk2u-2.8-config --without-odbc --enable-threads --enable-sctp --enable-smp-support --disable-silent-rules"
>  > 
>  > You can check this out by:
>  > 
>  > git clone https://github.com/jj1bdx/emprng/
>  > cd emprng
>  > make tests
> 
> I'm not able to reproduce any unhandled FPE:s on Linux/x86_64 with 18.0-rc1
> configured with --enable-hipe --enable-fp-exceptions.
> 
> I strongly suspect a FreeBSD issue wrt FPE:s.  Can you rebuild OTP with
> --disable-hipe --enable-fp-exceptions and then repeat your tests?
> 
> It would also be helpful if you attached a debugger to beam.smp, put a
> breakpoint in erts_fp_check_init_error(), and took a backtrace from the
> thread when that breakpoint it hit.  (You can also try to map the PC
> value 0x50e193 reported above to the corresponding C function via beam.smp's
> symbol table.)
> 
> Finally, I find the 0x4ad address suspiciously low.  Is that address range
> even mapped in your beam.smp process?  I don't know how to check that on
> FreeBSD, but on Linux I would look in /proc/${pid}/maps.
> 
> /Mikael



More information about the erlang-bugs mailing list