Open pzinn opened 2 weeks ago
should probably be fixed, it's annoying:
i1 : R=QQ[x] o1 = R o1 : PolynomialRing i2 : I=ideal R o2 = ideal () o2 : Ideal of R i3 : irreducibleCharacteristicSeries I -- SIGSEGV -* stack trace, pid: 15915 0# boost::stacktrace::basic_stacktrace<std::allocator<boost::stacktrace::frame> >::basic_stacktrace() at /usr/include/boost/stacktrace/stacktrace.hpp:129 1# segv_handler at /home/pzinn/M2/M2/Macaulay2/bin/main.cpp:249 2# 0x00007F6DFE44FD00 in /lib64/libc.so.6 3# get_max_var(List<CanonicalForm> const&) in /lib64/libfactory-4.4.0.so 4# neworder(List<CanonicalForm> const&) in /lib64/libfactory-4.4.0.so 5# neworderint(List<CanonicalForm> const&) in /lib64/libfactory-4.4.0.so 6# rawIdealReorder at /home/pzinn/M2/M2/Macaulay2/e/interface/factory.cpp:790 7# interface_rawIdealReorder at /home/pzinn/M2/M2/BUILD/fedora/Macaulay2/d/interface-tmp.cc:1483 8# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1492 9# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1529 10# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1600 11# evaluate_applyFCE at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:805 12# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1501 (discriminator 1) 13# evaluate_evalexcept at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1650 14# readeval3(parse_TokenFile_struct*, char, parse_DictionaryClosure_struct*, char, char, char) at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:187 15# loadprint(M2_string_struct*, parse_DictionaryClosure_struct*, char) at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:357 16# commandInterpreter_2(tagged_union*) at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:477 (discriminator 1) 17# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1492 18# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1529 19# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1596 20# evaluate_evalexcept at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1650 21# readeval3(parse_TokenFile_struct*, char, parse_DictionaryClosure_struct*, char, char, char) at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:187 22# readeval(parse_TokenFile_struct*, char, char) at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:294 (discriminator 1) 23# interp_process at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:626 (discriminator 1) 24# interpFunc(ArgCell*) at /home/pzinn/M2/M2/Macaulay2/bin/main.cpp:201 25# ThreadTask::run(SupervisorThread*) at /home/pzinn/M2/M2/Macaulay2/system/supervisor.cpp:359 (discriminator 1) 26# SupervisorThread::threadEntryPoint() at /home/pzinn/M2/M2/Macaulay2/system/supervisor.cpp:404 27# SupervisorThread::threadEntryPoint(void*) at /home/pzinn/M2/M2/Macaulay2/system/supervisor.hpp:89 28# 0x00007F6DFFEE1AF6 in /lib64/libgc.so.1 29# GC_call_with_stack_base in /lib64/libgc.so.1 30# 0x00007F6DFE4A66D7 in /lib64/libc.so.6 31# 0x00007F6DFE52A60C in /lib64/libc.so.6 -- end stack trace *-
oh, is it a factory bug?
The segfault is happening in factory, but it's because we're calling a factory function with an empty list. So we should probably check that it's nonempty first.
should probably be fixed, it's annoying: