[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