"Substitute" makes M2 crash #2177
-
Hi, I've ran into a situation where M2 crashes, and I don't know what to do about it. I've managed to isolate a fairly simply minimal non-working example:
After running that, I get
|
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 5 replies
-
I was able to reproduce this with debugging symbols: i8 : substitute(M, t => 0)
-- SIGSEGV
-* stack trace, pid: 3487693
0# stack_trace(std::ostream&, bool) at ../d/main.cpp:127
1# segv_handler at ../d/main.cpp:244
2# 0x00007F46693DB040 in /lib/x86_64-linux-gnu/libc.so.6
3# FractionField::simplify(frac_elem*) const at ../e/frac.cpp:132
4# FractionField::divide(ring_elem, ring_elem) const at ../e/frac.cpp:599
5# PolyRing::imp_attempt_to_cancel_lead_term(ring_elem&, ring_elem, ring_elem&, int*) const at ../e/poly.cpp:1010
6# PolyRing::remainderAndQuotient(ring_elem, ring_elem, ring_elem&) const at ../e/poly.cpp:1179
7# PolyRing::divide(ring_elem, ring_elem) const at ../e/poly.cpp:986
8# FractionField::eval(RingMap const*, ring_elem, int) const at ../e/frac.cpp:628
9# RingMap::eval_term(Ring const*, ring_elem, int const*, int, int) const at ../e/ringmap.cpp:157
10# PolyRing::eval(RingMap const*, ring_elem, int) const at ../e/poly.cpp:1333
11# interface_rawRingMapEval at ../d/interface.dd:3328
12# evaluate_evalraw at ../d/evaluate.d:1297 |
Beta Was this translation helpful? Give feedback.
-
Here's what I get with a very recent version from the development branch, compiled in debug mode: + ./M2 --no-readline --print-width 169 --no-debug
Macaulay2, version 1.18.0.1
with packages: ConwayPolynomials, Elimination, IntegralClosure, InverseSystems, LLLBases, MinimalPrimes, PrimaryDecomposition, ReesAlgebra, Saturation, TangentCone
i1 : input "~/src/M2/M2.git/M2/BUILD/dan/bug14.m2"
ii2 : K=frac(QQ[t])
oo2 = K
oo2 : FractionField
ii3 : R=K[y,x, MonomialOrder=>GLex];
ii4 : use R;
ii5 : M=matrix{{x*(1/t^3),x*(1/(2*t))}}
oo5 = | 1/t3x 1/2tx |
1 2
oo5 : Matrix R <--- R
ii6 : M=substitute(M, x=>1)
oo6 = | 1/t3 1/2t |
1 2
oo6 : Matrix R <--- R
ii7 : substitute(M, t=>0)
../../bug14.m2:6:1:(3):[4]: error: division by zero! |
Beta Was this translation helpful? Give feedback.
-
see #2178 |
Beta Was this translation helpful? Give feedback.
-
Fixed in PR #2480. |
Beta Was this translation helpful? Give feedback.
see #2178