Menu

#1880 Crash on attached input

closed
nobody
None
5
2010-01-28
2010-01-23
Jason Ansel
No

Attached input file generates problems for some newer version of maxima in ubuntu/debian. The input is generated by my program.

5.13.0-3.1+b1 (from debian lenny/amd64)
Works fine

5.17.1-1 (from debian squeeze/amd64)
Works fine

5.17.1-1ubuntu1 (from ubuntu karmic/amd64)
Seg Fault, no error reported
$ maxima < maxima.input > /dev/null
zsh: segmentation fault maxima < maxima.input > /dev/null

5.20.1-3 (from debian sid/amd64)
Abort(), following error reported:
$ maxima < maxima.input | tail
(%i26) (%o26) [_r1_x >= 0]
(%i27) (%o27) [n >= _r1_x]
(%i28) (%o28) [equal(i, _r1_x)]
(%i29) (%o29) true
(%i30) (%o30) true
(%i31)
Maxima encountered a Lisp error:

Unrecoverable error: value stack overflow.
zsh: abort maxima < maxima.input |
zsh: done tail

Discussion

  • Jason Ansel

    Jason Ansel - 2010-01-23

    Input commands needed to generate the crash

     
  • Dieter Kaiser

    Dieter Kaiser - 2010-01-24

    The input file has 1093 lines. I do not know what the file is supposed to do. A lot of lines are redundant. Nevertheless, I have worked out a simple example which shows a Maxima problem and is part of the example file:

    (%i1) assume(equal(x,i));
    (%o1) [equal(x, i)]

    (%i2) diff(x+1,x);
    INFO: Control stack guard page reprotected

    Observed with Maxima 5.20post and SBCL 1.0.29.

    Dieter Kaiser

     
  • Dieter Kaiser

    Dieter Kaiser - 2010-01-24

    I have found the bug and I have introduced it with the extension to look at integer facts into the database.

    The routines maxima-integerp and check-integer-facts call each other. I have not build in code to avoid an endless recursion for the situation that two symbols are assumed to be equal, but have no further properties. I will correct it as soon as possible.

    Dieter Kaiser

     
  • Jason Ansel

    Jason Ansel - 2010-01-24

    Thank you for the quick reply Dieter Kaiser.

    [QUOTE]
    The input file has 1093 lines. I do not know what the file is supposed to
    do. A lot of lines are redundant.
    [/QUOTE]

    In isolation, the file may look a bit silly and redundant. It is a log of communication between my compiler and maxima. The outputs are parsed and used to understand and manipulate affine coordinates during program compilation. Currently we need to ask our users/developers to downgrade maxima in order to get our compiler working. If curios, more info on can be found here: (We haven't released code yet, but hope to soon)
    http://projects.csail.mit.edu/petabricks/

    Thanks again,
    --Jason

     
  • Dieter Kaiser

    Dieter Kaiser - 2010-01-28

    Fixed in compar.lisp revision 1.65.
    Closing this bug report as fixed.
    Dieter Kaiser

     
  • Dieter Kaiser

    Dieter Kaiser - 2010-01-28
    • status: open --> closed
     

Log in to post a comment.