GNU bug report logs - #12459
Strange issue with circular dependancies

Previous Next

Package: guile;

Reported by: rixed <at> happyleptic.org

Date: Mon, 17 Sep 2012 11:50: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: rixed <at> happyleptic.org
To: 12459 <at> debbugs.gnu.org
Subject: bug#12459: Strange issue with circular dependancies
Date: Mon, 17 Sep 2012 13:48:08 +0200
[Message part 1 (text/plain, inline)]
While the compiler does manage most circular dependancies, some cases still
cannot be compiled.

For instance, with the attached circ-{a,b,c}.scm the compilation of b fails
with:

% GUILE_LOAD_PATH=. guile-tools compile -Warity-mismatch -Wformat -Wunused-variable -Wduplicate-case-datum -Wbad-case-datum -o circ-b.go circ-b.scm
Backtrace:
In ice-9/boot-9.scm:
2131: 19 [save-module-excursion #<procedure 2648a80 at ice-9/boot-9.scm:2787:17 ()>]
2797: 18 [#<procedure 2648a80 at ice-9/boot-9.scm:2787:17 ()>]
In unknown file:
   ?: 17 [primitive-load-path "circ-a" #f]
In ice-9/eval.scm:
 487: 16 [#<procedure 210ac60 at ice-9/eval.scm:481:4 (exp)> (use-modules # #)]
In ice-9/psyntax.scm:
1091: 15 [expand-top-sequence ((use-modules (circ-b) (circ-c))) () ...]
 976: 14 [scan ((use-modules (circ-b) (circ-c))) () ...]
 270: 13 [scan ((# #) #(syntax-object *unspecified* # #)) () (()) ...]
In ice-9/boot-9.scm:
3258: 12 [process-use-modules (((circ-b)) ((circ-c)))]
 621: 11 [map #<procedure 21d8fe0 at ice-9/boot-9.scm:3258:25 (mif-args)> ((#) (#))]
3259: 10 [#<procedure 21d8fe0 at ice-9/boot-9.scm:3258:25 (mif-args)> ((circ-c))]
2594: 9 [resolve-interface (circ-c) #:select ...]
2519: 8 [#<procedure 21cb760 at ice-9/boot-9.scm:2507:4 (name #:optional autoload version #:key ensure)> # ...]
2786: 7 [try-module-autoload (circ-c) #f]
2131: 6 [save-module-excursion #<procedure 26507b0 at ice-9/boot-9.scm:2787:17 ()>]
2797: 5 [#<procedure 26507b0 at ice-9/boot-9.scm:2787:17 ()>]
In unknown file:
   ?: 4 [primitive-load-path "circ-c" #f]
In ice-9/eval.scm:
 435: 3 [eval #<memoized (define y (@ (circ-b) fb))> ()]
 432: 2 [eval #<memoized (@ (circ-b) fb)> ()]
In unknown file:
   ?: 1 [memoize-variable-access! #<memoized (@ (circ-b) fb)> #f]
In ice-9/boot-9.scm:
 106: 0 [#<procedure 23e9100 at ice-9/boot-9.scm:97:6 (thrown-k . args)> unbound-variable ...]

ice-9/boot-9.scm:106:20: In procedure #<procedure 23e9100 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
ice-9/boot-9.scm:106:20: In procedure module-lookup: Unbound variable: fb

Note that it compiles if you remove (circ-c) from used-modules in circ-a.scm.

[circ-a.scm (text/plain, attachment)]
[circ-b.scm (text/plain, attachment)]
[circ-c.scm (text/plain, attachment)]

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

Previous Next


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