[Ecls-list] Segfault uncaught by ECL when running Maxima

Dima Pasechnik dimpase+ecl at gmail.com
Thu Dec 20 07:49:44 UTC 2012


On 18 December 2012 07:00, Jean-Pierre Flori <jpflori at gmail.com> wrote:
> Dear all,
>
> While testing the latest released version of Maxima on top of the
> latest version of ECL, we found out that some segfault was not
> gracefully treated by ECL.
> See
> http://trac.sagemath.org/sage_trac/ticket/13324#comment:122
> This particular piece of code is run in Maxima on top of CLISP where
> the segfault seems to be properly caught.
> If you run the same piece of code with Maxima on top of ECL, ECL will crash.
>

more precisely:

ECL (Embeddable Common-Lisp) 12.12.1 (git:UNKNOWN)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.
Top level.
> (require `maxima)

;;; Loading #P"/usr/local/src/sage/sage-5.5.rc0/local/lib/ecl/maxima.fas"
;;; Loading #P"/usr/local/src/sage/sage-5.5.rc0/local/lib/ecl/sb-bsd-sockets.fas"
;;; Loading #P"/usr/local/src/sage/sage-5.5.rc0/local/lib/ecl/sockets.fas"
("SB-BSD-SOCKETS" "SOCKETS" "MAXIMA")
> (in-package maxima)

#<"MAXIMA" package>
MAXIMA> #$taylor (cos(x)*sin(x)/abs(sin(x)), x, 0, 0)$

Condition of type: STACK-OVERFLOW
BINDING-STACK overflow at size 10240. Stack can probably be resized.

Available restarts:

1. (CONTINUE) Extend stack size
2. (RESTART-TOPLEVEL) Go back to Top-Level REPL.

Broken at SI:BYTECODES. [Evaluation of: (MAXIMA::MEVAL '((MAXIMA::$AT)
((MAXIMA::MTIMES . #1=(MAXIMA::SIMP)) ((MAXIMA::%COS .
#2=(MAXIMA::SIMP)) MAXIMA::$X) #3=((MAXIMA::%SIN . #2#) MAXIMA::$X)
((MAXIMA::MEXPT . #1#) ((MAXIMA::MABS . #2#) #3#) -1))
((MAXIMA::MEQUAL) MAXIMA::$X 0)))]
>>

Now, if I hit Control-D, I land in a long series of

;;;
;;; Detected access to protected memory, also kwown as 'bus or
segmentation fault'.
;;; Jumping to the outermost toplevel prompt
;;;

which ends in a segfault.

If instead I do (quit) I get

>> (quit)

Condition of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.

(and after this Control-D gives the same segfault as above).

---------------------------------------------
I guess it could be that stack overflow corrupts something.

Best,
Dima


> Best,
>
> --
> Jean-Pierre Flori
>
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> _______________________________________________
> Ecls-list mailing list
> Ecls-list at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ecls-list




More information about the ecl-devel mailing list