Date: Wed, 25 Jan 2017 06:27:34 +0000 From: Philipp Michel <pmichel@gmail.com> To: mono@freebsd.org Cc: romain@freebsd.org Subject: Re: SIGSEGV crash on SMP Xeon E5, can't build from ports Message-ID: <CAA3Uwx3ENzp_VLkyvHaCnEvbvLYrQdqkkpe_9KenPts91%2BGd0Q@mail.gmail.com> In-Reply-To: <CAA3Uwx2-LEiB3=5EnoqpKKNPP0%2BVGGZ9TvyeJB8oeBY%2BxxwtSA@mail.gmail.com> References: <CAA3Uwx2-LEiB3=5EnoqpKKNPP0%2BVGGZ9TvyeJB8oeBY%2BxxwtSA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
After some more playing around trying to run mono both on bare metal and a VM, I've narrowed it down to what seems to be a memory issue. I have 256G of ram in the server. If I restrict hw.physmem=140G, mono works fine. Anything above hw.physmem=150G or so seems to cause it to crash! Changing the cpu count or cpu type (in the VM) has no impact. Seems like something's off when there's too much memory available... Any thoughts? On Mon, Jan 23, 2017 at 8:50 PM Philipp Michel <pmichel@gmail.com> wrote: > 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?CAA3Uwx3ENzp_VLkyvHaCnEvbvLYrQdqkkpe_9KenPts91%2BGd0Q>