segfault in AssociativeAlgebras::pointScheme example
Open
Nobody has claimed this yet.
Engine
Interfaces
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
This is a new one that I haven't seen before. I got this trying to build Macaulay2 in OpenSUSE Tumbleweed:
i8 : S = threeDimSklyanin (QQ,{1,1,-2},{x,y,z})
o8 = S
o8 : FreeAlgebraQuotient
i9 : P = pointScheme(S,X)
3 3 3
o9 = ideal(2X + 2X - 6X X X + 2X )
1 2 1 2 3 3
o9 : Ideal of QQ[X ..X ]
1 3
i10 : netList minimalPrimes P
-- SIGSEGV
-* stack trace, pid: 137281
0# boost::stacktrace::basic_stacktrace<std::allocator<boost::stacktrace::frame> >::basic_stacktrace() at /usr/include/boost/stacktrace/stacktrace.hpp:161
1# segv_handler at /__w/M2-workflows/M2-workflows/M2/M2/BUILD/build/Macaulay2/d/../../../../Macaulay2/d/main.cpp:243
2# 0x0000000000042910 in /lib64/libc.so.6
3# fmpz_poly_divides in /lib64/libflint.so.21
4# fmpz_bpoly_divides at /usr/include/c++/15/complex:377
5# fmpz_bpoly_factor at /usr/include/eigen3/unsupported/Eigen/../../Eigen/src/Core/products/GeneralMatrixVector.h:210
6# Eigen::internal::lhs_process_one_packet<4, 1l, 1l, std::complex<eigen_mpfr::mpreal>, std::complex<eigen_mpfr::mpreal>, std::complex<eigen_mpfr::mpreal>, std::complex<eigen_mpfr::mpreal>, std::complex<eigen_mpfr::mpreal>, std::complex<eigen_mpfr::mpreal>, std::complex<eigen_mpfr::mpreal>, Eigen::internal::gebp_traits<std::complex<eigen_mpfr::mpreal>, std::complex<eigen_mpfr::mpreal>, true, false, 1, 0>, Eigen::internal::BlasLinearMapper<std::complex<eigen_mpfr::mpreal>, long, 0, 1>, Eigen::internal::blas_data_mapper<std::complex<eigen_mpfr::mpreal>, long, 0, 0, 1> >::operator()(Eigen::internal::blas_data_mapper<std::complex<eigen_mpfr::mpreal>, long, 0, 0, 1> const&, std::complex<eigen_mpfr::mpreal> const*, std::complex<eigen_mpfr::mpreal> const*, std::complex<eigen_mpfr::mpreal>, long, long, long, long, long, long, int, long, long, long, long, long) at /usr/include/eigen3/unsupported/Eigen/../../Eigen/src/Core/products/GeneralBlockPanelKernel.h:1277
7# eigen_mpfr::mpreal::mpreal(eigen_mpfr::mpreal const&) at /__w/M2-workflows/M2-workflows/M2/M2/BUILD/build/Macaulay2/e/../../../../Macaulay2/e/mpreal.h:592 (discriminator 3)
8# eigen_mpfr::mpreal::mpreal() at /__w/M2-workflows/M2-workflows/M2/M2/BUILD/build/Macaulay2/e/../../../../Macaulay2/e/mpreal.h:584 (discriminator 1)
9# factorize(CanonicalForm const&, bool) in /lib64/libfactory-4.4.1.so
10# factorize(CanonicalForm const&, bool) in /lib64/libfactory-4.4.1.so
11# rawFactorBase(RingElement const*, engine_RawRingElementArray_struct**, M2_arrayint_struct**, RingElement const*) at /__w/M2-workflows/M2-workflows/M2/M2/BUILD/build/Macaulay2/e/../../../../Macaulay2/e/interface/factory.cpp:711 (discriminator 3)
12# interface_rawFactor at /__w/M2-workflows/M2-workflows/M2/M2/BUILD/build/Macaulay2/d/../../../../Macaulay2/d/interface.dd:1447
There's calls to factory, eigen, and flint here!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure with the threeDimSklyanin, pointScheme, and minimalPrimes commands shown in the issue. Start by reading the stack-trace entries for e/interface/factory.cpp:711 and d/interface.dd:1447, then trace the calls into factory, Eigen, and FLINT. Done means the example completes without a SIGSEGV and the failure has a regression test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100