GNU bug report logs -
#49404
Cross module inlining causes unbound make-struct/no-tail ref
Previous Next
Reported by: Rob Browning <rlb <at> defaultvalue.org>
Date: Sun, 4 Jul 2021 18:32:01 UTC
Severity: normal
Done: Rob Browning <rlb <at> defaultvalue.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 49404 in the body.
You can then email your comments to 49404 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guile <at> gnu.org
:
bug#49404
; Package
guile
.
(Sun, 04 Jul 2021 18:32:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Rob Browning <rlb <at> defaultvalue.org>
:
New bug report received and forwarded. Copy sent to
bug-guile <at> gnu.org
.
(Sun, 04 Jul 2021 18:32:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
This commit casuses lokke's compilation to fail:
commit fd5cb457fb3a450b4b14eb89c8dbd764ba8df52e
Date: Mon Apr 5 20:58:03 2021 +0200
Implement cross-module inlining
* module/language/tree-il/optimize.scm (make-optimizer): Pass
cross-module-inlining? to peval.
* module/language/tree-il/peval.scm (peval): Add cross-module-inlining?
kwarg. Try to inline public module-ref.
The failure looks like this (after applying the patch mentioned in
https://debbugs.gnu.org/49305 so we can get past the #nil issue):
GUILE=/home/rlb/src/lokke/main/guile \
GUILE_AUTO_COMPILE=0 \
/home/rlb/opt/guile-3.0-main/bin/guild-3.0 compile \
-Wunbound-variable -Wmacro-use-before-definition \
-Warity-mismatch -Wformat \
--from=lokke -o mod/lokke/ns/lokke/deps.go mod/lokke/ns/lokke/deps.clj
Backtrace:
In language/tree-il/peval.scm:
853:11 19 (loop _ _ #<<counter> effort: #<variable 7fe52f017730 ?> ?)
338:20 18 (visit-operand #<<operand> var: #<<var> name: recur ge?> ?)
799:6 17 (loop #<tree-il (lambda ((name . recur)) (lambda-case ?> ?)
1690:20 16 (loop _ #<vhash 7fe52ca56ba0 34 pairs> #<<counter> eff?> ?)
981:20 15 (loop _ #<vhash 7fe52ca56ac0 36 pairs> #<<counter> eff?> ?)
981:20 14 (loop _ #<vhash 7fe52ca569c0 38 pairs> #<<counter> eff?> ?)
799:6 13 (loop _ #<vhash 7fe52ca56900 40 pairs> #<<counter> eff?> ?)
799:6 12 (loop _ #<vhash 7fe52ca56900 40 pairs> #<<counter> eff?> ?)
799:6 11 (loop _ #<vhash 7fe52ca56900 40 pairs> #<<counter> eff?> ?)
1659:48 10 (loop _ _ _ test)
In srfi/srfi-1.scm:
586:29 9 (map1 (#<tree-il (primitive not)> #<tree-il (call (@ ?>))
586:17 8 (map1 (#<tree-il (call (@ (lokke base invoke) invoke) ?>))
In language/tree-il/peval.scm:
1659:48 7 (loop _ _ _ value)
In srfi/srfi-1.scm:
586:17 6 (map1 (#<tree-il (@ (lokke ns clojure string) starts?> ?))
In language/tree-il/peval.scm:
1075:14 5 (loop #<tree-il (@ (lokke ns clojure string) starts-wi?> ?)
In lokke/ns/clojure/string.scm:
108:0 4 (lp)
108:0 3 (lp)
108:0 2 (lp)
108:0 1 (lp)
In ice-9/boot-9.scm:
1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Unbound variable: make-struct/no-tail
Please let me know if I can help with further diagnosis.
Thanks
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Reply sent
to
Rob Browning <rlb <at> defaultvalue.org>
:
You have taken responsibility.
(Sun, 12 Jan 2025 18:31:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Rob Browning <rlb <at> defaultvalue.org>
:
bug acknowledged by developer.
(Sun, 12 Jan 2025 18:31:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 49404-done <at> debbugs.gnu.org (full text, mbox):
Rob Browning <rlb <at> defaultvalue.org> writes:
> This commit casuses lokke's compilation to fail:
>
> commit fd5cb457fb3a450b4b14eb89c8dbd764ba8df52e
> Date: Mon Apr 5 20:58:03 2021 +0200
>
> Implement cross-module inlining
>
> * module/language/tree-il/optimize.scm (make-optimizer): Pass
> cross-module-inlining? to peval.
> * module/language/tree-il/peval.scm (peval): Add cross-module-inlining?
> kwarg. Try to inline public module-ref.
>
> The failure looks like this (after applying the patch mentioned in
> https://debbugs.gnu.org/49305 so we can get past the #nil issue):
[...]
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> Unbound variable: make-struct/no-tail
I suspect this has been fixedq and I can no longer reproduce it --
though I'm not certain lokke didn't also change in some relevant way.
In any case, I'll close it for now and we can re-open it if necessary.
I also suspect this may have been related:
commit d01ab7bf5cb97264b48bec96469360f1901d1a35
Author: Andy Wingo <wingo <at> pobox.com>
Date: Mon Jan 17 21:07:22 2022 +0100
Fix inlinable-exports bug for pure modules
* module/language/tree-il/inlinable-exports.scm (compute-decoder): Fix
bug in which inlinable exports in a pure module would have a missing
make-struct/no-tail binding.
Thanks
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 10 Feb 2025 12:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 87 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.