Code:
$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin18.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ sw_vers -productVersion
10.14.4
What is kind of strange, though, is that `nsgpy` (and the entirety of the Netgen.app`) seems to be linked with python 3.7,
Code:
$ ngspy
Python 3.7.4 (v3.7.4:e09359112e, Jul 8 2019, 14:54:52)
$ python3
Python 3.8.5 (v3.8.5:580fbb018f, Jul 20 2020, 12:11:27)
even though I followed the website to install python 3.8 (the two versions now live side-by-side, though). Could this be a source of problems?
BTW, when I run `mpirun -np 4 ngspy mpi_poisson.py` with "hypre", I get the same problem. When I use the "bddc" preconditioner (and masterinverse), it runs OK. When I substitute `ngspy` with `python3.7`, things also run fine, but with `python3` (so `python3.8`), I again get a segfault, though at a much earlier stage. The stack trace is
Code:
$ mpirun -np 4 python3.8 mpi_poisson.py
Caught SIGSEGV: segmentation fault
Collecting backtrace...
Caught SIGSEGV: segmentation fault
Collecting backtrace...
Caught SIGSEGV: segmentation fault
Collecting backtrace...
Caught SIGSEGV: segmentation fault
Collecting backtrace...
#1 at std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str() const (in libngcore.dylib
) (/Library/Developer/CommandLineTools/usr/include/c++/v1/new:252)
#2 at 0x0000a3ac (in libsystem_platform.dylib)
#3 at we_askshell.cmd (in libsystem_c.dylib) + 974
#4 at 0x00005ede (in libngpy.so)
#5 at PyInit_libngpy (in libngpy.so) (<ngsolve dir>/ngsolve-src/external_dependencies/netgen/ng/netgenp
y.cpp:33)
#6 at _PyWideStringList_Copy (in Python) + 47
#7 at _imp__fix_co_filename (in Python) + 64
#8 at cfunction_vectorcall_FASTCALL_KEYWORDS (in Python) + 112
#9 at PyVectorcall_Call (in Python) + 260
#10 at PyErr_SetFromErrnoWithFilenameObjects (in Python) + 100
#11 at PyCodec_ReplaceErrors (in Python) + 559
#12 at _PyMethodDef_RawFastCallDict (in Python) + 331
#13 at call_function (in Python) + 1087
#14 at context_tp_new (in Python) + 19
#15 at _PyFunction_Vectorcall (in Python) + 19
#16 at call_function (in Python) + 1087
#17 at context_tp_richcompare (in Python) + 93
#18 at _PyFunction_Vectorcall (in Python) + 19
.....
#88 at Py_BytesMain (in Python) + 62