Subject: Re: bug#15065: guile version 2.0 crashes with a really small number after vm stack overflow error

From: Mark H Weaver <[email-masked]>
Date: Wed, 15 Jan 2014 16:01:57 -0500

Leonidas Tsampros <[email-masked]> writes:

> scheme@(guile-user)> (define (cube x)
>   (* x x x))
> scheme@(guile-user)> (define (sum term a next b)
>   (if (> a b)
>       0
>       (+ (term a)
> 	 (sum term (next a) next b))))
> scheme@(guile-user)> (define (integral f a b dx)
>   (define (add-dx x) (+ x dx))
>   (* (sum f (+ a (/ dx 2.0)) add-dx b)
>      dx))
> scheme@(guile-user)> (integral cube 0.0 1.0 0.01)
> $1 = 0.24998750000000042
> scheme@(guile-user)> (integral cube 0.0 1.0 0.001)
> $2 = 0.249999875000001
> scheme@(guile-user)> (integral cube 0.0 1.0 0.0001)
> <unnamed port>:1:0: In procedure cube:
> <unnamed port>:1:0: Throw to key `vm-error' with args `(vm-run "VM: Stack overflow" ())'.
>
> Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
> scheme@(guile-user) [1]> ,q
> scheme@(guile-user)> (integral cube 0.0 1.0 0.000001)
> Aborted

This is now fixed in the git repository, and will be in Guile 2.0.10.

http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commitdiff;h=70057f3408f8bb469941fa3ab497076ec8f2a117

I'm closing this bug.

     Thanks!
       Mark