GNU bug report logs - #49404
Cross module inlining causes unbound make-struct/no-tail ref

Previous Next

Package: guile;

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.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Rob Browning <rlb <at> defaultvalue.org>
Subject: bug#49404: closed (Re: bug#49404: Cross module inlining causes
 unbound make-struct/no-tail ref)
Date: Sun, 12 Jan 2025 18:31:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#49404: Cross module inlining causes unbound make-struct/no-tail ref

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

-- 
49404: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49404
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Rob Browning <rlb <at> defaultvalue.org>
To: 49404-done <at> debbugs.gnu.org
Subject: Re: bug#49404: Cross module inlining causes unbound
 make-struct/no-tail ref
Date: Sun, 12 Jan 2025 12:30:52 -0600
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

[Message part 3 (message/rfc822, inline)]
From: Rob Browning <rlb <at> defaultvalue.org>
To: bug-guile <at> gnu.org
Subject: Cross module inlining causes unbound make-struct/no-tail ref
Date: Sun, 04 Jul 2021 13:31:15 -0500
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



This bug report was last modified 213 days ago.

Previous Next


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