GNU bug report logs - #12182
guile 2.0.6: "Value out of range: 0" when compiling a procedure

Previous Next

Package: guile;

Reported by: Feufochmar <guill.delacourt <at> gmail.com>

Date: Sat, 11 Aug 2012 22:22:01 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Feufochmar <guill.delacourt <at> gmail.com>
Subject: bug#12182: closed (Re: bug#12182: guile 2.0.6: "Value out of
 range: 0" when compiling a procedure)
Date: Fri, 23 Nov 2012 23:22:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#12182: guile 2.0.6: "Value out of range: 0" when compiling a procedure

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 12182 <at> debbugs.gnu.org.

-- 
12182: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12182
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: Feufochmar <guill.delacourt <at> gmail.com>
Cc: 12182-done <at> debbugs.gnu.org
Subject: Re: bug#12182: guile 2.0.6: "Value out of range: 0" when compiling a
	procedure
Date: Sat, 24 Nov 2012 00:19:32 +0100
Hi,

Sorry for the late reply.

Feufochmar <guill.delacourt <at> gmail.com> skribis:

> $ guild compile test.scm
> Backtrace:
> In language/tree-il/optimize.scm:
>   44: 19 [optimize! #<tree-il (lambda () #)> #<module (#{ g40}#) 2097ab0> ...]
> In language/tree-il/cse.scm:
>  537: 18 [visit #<tree-il (lambda () (lambda-case #))> #<vlist ()> ...]
>  543: 17 [visit #<tree-il (lambda-case (# #))> #<vhash 22cf540 1 pairs> ...]
>  483: 16 [visit #<tree-il #> #<vhash 22cf540 1 pairs> #<vlist ()> ...]
>  537: 15 [visit #<tree-il (lambda (#) (lambda-case #))> #<vhash 22cf540 1 pairs> ...]
>  543: 14 [visit #<tree-il (lambda-case (# #))> #<vhash 22cf4a0 2 pairs> ...]
>  429: 13 [visit #<tree-il (let # # # ...)> #<vhash 22cf4a0 2 pairs> #<vlist ()> ...]
>  370: 12 [lp (#<tree-il (lambda () #)>) () #<vlist ()>]
>  537: 11 [visit #<tree-il (lambda () (lambda-case #))> #<vhash 22cf4a0 2 pairs> ...]
>  543: 10 [visit #<tree-il (lambda-case (# #))> #<vhash 22cf400 3 pairs> ...]
>  437: 9 [visit #<tree-il (letrec* # # ...)> #<vhash 22cf400 3 pairs> ...]
>  533: 8 [visit #<tree-il (apply # # ...)> #<vhash 23250e0 19 pairs> ...]
>  370: 7 [lp (#<tree-il #> #<tree-il #> #<tree-il #> #<tree-il #>) () #<vlist ()>]
>  533: 6 [visit #<tree-il (apply # #)> #<vhash 23250e0 19 pairs> ...]
>  370: 5 [lp (#<tree-il (if # # #)>) () #<vlist ()>]
>  403: 4 [return #<tree-il (if # # #)> #<vlist ()>]
>  333: 3 [find-dominating-lexical #<tree-il (if # # ...)> 0 ...]
>  315: 2 [unroll #<vhash 23250e0 19 pairs> 19 13]
> In ice-9/vlist.scm:
>  303: 1 [vlist-ref #<vhash 23250e0 19 pairs> 19]
> In ice-9/boot-9.scm:
>  106: 0 [#<procedure 204f280 at ice-9/boot-9.scm:97:6 (thrown-k . args)> out-of-range ...]
>
> ice-9/boot-9.scm:106:20: In procedure #<procedure 204f280 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
> ice-9/boot-9.scm:106:20: Value out of range: 0

This is the same issue as 12883, which is now fixed in the stable-2.0
branch (will be in 2.0.7):

  http://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=2c7b7e0f214be5ec5184949a94209668775f60bc

Thanks,
Ludo’.

[Message part 3 (message/rfc822, inline)]
From: Feufochmar <guill.delacourt <at> gmail.com>
To: bug-guile <at> gnu.org
Subject: guile 2.0.6: "Value out of range: 0" when compiling a procedure
Date: Sat, 11 Aug 2012 22:46:39 +0200
Hello,

guile 2.0.6 fails to compile the following procedure with the error "Value out of range: 0".

~~~~~~~

;; get all points inside a distance of the half-line starting from (x0 . y0) and containing (x1 . y1)
;; the argument dist is the square of the distance we want to reach
(define (get-half-line-points x0 y0 x1 y1 dist)
        (if (and (eq? x0 x1) (eq? y0 y1))
            (list (cons x0 y0))
            (letrec*
              ((steep? (> (abs (- y1 y0)) (abs (- x1 x0))))
               (x-orig (if steep? y0 x0))
               (y-orig (if steep? x0 y0))
               (x-dest (if steep? y1 x1))
               (y-dest (if steep? x1 y1))
               (delta-x (abs (- x-dest x-orig)))
               (delta-y (abs (- y-dest y-orig)))
               (delta-err (/ delta-y delta-x))
               (x-step (if (< x-orig x-dest) 1 -1))
               (y-step (if (< y-orig y-dest) 1 -1))
               (plot
                 (lambda (x y error points)
                         (if (< dist (+ (expt (- x x-orig) 2) (expt (- y y-orig) 2)))
                             (reverse points)
                             (let ((new-error (+ error delta-err)))
                                  (plot
                                    (+ x-step x)
                                    (if (>= new-error 0.5) (+ y y-step) y)
                                    (if (>= new-error 0.5) (- new-error 1) new-error)
                                    (cons (if steep? (cons y x) (cons x y)) points)))))))
              (plot x-orig y-orig 0 '()) )))

~~~~~~~

The backtrace I have with guild compile :

$ guild compile test.scm
Backtrace:
In language/tree-il/optimize.scm:
  44: 19 [optimize! #<tree-il (lambda () #)> #<module (#{ g40}#) 2097ab0> ...]
In language/tree-il/cse.scm:
 537: 18 [visit #<tree-il (lambda () (lambda-case #))> #<vlist ()> ...]
 543: 17 [visit #<tree-il (lambda-case (# #))> #<vhash 22cf540 1 pairs> ...]
 483: 16 [visit #<tree-il #> #<vhash 22cf540 1 pairs> #<vlist ()> ...]
 537: 15 [visit #<tree-il (lambda (#) (lambda-case #))> #<vhash 22cf540 1 pairs> ...]
 543: 14 [visit #<tree-il (lambda-case (# #))> #<vhash 22cf4a0 2 pairs> ...]
 429: 13 [visit #<tree-il (let # # # ...)> #<vhash 22cf4a0 2 pairs> #<vlist ()> ...]
 370: 12 [lp (#<tree-il (lambda () #)>) () #<vlist ()>]
 537: 11 [visit #<tree-il (lambda () (lambda-case #))> #<vhash 22cf4a0 2 pairs> ...]
 543: 10 [visit #<tree-il (lambda-case (# #))> #<vhash 22cf400 3 pairs> ...]
 437: 9 [visit #<tree-il (letrec* # # ...)> #<vhash 22cf400 3 pairs> ...]
 533: 8 [visit #<tree-il (apply # # ...)> #<vhash 23250e0 19 pairs> ...]
 370: 7 [lp (#<tree-il #> #<tree-il #> #<tree-il #> #<tree-il #>) () #<vlist ()>]
 533: 6 [visit #<tree-il (apply # #)> #<vhash 23250e0 19 pairs> ...]
 370: 5 [lp (#<tree-il (if # # #)>) () #<vlist ()>]
 403: 4 [return #<tree-il (if # # #)> #<vlist ()>]
 333: 3 [find-dominating-lexical #<tree-il (if # # ...)> 0 ...]
 315: 2 [unroll #<vhash 23250e0 19 pairs> 19 13]
In ice-9/vlist.scm:
 303: 1 [vlist-ref #<vhash 23250e0 19 pairs> 19]
In ice-9/boot-9.scm:
 106: 0 [#<procedure 204f280 at ice-9/boot-9.scm:97:6 (thrown-k . args)> out-of-range ...]

ice-9/boot-9.scm:106:20: In procedure #<procedure 204f280 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
ice-9/boot-9.scm:106:20: Value out of range: 0


Feufochmar




This bug report was last modified 12 years and 240 days ago.

Previous Next


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