On 13/02/2020 13.18, David Bremner wrote: > Benjamin Lorenz <lor...@math.tu-berlin.de> writes: > >> >>> It looks like it's flint related? >> >> Yes, I think this is a bug in flint and for now I suggest disabling the >> flint-interface of polymake with the configure option --without-flint on >> mips64el. This has basically no functionality loss as polymake will use >> its own generic polynomial arithmetic instead (it will be somewhat slower). >> Currently rebuilding polymake to check the testsuite again but this will >> take some time and I will report back tomorrow. >> > > The easy thing would be to disable it everywhere. It is also possible to > do it on an architecture specific basis. Do you think the (small) added > complexity of the latter is worth it?
It seems we might need some extra stuff for mips64el anyway as I see some weird segfaults even without flint (at different testcases). But I am still investigating those, backtrace seems to point to the exception handling code of libgcc / libstdc++: Program received signal SIGSEGV, Segmentation fault. parse_lsda_header (context=0x4000b9d880, p=0x260ae60 <error: Cannot access memory at address 0x260ae60>, info=0x4000b9cb50) at ../../../../src/libstdc++-v3/libsupc++/eh_personality.cc:58 58 ../../../../src/libstdc++-v3/libsupc++/eh_personality.cc: No such file or directory. (gdb) bt #0 parse_lsda_header (context=0x4000b9d880, p=0x260ae60 <error: Cannot access memory at address 0x260ae60>, info=0x4000b9cb50) at ../../../../src/libstdc++-v3/libsupc++/eh_personality.cc:58 #1 0x000000400161005c in __cxxabiv1::__gxx_personality_v0 (version=<optimized out>, actions=<optimized out>, exception_class=<optimized out>, ue_header=0x400cfa8d50, context=0x4000b9d880) at ../../../../src/libstdc++-v3/libsupc++/eh_personality.cc:454 #2 0x00000040017e33ac in _Unwind_RaiseException (exc=0x400cfa8d50) at ../../../src/libgcc/unwind.inc:118 #3 0x000000400161126c in __cxxabiv1::__cxa_throw (obj=0x400cfa8d70, tinfo=0x4005e7ccf8 <typeinfo for pm::infeasible>, dest=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:90 #4 0x00000040056fdfb8 in pm::lin_solve<pm::Rational> (A=..., b=...) at /usr/include/c++/9/ext/new_allocator.h:89 #5 0x000000400c7a8408 in polymake::fan::remove_redundancies<pm::Rational> (f=...) at ./include/core/polymake/internal/shared_object.h:1097 ...