GNU bug report logs - #15065
VM stack overflows sometimes cause an abort (Guile 2.0)

Previous Next

Package: guile;

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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 15065 in the body.
You can then email your comments to 15065 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#15065; Package guile. (Fri, 09 Aug 2013 21:09:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to ltsampros <at> upnet.gr:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Fri, 09 Aug 2013 21:09:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Leonidas Tsampros <ltsampros <at> upnet.gr>
To: <bug-guile <at> gnu.org>
Subject: guile version 2.0 crashes with a really small number after vm stack
 overflow error
Date: Sat, 10 Aug 2013 00:09:39 +0300
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




Changed bug title to 'VM stack overflows sometimes cause an abort (Guile 2.0)' from 'guile version 2.0 crashes with a really small number after vm stack overflow error' Request was from Mark H Weaver <mhw <at> netris.org> to control <at> debbugs.gnu.org. (Thu, 05 Dec 2013 04:07:03 GMT) Full text and rfc822 format available.

Reply sent to Mark H Weaver <mhw <at> netris.org>:
You have taken responsibility. (Wed, 15 Jan 2014 21:05:02 GMT) Full text and rfc822 format available.

Notification sent to ltsampros <at> upnet.gr:
bug acknowledged by developer. (Wed, 15 Jan 2014 21:05:03 GMT) Full text and rfc822 format available.

Message #12 received at 15065-done <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: ltsampros <at> upnet.gr
Cc: 15065-done <at> debbugs.gnu.org
Subject: Re: bug#15065: guile version 2.0 crashes with a really small number
 after vm stack overflow error
Date: Wed, 15 Jan 2014 16:01:57 -0500
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




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 13 Feb 2014 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 10 years and 68 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.