Macaulay2 / M2

The primary source code repository for Macaulay2, a system for computing in commutative algebra, algebraic geometry and related fields.
https://macaulay2.com
347 stars 231 forks source link

std::logic_error crash: inserted duplicate entry into a KD tree #2264

Open mahrud opened 3 years ago

mahrud commented 3 years ago

Try this in M2:

R = ZZ/3[x,y,z];
isSupportedInZeroLocus(ideal vars R, HH_1 koszul vars R)

Result:

terminate called after throwing an instance of 'std::logic_error'
  what():  ERROR: Inserted duplicate entry into a KD tree.
/home/linuxbrew/.linuxbrew/bin/M2: line 2: 2941408 Aborted                 (core dumped) LD_LIBRARY_PATH=`dirname "$0"`/../lib/Macaulay2/lib:$LD_LIBRARY_PATH `dirname "$0"`/M2-binary "$@"

If I prune the homology, it doesn't crash.

@mikestillman this might be at least tangentially related to the saturation algorithms in the engine.

mahrud commented 3 years ago

Never mind, I don't think it's related to saturation. It's related to groebnerBasis:

i1 : groebnerBasis(id_((ZZ/3[x,y,z])^3), Strategy => "F4")
terminate called after throwing an instance of 'std::logic_error'
  what():  ERROR: Inserted duplicate entry into a KD tree.
mahrud commented 3 years ago

Interestingly, it's not F4 related:

i1 : groebnerBasis(id_((ZZ/3[x,y,z])^3), Strategy => "MGB")
terminate called after throwing an instance of 'std::logic_error'
  what():  ERROR: Inserted duplicate entry into a KD tree.