rtoy / maxima

A Clone of Maxima's repo
Other
0 stars 0 forks source link

segfault when computing bezout(0, a, x) #1689

Open rtoy opened 3 days ago

rtoy commented 3 days ago

Imported from SourceForge on 2024-07-04 23:17:20 Created by programmerjake on 2019-09-06 10:13:47 Original: https://sourceforge.net/p/maxima/bugs/3580


On x86_64 Ubuntu 18.04, using the packaged version of maxima (5.41.0-3).

Running bezout(0, a, x) causes a Lisp fatal error, then running it again causes a segfault.

rtoy commented 3 days ago

Imported from SourceForge on 2024-07-04 23:17:21 Created by robert_dodier on 2019-09-23 04:38:35 Original: https://sourceforge.net/p/maxima/bugs/3580/#2545


rtoy commented 3 days ago

Imported from SourceForge on 2024-07-04 23:17:25 Created by robert_dodier on 2019-09-23 04:38:35 Original: https://sourceforge.net/p/maxima/bugs/3580/#6e7c


I get an error (Maxima 5.43 + Clisp) about CDR: 0 is not a list. which means that bezout is assuming the first argument is a nonatomic expression.

(For the record, :lisp (setq *debugger-hook* nil) and then bezout(0, a, x); provokes the error and drops into the Lisp debugger; then backtrace shows that the error is in $BEZOUT, i.e. the Maxima function bezout.)

It appears that what needs to happen is to check for special cases in bezout. I am not familiar enough with this topic to say what the result should be in this case. What result should be expected for bezout(0, a, x)?

rtoy commented 3 days ago

Imported from SourceForge on 2024-07-04 23:17:28 Created by programmerjake on 2019-09-23 04:42:00 Original: https://sourceforge.net/p/maxima/bugs/3580/#6e7c/c52e


it should give an error, I think, though it's likely I'm wrong.