GNU bug report logs -
#15065
VM stack overflows sometimes cause an abort (Guile 2.0)
Previous Next
Reported by: ltsampros <at> upnet.gr
Date: Fri, 9 Aug 2013 21:09:02 UTC
Severity: normal
Done: Mark H Weaver <mhw <at> netris.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#15065: VM stack overflows sometimes cause an abort (Guile 2.0)
which was filed against the guile package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 15065 <at> debbugs.gnu.org.
--
15065: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15065
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Leonidas Tsampros <ltsampros <at> upnet.gr> 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
[Message part 3 (message/rfc822, inline)]
Transcript from crash session:
$ guile
GNU Guile 2.0.9-deb+1-1
Copyright (C) 1995-2013 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
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
$ guile -v
guile (GNU Guile) 2.0.9-deb+1-1
Copyright (C) 2013 Free Software Foundation, Inc.
License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>.
This is free software: you are free to change and redistribute it.
$ dpkg -l | grep -i guile
ii guile-2.0 2.0.9+1-1 amd64 GNU extension language and Scheme interpreter
ii guile-2.0-doc 2.0.9+1-1 all Documentation for Guile 2.0
ii guile-2.0-libs 2.0.9+1-1 amd64 Core Guile libraries
$ ./config.guess
x86_64-unknown-linux-gnu
$ uname -a
Linux kepler 3.9-1-amd64 #1 SMP Debian 3.9.8-1 x86_64 GNU/Linux
Thanks
This bug report was last modified 11 years and 131 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.