Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

irreducibleCharacteristicSeries segfault #3497

Open
pzinn opened this issue Sep 25, 2024 · 2 comments
Open

irreducibleCharacteristicSeries segfault #3497

pzinn opened this issue Sep 25, 2024 · 2 comments

Comments

@pzinn
Copy link
Contributor

pzinn commented Sep 25, 2024

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 *-
@pzinn
Copy link
Contributor Author

pzinn commented Sep 25, 2024

oh, is it a factory bug?

@d-torrance
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants