irreducibleCharacteristicSeries segfault
Nobody has claimed this yet.
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
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 >::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 const&) in /lib64/libfactory-4.4.0.so
4# neworder(List const&) in /lib64/libfactory-4.4.0.so
5# neworderint(List 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 *-
```
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
Start with the irreducibleCharacteristicSeries reproducer in the issue and follow the stack trace to rawIdealReorder in interface/factory.cpp around line 790. Run the empty-ideal example to confirm the crash, then inspect how the empty input reaches Factory's reorder functions. Done means the command no longer segfaults and regression coverage verifies its resulting behavior.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100