Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Jan 2017 04:50:58 +0000
From:      Philipp Michel <pmichel@gmail.com>
To:        mono@freebsd.org
Cc:        romain@freebsd.org
Subject:   SIGSEGV crash on SMP Xeon E5, can't build from ports
Message-ID:  <CAA3Uwx2-LEiB3=5EnoqpKKNPP0%2BVGGZ9TvyeJB8oeBY%2BxxwtSA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi there,


I've been a longtime user of mono on FreeBSD without issues. I usually just
install the pkg.

I recently upgraded my machine from a Haswell E3 to a dual-socket Sandy
Bridge E5 and now mono instantly crashes with the SIGSEGV error:

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

I've tried to build mono from ports using the debug symbols but even the
build process fails when it tries to call mcs resulting in the same SIGSEGV
crash. I'm attaching the output below.

I think it is related to this bug:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211367

There are reports of several people still having this issue, seemingly all
on multiprocessor machines.

Any idea what this could be? I'm at my wits end, all I can think of now is
to run mono in a bhyve VM to get around this, which makes me a bit sad...

Thanks so much in advance for your help!

-Phil


--------------------------------------
echo '#! /bin/sh' > _tmpinst/bin/ilasm ; \
r=`pwd`; m=`cd /var/ports/basejail/usr/ports/lang/mono/work/mono-4.6.2/mcs
&& pwd`; \
echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/ilasm/ilasm.exe"'" "$@"' >>
_tmpinst/bin/ilasm ; \
chmod +x _tmpinst/bin/ilasm
echo '#! /bin/sh' > _tmpinst/bin/mcs ; \
r=`pwd`; m=`cd /var/ports/basejail/usr/ports/lang/mono/work/mono-4.6.2/mcs
&& pwd`; \
echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/class/lib/build/mcs.exe"'"
"$@"' >> _tmpinst/bin/mcs ; \
chmod +x _tmpinst/bin/mcs
echo '#! /bin/sh' > _tmpinst/bin/al ; \
r=`pwd`; m=`cd /var/ports/basejail/usr/ports/lang/mono/work/mono-4.6.2/mcs
&& pwd`; \
echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/class/lib/net_4_x/al.exe"'"
"$@"' >> _tmpinst/bin/al ; \
chmod +x _tmpinst/bin/al
if test -w /var/ports/basejail/usr/ports/lang/mono/work/mono-4.6.2/mcs;
then :; else chmod -R +w
/var/ports/basejail/usr/ports/lang/mono/work/mono-4.6.2/mcs; fi
cd /var/ports/basejail/usr/ports/lang/mono/work/mono-4.6.2/mcs && gmake
--no-print-directory -s NO_DIR_CHECK=1
PROFILES='binary_reference_assemblies net_4_x xbuild_12 xbuild_14      '
CC='cc' all-profiles
mkdir -p -- build/deps
gmake[7]: mcs: Command not found
gmake[7]: *** [build/profiles/basic.make:93:
build/deps/basic-profile-check.exe] Error 127
*** The compiler 'mcs' doesn't appear to be usable.
*** Trying the 'monolite' directory.

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

gmake[9]: *** [build/profiles/basic.make:93:
build/deps/basic-profile-check.exe] Abort trap (core dumped)
*** The contents of your 'monolite' directory may be out-of-date
*** You may want to try 'make get-monolite-latest'
gmake[9]: *** [build/profiles/basic.make:80: do-profile-check-monolite]
Error 1
gmake[8]: *** [build/profiles/basic.make:60: do-profile-check] Error 2
gmake[7]: *** [build/profiles/basic.make:88: do-profile-check-monolite]
Error 2
gmake[6]: *** [build/profiles/basic.make:60: do-profile-check] Error 2
gmake[5]: *** [Makefile:49: profile-do--basic--all] Error 2
gmake[4]: *** [Makefile:45: profiles-do--all] Error 2
gmake[3]: *** [Makefile:543: all-local] Error 2
gmake[3]: Leaving directory
'/var/ports/basejail/usr/ports/lang/mono/work/mono-4.6.2/runtime'
gmake[2]: *** [Makefile:512: all-recursive] Error 1
gmake[2]: Leaving directory
'/var/ports/basejail/usr/ports/lang/mono/work/mono-4.6.2'
gmake[1]: *** [Makefile:441: all] Error 2
gmake[1]: Leaving directory
'/var/ports/basejail/usr/ports/lang/mono/work/mono-4.6.2'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.

-----------------------------------------------------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAA3Uwx2-LEiB3=5EnoqpKKNPP0%2BVGGZ9TvyeJB8oeBY%2BxxwtSA>