GNU bug report logs - #31594
Code causes guild compile to hang

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guile; Reported by: Tommi Höynälänmaa <tommi.hoynalanmaa@HIDDEN>; dated Fri, 25 May 2018 15:33:01 UTC; Maintainer for guile is bug-guile@HIDDEN.

Message received at 31594 <at> debbugs.gnu.org:


Received: (at 31594) by debbugs.gnu.org; 6 Jun 2018 02:25:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 05 22:25:09 2018
Received: from localhost ([127.0.0.1]:35740 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fQO8K-0001vB-QD
	for submit <at> debbugs.gnu.org; Tue, 05 Jun 2018 22:25:09 -0400
Received: from world.peace.net ([64.112.178.59]:52410)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1fQO8I-0001ue-E6
 for 31594 <at> debbugs.gnu.org; Tue, 05 Jun 2018 22:25:07 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89)
 (envelope-from <mhw@HIDDEN>)
 id 1fQO8B-0007k2-3Q; Tue, 05 Jun 2018 22:24:59 -0400
From: Mark H Weaver <mhw@HIDDEN>
To: Tommi =?utf-8?B?SMO2eW7DpGzDpG5tYWE=?= <tommi.hoynalanmaa@HIDDEN>
Subject: Re: bug#31594: Code causes guild compile to hang
References: <CAAkPRizz=UwoGpdK3qaAnGnk1G0O41tN-bmgwwyftuGZ=0jCQA@HIDDEN>
 <87efhk3nb5.fsf@HIDDEN>
Date: Tue, 05 Jun 2018 22:23:41 -0400
In-Reply-To: <87efhk3nb5.fsf@HIDDEN> (Mark H. Weaver's message of "Tue, 05
 Jun 2018 18:01:34 -0400")
Message-ID: <87vaaw1wlu.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 31594
Cc: 31594 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Mark H Weaver <mhw@HIDDEN> writes:

> Tommi H=C3=B6yn=C3=A4l=C3=A4nmaa <tommi.hoynalanmaa@HIDDEN> writes:
>
>> The following code causes command "guild compile" to hang:
>> ---cut here---
>> (define (select-nearest-methods binder
>>                 index v-fixed-args v-rest-arg vb-included)
>>   (dwl4 "select-nearest-methods")
>>   (assert (is-binder? binder))
>>   (let ((n (vector-length vb-included)))
>>     (do ((i 0 (+ i 1))) ((>=3D i n))
>>       (if (vector-ref vb-included i)
>>       (let ((t1 (get-item-at-index
>>              (vector-ref v-fixed-args i)
>>              (vector-ref v-rest-arg i)
>>              index)))
>>         (do ((j 0 (+ j 1))) ((>=3D j n))
>>           (if (and (not (=3D i j))
>>                (vector-ref vb-included j))
>>           (let ((t2 (get-item-at-index
>>                  (vector-ref v-fixed-args j)
>>                  (vector-ref v-rest-arg j)
>>                  index)))
>>             (if (is-t-subtype? binder t1 t2)
>>             ;; t2 is excluded
>>             (vector-set! vb-included j #f))))))))))
>> ---cut here---

Further investigation reveals that the loop in compute-significant-bits
in (language cps specialize-numbers) fails to terminate.  I instrumented
it as follows:

--8<---------------cut here---------------start------------->8---
diff --git a/module/language/cps/specialize-numbers.scm b/module/language/c=
ps/specialize-numbers.scm
index d5587037b..7be0b5e33 100644
--- a/module/language/cps/specialize-numbers.scm
+++ b/module/language/cps/specialize-numbers.scm
@@ -211,9 +211,21 @@
   "Given the locally inferred types @var{types}, compute a map of VAR ->
 BITS indicating the significant bits needed for a variable.  BITS may be
 #f to indicate all bits, or a non-negative integer indicating a bitmask."
-  (let ((preds (invert-graph (compute-successors cps kfun))))
+  (pk 'compute-significant-bits cps types kfun)
+  (when (getenv "GUILE_DEBUG_CPS")
+    (format (current-warning-port) "CPS:\n")
+    (for-each (match-lambda
+                ((k . v) (format (current-warning-port) "  ~s --> ~s\n" k =
v)))
+              (reverse (intmap-fold acons cps '())))
+    (format (current-warning-port) "TYPES:\n")
+    (for-each (match-lambda
+                ((k . v) (format (current-warning-port) "  ~s --> ~s\n" k =
v)))
+              (reverse (intmap-fold acons types '()))))
+  (pk 'compute-significant-bits-result
+   (let ((preds (pk 'preds (invert-graph (compute-successors cps kfun)))))
     (let lp ((worklist (intmap-keys preds)) (visited empty-intset)
              (out empty-intmap))
+       (pk 'lp 'worklist worklist 'visited visited 'out out)
       (match (intset-prev worklist)
         (#f out)
         (label
@@ -276,7 +288,7 @@
                           (add-unknown-uses out args))))
                    (($ $prompt escape? tag handler)
                     (add-unknown-use out tag)))))
-              (_ out)))))))))
+               (_ out))))))))))
=20
 (define (specialize-operations cps)
   (define (visit-cont label cont cps types sigbits)
--8<---------------cut here---------------end--------------->8---

and here's a reformatted version of the resulting output when compiling
Tommi's code above:

--8<---------------cut here---------------start------------->8---
;;; (compute-significant-bits #<intmap 0-103> #<intmap 13+0-90> 13)

CPS:
  0 --> #<cps (kfun () 0 12 1)>
  1 --> #<cps (kclause (() () #f () #f) 2)>
  2 --> #<cps (kargs () () (continue 3 (primcall current-module)))>
  3 --> #<cps (kargs (module) (1) (continue 4 (const 0)))>
  4 --> #<cps (kargs (scope) (2) (continue 5 (primcall cache-current-module=
! 1 2)))>
  5 --> #<cps (kargs () () (continue 6 (closure 13 0)))>
  6 --> #<cps (kargs (arg) (3) (continue 7 (const select-nearest-methods)))>
  7 --> #<cps (kargs (name) (4) (continue 8 (primcall define! 4)))>
  8 --> #<cps (kargs (box) (5) (continue 9 (closure 13 0)))>
  9 --> #<cps (kargs (#f) (6) (continue 10 (primcall box-set! 5 6)))>
  10 --> #<cps (kargs () () (continue 11 (unspecified)))>
  11 --> #<cps (kargs (unspecified) (7) (continue 12 (values 7)))>
  12 --> #<cps (ktail)>
  13 --> #<cps (kfun ((name . select-nearest-methods)) 8 103 14)>
  14 --> #<cps (kclause ((binder index v-fixed-args v-rest-arg vb-included)=
 () #f () #f) 15)>
  15 --> #<cps (kargs (binder index v-fixed-args v-rest-arg vb-included) (9=
 10 11 12 13) (continue 16 (const dwl4)))>
  16 --> #<cps (kargs (name) (14) (continue 17 (const #t)))>
  17 --> #<cps (kargs (bound?) (15) (continue 18 (const 0)))>
  18 --> #<cps (kargs (scope) (16) (continue 19 (primcall cached-toplevel-b=
ox 16 14 15)))>
  19 --> #<cps (kargs (box) (17) (continue 20 (primcall box-ref 17)))>
  20 --> #<cps (kargs (arg) (18) (continue 21 (const "select-nearest-method=
s")))>
  21 --> #<cps (kargs (arg) (19) (continue 22 (call 18 19)))>
  22 --> #<cps (kreceive () vals 23)>
  23 --> #<cps (kargs (tmp) (20) (continue 24 (const assert)))>
  24 --> #<cps (kargs (name) (21) (continue 25 (primcall cached-toplevel-bo=
x 16 21 15)))>
  25 --> #<cps (kargs (box) (22) (continue 26 (primcall box-ref 22)))>
  26 --> #<cps (kargs (arg) (23) (continue 27 (const is-binder?)))>
  27 --> #<cps (kargs (name) (24) (continue 28 (primcall cached-toplevel-bo=
x 16 24 15)))>
  28 --> #<cps (kargs (box) (25) (continue 29 (primcall box-ref 25)))>
  29 --> #<cps (kargs (arg) (26) (continue 30 (call 26 9)))>
  30 --> #<cps (kreceive (arg) rest 31)>
  31 --> #<cps (kargs (tmp tmp) (27 28) (continue 32 (call 23 27)))>
  32 --> #<cps (kreceive () vals 33)>
  33 --> #<cps (kargs (tmp) (29) (continue 34 (primcall vector-length 13)))>
  34 --> #<cps (kargs (u64) (30) (continue 35 (primcall u64->scm 30)))>
  35 --> #<cps (kargs (n) (31) (continue 36 (branch 101 (primcall >=3D 16 3=
1))))>
  36 --> #<cps (kargs () () (continue 37 (primcall scm->u64 16)))>
  37 --> #<cps (kargs (unboxed) (32) (continue 38 (primcall vector-ref 13 3=
2)))>
  38 --> #<cps (kargs (arg) (33) (continue 67 (branch 39 (values 33))))>
  39 --> #<cps (kargs () () (continue 40 (const get-item-at-index)))>
  40 --> #<cps (kargs (name) (34) (continue 41 (primcall cached-toplevel-bo=
x 16 34 15)))>
  41 --> #<cps (kargs (box) (35) (continue 42 (primcall box-ref 35)))>
  42 --> #<cps (kargs (arg) (36) (continue 43 (primcall vector-ref 11 32)))>
  43 --> #<cps (kargs (arg) (37) (continue 44 (primcall vector-ref 12 32)))>
  44 --> #<cps (kargs (arg) (38) (continue 45 (call 36 37 38 10)))>
  45 --> #<cps (kreceive (t1) rest 46)>
  46 --> #<cps (kargs (tmp tmp) (39 40) (continue 47 (values 16)))>
  47 --> #<cps (kargs (j) (41) (continue 48 (branch 67 (primcall >=3D 41 31=
))))>
  48 --> #<cps (kargs () () (continue 49 (branch 65 (primcall =3D 16 41))))>
  49 --> #<cps (kargs () () (continue 50 (primcall scm->u64 41)))>
  50 --> #<cps (kargs (unboxed) (42) (continue 51 (primcall vector-ref 13 4=
2)))>
  51 --> #<cps (kargs (arg) (43) (continue 65 (branch 52 (values 43))))>
  52 --> #<cps (kargs () () (continue 53 (primcall box-ref 35)))>
  53 --> #<cps (kargs (arg) (44) (continue 54 (primcall vector-ref 11 42)))>
  54 --> #<cps (kargs (arg) (45) (continue 55 (primcall vector-ref 12 42)))>
  55 --> #<cps (kargs (arg) (46) (continue 56 (call 44 45 46 10)))>
  56 --> #<cps (kreceive (t2) rest 57)>
  57 --> #<cps (kargs (tmp tmp) (47 48) (continue 58 (const is-t-subtype?))=
)>
  58 --> #<cps (kargs (name) (49) (continue 59 (primcall cached-toplevel-bo=
x 16 49 15)))>
  59 --> #<cps (kargs (box) (50) (continue 60 (primcall box-ref 50)))>
  60 --> #<cps (kargs (arg) (51) (continue 61 (call 51 9 39 47)))>
  61 --> #<cps (kreceive (arg) rest 62)>
  62 --> #<cps (kargs (tmp tmp) (52 53) (continue 65 (branch 63 (values 52)=
)))>
  63 --> #<cps (kargs () () (continue 64 (const #f)))>
  64 --> #<cps (kargs (arg) (54) (continue 65 (primcall vector-set! 13 42 5=
4)))>
  65 --> #<cps (kargs () () (continue 66 (const 1)))>
  66 --> #<cps (kargs (arg) (55) (continue 47 (primcall add 41 55)))>
  67 --> #<cps (kargs () () (continue 68 (const 1)))>
  68 --> #<cps (kargs (arg) (56) (continue 69 (const 1)))>
  69 --> #<cps (kargs (i) (57) (continue 70 (branch 101 (primcall >=3D 57 3=
1))))>
  70 --> #<cps (kargs () () (continue 71 (primcall scm->u64 57)))>
  71 --> #<cps (kargs (unboxed) (58) (continue 72 (primcall vector-ref 13 5=
8)))>
  72 --> #<cps (kargs (arg) (59) (continue 100 (branch 73 (values 59))))>
  73 --> #<cps (kargs () () (continue 74 (const get-item-at-index)))>
  74 --> #<cps (kargs (name) (60) (continue 75 (primcall cached-toplevel-bo=
x 16 60 15)))>
  75 --> #<cps (kargs (box) (61) (continue 76 (primcall box-ref 61)))>
  76 --> #<cps (kargs (arg) (62) (continue 77 (primcall vector-ref 11 58)))>
  77 --> #<cps (kargs (arg) (63) (continue 78 (primcall vector-ref 12 58)))>
  78 --> #<cps (kargs (arg) (64) (continue 79 (call 62 63 64 10)))>
  79 --> #<cps (kreceive (t1) rest 80)>
  80 --> #<cps (kargs (tmp tmp) (65 66) (continue 81 (values 16)))>
  81 --> #<cps (kargs (j) (67) (continue 82 (branch 100 (primcall >=3D 67 3=
1))))>
  82 --> #<cps (kargs () () (continue 83 (branch 99 (primcall =3D 57 67))))>
  83 --> #<cps (kargs () () (continue 84 (primcall scm->u64 67)))>
  84 --> #<cps (kargs (unboxed) (68) (continue 85 (primcall vector-ref 13 6=
8)))>
  85 --> #<cps (kargs (arg) (69) (continue 99 (branch 86 (values 69))))>
  86 --> #<cps (kargs () () (continue 87 (primcall box-ref 61)))>
  87 --> #<cps (kargs (arg) (70) (continue 88 (primcall vector-ref 11 68)))>
  88 --> #<cps (kargs (arg) (71) (continue 89 (primcall vector-ref 12 68)))>
  89 --> #<cps (kargs (arg) (72) (continue 90 (call 70 71 72 10)))>
  90 --> #<cps (kreceive (t2) rest 91)>
  91 --> #<cps (kargs (tmp tmp) (73 74) (continue 92 (const is-t-subtype?))=
)>
  92 --> #<cps (kargs (name) (75) (continue 93 (primcall cached-toplevel-bo=
x 16 75 15)))>
  93 --> #<cps (kargs (box) (76) (continue 94 (primcall box-ref 76)))>
  94 --> #<cps (kargs (arg) (77) (continue 95 (call 77 9 65 73)))>
  95 --> #<cps (kreceive (arg) rest 96)>
  96 --> #<cps (kargs (tmp tmp) (78 79) (continue 99 (branch 97 (values 78)=
)))>
  97 --> #<cps (kargs () () (continue 98 (const #f)))>
  98 --> #<cps (kargs (arg) (80) (continue 99 (primcall vector-set! 13 68 8=
0)))>
  99 --> #<cps (kargs () () (continue 81 (primcall add 67 56)))>
  100 --> #<cps (kargs () () (continue 69 (primcall add 57 56)))>
  101 --> #<cps (kargs () () (continue 102 (unspecified)))>
  102 --> #<cps (kargs (val) (81) (continue 103 (values 81)))>
  103 --> #<cps (ktail)>

TYPES:
  13 --> #(#<intmap> #<intmap 8+0>)
  14 --> #(#<intmap 8+0> #<intmap 8+0-5>)
  15 --> #(#<intmap 8+0-5> #<intmap 8+0-6>)
  16 --> #(#<intmap 8+0-6> #<intmap 8+0-7>)
  17 --> #(#<intmap 8+0-7> #<intmap 8+0-8>)
  18 --> #(#<intmap 8+0-8> #<intmap 8+0-9>)
  19 --> #(#<intmap 8+0-9> #<intmap 8+0-10>)
  20 --> #(#<intmap 8+0-10> #<intmap 8+0-11>)
  21 --> #(#<intmap 8+0-11> #<intmap 8+0-11>)
  22 --> #(#<intmap 8+0-11> #<intmap 8+0-12>)
  23 --> #(#<intmap 8+0-12> #<intmap 8+0-13>)
  24 --> #(#<intmap 8+0-13> #<intmap 8+0-14>)
  25 --> #(#<intmap 8+0-14> #<intmap 8+0-15>)
  26 --> #(#<intmap 8+0-15> #<intmap 8+0-16>)
  27 --> #(#<intmap 8+0-16> #<intmap 8+0-17>)
  28 --> #(#<intmap 8+0-17> #<intmap 8+0-18>)
  29 --> #(#<intmap 8+0-18> #<intmap 8+0-18>)
  30 --> #(#<intmap 8+0-18> #<intmap 8+0-20>)
  31 --> #(#<intmap 8+0-20> #<intmap 8+0-20>)
  32 --> #(#<intmap 8+0-20> #<intmap 8+0-21>)
  33 --> #(#<intmap 8+0-21> #<intmap 8+0-22>)
  34 --> #(#<intmap 8+0-22> #<intmap 8+0-23>)
  35 --> #(#<intmap 8+0-23> #<intmap 8+0-23> #<intmap 8+0-23>)
  36 --> #(#<intmap 8+0-23> #<intmap 8+0-24>)
  37 --> #(#<intmap 8+0-24> #<intmap 8+0-25>)
  38 --> #(#<intmap 8+0-25> #<intmap 8+0-25> #<intmap 8+0-25>)
  39 --> #(#<intmap 8+0-25> #<intmap 8+0-26>)
  40 --> #(#<intmap 8+0-26> #<intmap 8+0-27>)
  41 --> #(#<intmap 8+0-27> #<intmap 8+0-28>)
  42 --> #(#<intmap 8+0-28> #<intmap 8+0-29>)
  43 --> #(#<intmap 8+0-29> #<intmap 8+0-30>)
  44 --> #(#<intmap 8+0-30> #<intmap 8+0-30>)
  45 --> #(#<intmap 8+0-30> #<intmap 8+0-32>)
  46 --> #(#<intmap 8+0-32> #<intmap 8+0-33>)
  47 --> #(#<intmap 8+0-33> #<intmap 8+0-33> #<intmap 8+0-33>)
  48 --> #(#<intmap 8+0-33> #<intmap 8+0-33> #<intmap 8+0-33>)
  49 --> #(#<intmap 8+0-33> #<intmap 8+0-34>)
  50 --> #(#<intmap 8+0-34> #<intmap 8+0-35>)
  51 --> #(#<intmap 8+0-35> #<intmap 8+0-35> #<intmap 8+0-35>)
  52 --> #(#<intmap 8+0-35> #<intmap 8+0-36>)
  53 --> #(#<intmap 8+0-36> #<intmap 8+0-37>)
  54 --> #(#<intmap 8+0-37> #<intmap 8+0-38>)
  55 --> #(#<intmap 8+0-38> #<intmap 8+0-38>)
  56 --> #(#<intmap 8+0-38> #<intmap 8+0-40>)
  57 --> #(#<intmap 8+0-40> #<intmap 8+0-41>)
  58 --> #(#<intmap 8+0-41> #<intmap 8+0-42>)
  59 --> #(#<intmap 8+0-42> #<intmap 8+0-43>)
  60 --> #(#<intmap 8+0-43> #<intmap 8+0-43>)
  61 --> #(#<intmap 8+0-43> #<intmap 8+0-45>)
  62 --> #(#<intmap 8+0-45> #<intmap 8+0-45> #<intmap 8+0-45>)
  63 --> #(#<intmap 8+0-45> #<intmap 8+0-46>)
  64 --> #(#<intmap 8+0-46> #<intmap 8+0-46>)
  65 --> #(#<intmap 8+0-33> #<intmap 8+0-33,47>)
  66 --> #(#<intmap 8+0-33,47> #<intmap 8+0-33,47>)
  67 --> #(#<intmap 8+0-25> #<intmap 8+0-25,48>)
  68 --> #(#<intmap 8+0-25,48> #<intmap 8+0-25,48-49>)
  69 --> #(#<intmap 8+0-25,48-49> #<intmap 8+0-25,48-49> #<intmap 8+0-25,48=
-49>)
  70 --> #(#<intmap 8+0-25,48-49> #<intmap 8+0-25,48-50>)
  71 --> #(#<intmap 8+0-25,48-50> #<intmap 8+0-25,48-51>)
  72 --> #(#<intmap 8+0-25,48-51> #<intmap 8+0-25,48-51> #<intmap 8+0-25,48=
-51>)
  73 --> #(#<intmap 8+0-25,48-51> #<intmap 8+0-25,48-52>)
  74 --> #(#<intmap 8+0-25,48-52> #<intmap 8+0-25,48-53>)
  75 --> #(#<intmap 8+0-25,48-53> #<intmap 8+0-25,48-54>)
  76 --> #(#<intmap 8+0-25,48-54> #<intmap 8+0-25,48-55>)
  77 --> #(#<intmap 8+0-25,48-55> #<intmap 8+0-25,48-56>)
  78 --> #(#<intmap 8+0-25,48-56> #<intmap 8+0-25,48-56>)
  79 --> #(#<intmap 8+0-25,48-56> #<intmap 8+0-25,48-58>)
  80 --> #(#<intmap 8+0-25,48-58> #<intmap 8+0-25,48-59>)
  81 --> #(#<intmap 8+0-25,48-59> #<intmap 8+0-25,48-59> #<intmap 8+0-25,48=
-59>)
  82 --> #(#<intmap 8+0-25,48-59> #<intmap 8+0-25,48-59> #<intmap 8+0-25,48=
-59>)
  83 --> #(#<intmap 8+0-25,48-59> #<intmap 8+0-25,48-60>)
  84 --> #(#<intmap 8+0-25,48-60> #<intmap 8+0-25,48-61>)
  85 --> #(#<intmap 8+0-25,48-61> #<intmap 8+0-25,48-61> #<intmap 8+0-25,48=
-61>)
  86 --> #(#<intmap 8+0-25,48-61> #<intmap 8+0-25,48-62>)
  87 --> #(#<intmap 8+0-25,48-62> #<intmap 8+0-25,48-63>)
  88 --> #(#<intmap 8+0-25,48-63> #<intmap 8+0-25,48-64>)
  89 --> #(#<intmap 8+0-25,48-64> #<intmap 8+0-25,48-64>)
  90 --> #(#<intmap 8+0-25,48-64> #<intmap 8+0-25,48-66>)
  91 --> #(#<intmap 8+0-25,48-66> #<intmap 8+0-25,48-67>)
  92 --> #(#<intmap 8+0-25,48-67> #<intmap 8+0-25,48-68>)
  93 --> #(#<intmap 8+0-25,48-68> #<intmap 8+0-25,48-69>)
  94 --> #(#<intmap 8+0-25,48-69> #<intmap 8+0-25,48-69>)
  95 --> #(#<intmap 8+0-25,48-69> #<intmap 8+0-25,48-71>)
  96 --> #(#<intmap 8+0-25,48-71> #<intmap 8+0-25,48-71> #<intmap 8+0-25,48=
-71>)
  97 --> #(#<intmap 8+0-25,48-71> #<intmap 8+0-25,48-72>)
  98 --> #(#<intmap 8+0-25,48-72> #<intmap 8+0-25,48-72>)
  99 --> #(#<intmap 8+0-25,48-59> #<intmap 8+0-25,48-59>)
  100 --> #(#<intmap 8+0-25,48-51> #<intmap 8+0-25,48-51>)
  101 --> #(#<intmap 8+0-23> #<intmap 8+0-23,73>)
  102 --> #(#<intmap 8+0-23,73> #<intmap 8+0-23,73>)
  103 --> #(#<intmap 8+0-23,73>)

;;; (preds #<intmap 13+0-90>)
;;; (lp worklist #<intset 13-103>             visited #<intset>          ou=
t #<intmap>)
;;; (lp worklist #<intset 13-102>             visited #<intset 103>      ou=
t #<intmap>)
;;; (lp worklist #<intset 13-101>             visited #<intset 102-103>  ou=
t #<intmap 81+0>)
;;; (lp worklist #<intset 13-100>             visited #<intset 101-103>  ou=
t #<intmap 81+0>)
;;; (lp worklist #<intset 13-99>              visited #<intset 100-103>  ou=
t #<intmap 56+0-1,25>)
;;; (lp worklist #<intset 13-98>              visited #<intset 99-103>   ou=
t #<intmap 56+0-1,11,25>)
;;; (lp worklist #<intset 13-97>              visited #<intset 98-103>   ou=
t #<intmap 13+0,43-44,54-55,67-68>)
;;; (lp worklist #<intset 13-96>              visited #<intset 97-103>   ou=
t #<intmap 13+0,43-44,54-55,67-68>)
;;; (lp worklist #<intset 13-95>              visited #<intset 96-103>   ou=
t #<intmap 13+0,43-44,54-55,65-68>)
;;; (lp worklist #<intset 13-94>              visited #<intset 95-103>   ou=
t #<intmap 13+0,43-44,54-55,65-68>)
;;; (lp worklist #<intset 13-93>              visited #<intset 94-103>   ou=
t #<intmap 9+0,4,47-48,56,58-59,64,68-72>)
;;; (lp worklist #<intset 13-92>              visited #<intset 93-103>   ou=
t #<intmap 9+0,4,47-48,56,58-59,64,67-72>)
;;; (lp worklist #<intset 13-91>              visited #<intset 92-103>   ou=
t #<intmap 9+0,4,6-7,47-48,56,58-59,64,66-72>)
;;; (lp worklist #<intset 13-90>              visited #<intset 91-103>   ou=
t #<intmap 9+0,4,6-7,47-48,56,58-59,64-72>)
;;; (lp worklist #<intset 13-89>              visited #<intset 90-103>   ou=
t #<intmap 9+0,4,6-7,47-48,56,58-59,64-72>)
;;; (lp worklist #<intset 13-88>              visited #<intset 89-103>   ou=
t #<intmap 9+0-1,4,6-7,47-48,56,58-59,61-72>)
;;; (lp worklist #<intset 13-87>              visited #<intset 88-103>   ou=
t #<intmap 9+0-1,3-4,6-7,47-48,56,58-59,61-72>)
;;; (lp worklist #<intset 13-86>              visited #<intset 87-103>   ou=
t #<intmap 9+0-4,6-7,47-48,56,58-59,61-72>)
;;; (lp worklist #<intset 13-85>              visited #<intset 86-103>   ou=
t #<intmap 9+0-4,6-7,47-48,52,56,58-59,61-72>)
;;; (lp worklist #<intset 13-84>              visited #<intset 85-103>   ou=
t #<intmap 9+0-4,6-7,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-83>              visited #<intset 84-103>   ou=
t #<intmap 9+0-4,6-7,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-82>              visited #<intset 83-103>   ou=
t #<intmap 9+0-4,6-7,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-81>              visited #<intset 82-103>   ou=
t #<intmap 9+0-4,6-7,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,99>           visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82,85,96,98>  visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82,85,96>     visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82,85>        visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82>           visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-81>              visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)

;;; (lp worklist #<intset 13-80,99>           visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82,85,96,98>  visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82,85,96>     visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82,85>        visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82>           visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-81>              visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)

;;; (lp worklist #<intset 13-80,99>           visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82,85,96,98>  visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82,85,96>     visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82,85>        visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-80,82>           visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)
;;; (lp worklist #<intset 13-81>              visited #<intset 81-103>   ou=
t #<intmap 9+0-4,6-7,22,47-48,52,56,58-72>)

;;; [the 6 loop states above repeat forever]
--8<---------------cut here---------------end--------------->8---

To be continued ...

     Mark




Information forwarded to bug-guile@HIDDEN:
bug#31594; Package guile. Full text available.

Message received at 31594 <at> debbugs.gnu.org:


Received: (at 31594) by debbugs.gnu.org; 5 Jun 2018 22:03:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 05 18:03:00 2018
Received: from localhost ([127.0.0.1]:35550 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fQK2d-0007NI-1x
	for submit <at> debbugs.gnu.org; Tue, 05 Jun 2018 18:03:00 -0400
Received: from world.peace.net ([64.112.178.59]:50942)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1fQK2b-0007N5-Mx
 for 31594 <at> debbugs.gnu.org; Tue, 05 Jun 2018 18:02:58 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89)
 (envelope-from <mhw@HIDDEN>)
 id 1fQK2U-0006Su-U2; Tue, 05 Jun 2018 18:02:51 -0400
From: Mark H Weaver <mhw@HIDDEN>
To: Tommi =?utf-8?B?SMO2eW7DpGzDpG5tYWE=?= <tommi.hoynalanmaa@HIDDEN>
Subject: Re: bug#31594: Code causes guild compile to hang
References: <CAAkPRizz=UwoGpdK3qaAnGnk1G0O41tN-bmgwwyftuGZ=0jCQA@HIDDEN>
Date: Tue, 05 Jun 2018 18:01:34 -0400
In-Reply-To: <CAAkPRizz=UwoGpdK3qaAnGnk1G0O41tN-bmgwwyftuGZ=0jCQA@HIDDEN>
 ("Tommi \=\?utf-8\?B\?SMO2eW7DpGzDpG5tYWEiJ3M\=\?\= message of "Fri,
 25 May 2018 18:32:24 +0300")
Message-ID: <87efhk3nb5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 31594
Cc: 31594 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

Tommi H=C3=B6yn=C3=A4l=C3=A4nmaa <tommi.hoynalanmaa@HIDDEN> writes:

> The following code causes command "guild compile" to hang:
> ---cut here---
> (define (select-nearest-methods binder
>                 index v-fixed-args v-rest-arg vb-included)
>   (dwl4 "select-nearest-methods")
>   (assert (is-binder? binder))
>   (let ((n (vector-length vb-included)))
>     (do ((i 0 (+ i 1))) ((>=3D i n))
>       (if (vector-ref vb-included i)
>       (let ((t1 (get-item-at-index
>              (vector-ref v-fixed-args i)
>              (vector-ref v-rest-arg i)
>              index)))
>         (do ((j 0 (+ j 1))) ((>=3D j n))
>           (if (and (not (=3D i j))
>                (vector-ref vb-included j))
>           (let ((t2 (get-item-at-index
>                  (vector-ref v-fixed-args j)
>                  (vector-ref v-rest-arg j)
>                  index)))
>             (if (is-t-subtype? binder t1 t2)
>             ;; t2 is excluded
>             (vector-set! vb-included j #f))))))))))
> ---cut here---

I can reproduce this with Guile-2.2.3 on my system running GuixSD.
Simply pasting the above code into a pristine Guile REPL causes it to
hang.  I'm able to compile it to cps, but compiling it to bytecode gets
stuck in what appears to be an infinite loop in 'specialize-operations'
in (language cps specialize-numbers).

The backtrace printer also gets stuck in a loop while trying to print
one of the stack frames in (language cps specialize-numbers).

See below for a transcript.

Thanks for the report.  To be continued...

     Mark


--8<---------------cut here---------------start------------->8---
GNU Guile 2.2.3
Copyright (C) 1995-2017 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 (select-nearest-methods binder
                index v-fixed-args v-rest-arg vb-included)
  (dwl4 "select-nearest-methods")
  (assert (is-binder? binder))
  (let ((n (vector-length vb-included)))
    (do ((i 0 (+ i 1))) ((>=3D i n))
      (if (vector-ref vb-included i)
      (let ((t1 (get-item-at-index
             (vector-ref v-fixed-args i)
             (vector-ref v-rest-arg i)
             index)))
        (do ((j 0 (+ j 1))) ((>=3D j n))
          (if (and (not (=3D i j))
               (vector-ref vb-included j))
          (let ((t2 (get-item-at-index
                 (vector-ref v-fixed-args j)
                 (vector-ref v-rest-arg j)
                 index)))
            (if (is-t-subtype? binder t1 t2)
            ;; t2 is excluded
            (vector-set! vb-included j #f))))))))))

;;; <stdin>:6:2: warning: possibly unbound variable `dwl4'
;;; <stdin>:7:2: warning: possibly unbound variable `assert'
;;; <stdin>:7:10: warning: possibly unbound variable `is-binder?'
;;; <stdin>:11:16: warning: possibly unbound variable `get-item-at-index'
;;; <stdin>:18:20: warning: possibly unbound variable `get-item-at-index'
;;; <stdin>:22:16: warning: possibly unbound variable `is-t-subtype?'
While compiling expression:
User interrupt
scheme@(guile-user)> ,use (system base compile)
scheme@(guile-user)> (define code '(define (select-nearest-methods binder
                index v-fixed-args v-rest-arg vb-included)
  (dwl4 "select-nearest-methods")
  (assert (is-binder? binder))
  (let ((n (vector-length vb-included)))
    (do ((i 0 (+ i 1))) ((>=3D i n))
      (if (vector-ref vb-included i)
      (let ((t1 (get-item-at-index
             (vector-ref v-fixed-args i)
             (vector-ref v-rest-arg i)
             index)))
        (do ((j 0 (+ j 1))) ((>=3D j n))
          (if (and (not (=3D i j))
               (vector-ref vb-included j))
          (let ((t2 (get-item-at-index
                 (vector-ref v-fixed-args j)
                 (vector-ref v-rest-arg j)
                 index)))
            (if (is-t-subtype? binder t1 t2)
            ;; t2 is excluded
            (vector-set! vb-included j #f)))))))))))
scheme@(guile-user)> ,pp code
$2 =3D (define (select-nearest-methods
         binder
         index
         v-fixed-args
         v-rest-arg
         vb-included)
  (dwl4 "select-nearest-methods")
  (assert (is-binder? binder))
  (let ((n (vector-length vb-included)))
    (do ((i 0 (+ i 1)))
        ((>=3D i n))
      (if (vector-ref vb-included i)
        (let ((t1 (get-item-at-index
                    (vector-ref v-fixed-args i)
                    (vector-ref v-rest-arg i)
                    index)))
          (do ((j 0 (+ j 1)))
              ((>=3D j n))
            (if (and (not (=3D i j)) (vector-ref vb-included j))
              (let ((t2 (get-item-at-index
                          (vector-ref v-fixed-args j)
                          (vector-ref v-rest-arg j)
                          index)))
                (if (is-t-subtype? binder t1 t2)
                  (vector-set! vb-included j #f))))))))))
scheme@(guile-user)> (define v (compile code #:from 'scheme #:to 'cps))
scheme@(guile-user)> v
$3 =3D #<intmap 0-122>
scheme@(guile-user)> (define intmap->alist (@@ (language cps intmap) intmap=
->alist))
scheme@(guile-user)> ,pp (intmap->alist v)
$4 =3D ((0 . #<cps (kfun () 0 1 122)>)
 (1 . #<cps (ktail)>)
 (2 . #<cps (kargs (unspecified) (14) (continue 1 (values 14)))>)
 (3 . #<cps (kargs () () (continue 2 (unspecified)))>)
 (4 . #<cps (kargs (box) (15) (continue 3 (primcall box-set! 15 13)))>)
 (5 . #<cps (kargs (name) (16) (continue 4 (primcall define! 16)))>)
 (6 . #<cps (kargs (arg) (13) (continue 5 (const select-nearest-methods)))>)
 (7 . #<cps (ktail)>)
 (8 . #<cps (kargs (arg) (18) (continue 7 (call 7 18)))>)
 (9 . #<cps (kargs (loop) (7) (continue 8 (const 0)))>)
 (10 . #<cps (ktail)>)
 (11 . #<cps (kargs (val) (20) (continue 10 (values 20)))>)
 (12 . #<cps (kargs (arg) (21) (continue 10 (call 7 21)))>)
 (13 . #<cps (kargs (arg) (22) (continue 12 (primcall add 8 22)))>)
 (14 . #<cps (kargs (vals) (23) (continue 13 (const 1)))>)
 (15 . #<cps (kreceive () vals 14)>)
 (16 . #<cps (kargs (arg) (24) (continue 15 (call 10 24)))>)
 (17 . #<cps (kargs (loop) (10) (continue 16 (const 0)))>)
 (18 . #<cps (ktail)>)
 (19 . #<cps (kargs (val) (26) (continue 18 (values 26)))>)
 (20 . #<cps (kargs (arg) (27) (continue 18 (call 10 27)))>)
 (21 . #<cps (kargs (arg) (28) (continue 20 (primcall add 11 28)))>)
 (22 . #<cps (kargs (vals) (29) (continue 21 (const 1)))>)
 (23 . #<cps (kreceive () vals 22)>)
 (24 . #<cps (kargs () () (continue 22 (const ())))>)
 (25 . #<cps (kargs (unboxed) (31) (continue 24 (primcall vector-set! 1 31 =
30)))>)
 (26 . #<cps (kargs (arg) (30) (continue 25 (primcall scm->u64 11)))>)
 (27 . #<cps (kargs (nil) (33) (continue 22 (primcall cons 32 33)))>)
 (28 . #<cps (kargs (val) (32) (continue 27 (const ())))>)
 (29 . #<cps (kargs () () (continue 26 (const #f)))>)
 (30 . #<cps (kargs () () (continue 28 (unspecified)))>)
 (31 . #<cps (kargs (arg rest) (34 35) (continue 30 (branch 29 (values 34))=
))>)
 (32 . #<cps (kreceive (arg) rest 31)>)
 (33 . #<cps (kargs (arg) (36) (continue 32 (call 36 5 9 12)))>)
 (34 . #<cps (kargs (box) (37) (continue 33 (primcall box-ref 37)))>)
 (35 . #<cps (kargs (scope) (40) (continue 34 (primcall cached-toplevel-box=
 40 38 39)))>)
 (36 . #<cps (kargs (bound?) (39) (continue 35 (const 0)))>)
 (37 . #<cps (kargs (name) (38) (continue 36 (const #t)))>)
 (38 . #<cps (kargs (t2 rest) (12 41) (continue 37 (const is-t-subtype?)))>)
 (39 . #<cps (kreceive (t2) rest 38)>)
 (40 . #<cps (kargs (arg) (44) (continue 39 (call 42 43 44 4)))>)
 (41 . #<cps (kargs (unboxed) (45) (continue 40 (primcall vector-ref 2 45))=
)>)
 (42 . #<cps (kargs (arg) (43) (continue 41 (primcall scm->u64 11)))>)
 (43 . #<cps (kargs (unboxed) (46) (continue 42 (primcall vector-ref 3 46))=
)>)
 (44 . #<cps (kargs (arg) (42) (continue 43 (primcall scm->u64 11)))>)
 (45 . #<cps (kargs (box) (47) (continue 44 (primcall box-ref 47)))>)
 (46 . #<cps (kargs (scope) (50) (continue 45 (primcall cached-toplevel-box=
 50 48 49)))>)
 (47 . #<cps (kargs (bound?) (49) (continue 46 (const 0)))>)
 (48 . #<cps (kargs (name) (48) (continue 47 (const #t)))>)
 (49 . #<cps (kargs () () (continue 48 (const get-item-at-index)))>)
 (50 . #<cps (kargs (nil) (52) (continue 22 (primcall cons 51 52)))>)
 (51 . #<cps (kargs (val) (51) (continue 50 (const ())))>)
 (52 . #<cps (kargs () () (continue 49 (rec)))>)
 (53 . #<cps (kargs () () (continue 51 (unspecified)))>)
 (54 . #<cps (kargs (arg) (53) (continue 53 (branch 52 (values 53))))>)
 (55 . #<cps (kargs (arg) (54) (continue 53 (branch 52 (values 54))))>)
 (56 . #<cps (kargs (unboxed) (55) (continue 55 (primcall vector-ref 1 55))=
)>)
 (57 . #<cps (kargs () () (continue 54 (const #f)))>)
 (58 . #<cps (kargs () () (continue 56 (primcall scm->u64 11)))>)
 (59 . #<cps (kargs () () (continue 19 (unspecified)))>)
 (60 . #<cps (kargs () () (continue 58 (branch 57 (primcall =3D 8 11))))>)
 (61 . #<cps (kargs (j) (11) (continue 60 (branch 59 (primcall >=3D 11 6)))=
)>)
 (62 . #<cps (kclause ((j) () #f () #f) 61)>)
 (63 . #<cps (kfun ((name . loop)) 25 18 62)>)
 (64 . #<cps (kargs (nil) (57) (continue 14 (primcall cons 56 57)))>)
 (65 . #<cps (kargs (val) (56) (continue 64 (const ())))>)
 (66 . #<cps (kargs (t1 rest) (9 58) (continue 17 (rec (loop 10 (fun 63))))=
)>)
 (67 . #<cps (kreceive (t1) rest 66)>)
 (68 . #<cps (kargs (arg) (61) (continue 67 (call 59 60 61 4)))>)
 (69 . #<cps (kargs (unboxed) (62) (continue 68 (primcall vector-ref 2 62))=
)>)
 (70 . #<cps (kargs (arg) (60) (continue 69 (primcall scm->u64 8)))>)
 (71 . #<cps (kargs (unboxed) (63) (continue 70 (primcall vector-ref 3 63))=
)>)
 (72 . #<cps (kargs (arg) (59) (continue 71 (primcall scm->u64 8)))>)
 (73 . #<cps (kargs (box) (64) (continue 72 (primcall box-ref 64)))>)
 (74 . #<cps (kargs (scope) (67) (continue 73 (primcall cached-toplevel-box=
 67 65 66)))>)
 (75 . #<cps (kargs (bound?) (66) (continue 74 (const 0)))>)
 (76 . #<cps (kargs (name) (65) (continue 75 (const #t)))>)
 (77 . #<cps (kargs () () (continue 76 (const get-item-at-index)))>)
 (78 . #<cps (kargs (nil) (69) (continue 14 (primcall cons 68 69)))>)
 (79 . #<cps (kargs (val) (68) (continue 78 (const ())))>)
 (80 . #<cps (kargs () () (continue 77 (rec)))>)
 (81 . #<cps (kargs () () (continue 79 (unspecified)))>)
 (82 . #<cps (kargs (arg) (70) (continue 81 (branch 80 (values 70))))>)
 (83 . #<cps (kargs (unboxed) (71) (continue 82 (primcall vector-ref 1 71))=
)>)
 (84 . #<cps (kargs () () (continue 11 (unspecified)))>)
 (85 . #<cps (kargs () () (continue 83 (primcall scm->u64 8)))>)
 (86 . #<cps (kargs (i) (8) (continue 85 (branch 84 (primcall >=3D 8 6))))>)
 (87 . #<cps (kclause ((i) () #f () #f) 86)>)
 (88 . #<cps (kfun ((name . loop)) 19 10 87)>)
 (89 . #<cps (kargs (val) (72) (continue 7 (values 72)))>)
 (90 . #<cps (kargs (n) (6) (continue 9 (rec (loop 7 (fun 88)))))>)
 (91 . #<cps (kargs (u64) (73) (continue 90 (primcall u64->scm 73)))>)
 (92 . #<cps (kargs () () (continue 91 (primcall vector-length 1)))>)
 (93 . #<cps (kargs (vals) (74) (continue 92 (rec)))>)
 (94 . #<cps (kreceive () vals 93)>)
 (95 . #<cps (kargs (arg rest) (76 77) (continue 94 (call 75 76)))>)
 (96 . #<cps (kreceive (arg) rest 95)>)
 (97 . #<cps (kargs (arg) (78) (continue 96 (call 78 5)))>)
 (98 . #<cps (kargs (box) (79) (continue 97 (primcall box-ref 79)))>)
 (99 . #<cps (kargs (scope) (82) (continue 98 (primcall cached-toplevel-box=
 82 80 81)))>)
 (100 . #<cps (kargs (bound?) (81) (continue 99 (const 0)))>)
 (101 . #<cps (kargs (name) (80) (continue 100 (const #t)))>)
 (102 . #<cps (kargs (arg) (75) (continue 101 (const is-binder?)))>)
 (103 . #<cps (kargs (box) (83) (continue 102 (primcall box-ref 83)))>)
 (104 . #<cps (kargs (scope) (86) (continue 103 (primcall cached-toplevel-b=
ox 86 84 85)))>)
 (105 . #<cps (kargs (bound?) (85) (continue 104 (const 0)))>)
 (106 . #<cps (kargs (name) (84) (continue 105 (const #t)))>)
 (107 . #<cps (kargs (vals) (87) (continue 106 (const assert)))>)
 (108 . #<cps (kreceive () vals 107)>)
 (109 . #<cps (kargs (arg) (89) (continue 108 (call 88 89)))>)
 (110 . #<cps (kargs (arg) (88) (continue 109 (const "select-nearest-method=
s")))>)
 (111 . #<cps (kargs (box) (90) (continue 110 (primcall box-ref 90)))>)
 (112 . #<cps (kargs (scope) (93) (continue 111 (primcall cached-toplevel-b=
ox 93 91 92)))>)
 (113 . #<cps (kargs (bound?) (92) (continue 112 (const 0)))>)
 (114 . #<cps (kargs (name) (91) (continue 113 (const #t)))>)
 (115 . #<cps (kargs (binder index v-fixed-args v-rest-arg vb-included) (5 =
4 3 2 1) (continue 114 (const dwl4)))>)
 (116 . #<cps (kclause ((binder index v-fixed-args v-rest-arg vb-included) =
() #f () #f) 115)>)
 (117 . #<cps (kfun ((name . select-nearest-methods)) 17 7 116)>)
 (118 . #<cps (kargs () () (continue 6 (fun 117)))>)
 (119 . #<cps (kargs (scope) (95) (continue 118 (primcall cache-current-mod=
ule! 94 95)))>)
 (120 . #<cps (kargs (module) (94) (continue 119 (const 0)))>)
 (121 .
  #<cps (kargs () () (continue 120 (primcall current-module)))>)
 (122 . #<cps (kclause (() () #f () #f) 121)>))
scheme@(guile-user)> (define vb (compile code #:from 'scheme #:to 'bytecode=
))
ERROR: In procedure scm-error:
User interrupt

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,bt
In current input:
    82:11 13 (_)
In system/base/compile.scm:
    255:6 12 (compile _ #:from _ #:to _ #:env _ #:opts _)
   183:32 11 (compile-fold _ _ _ ())
In language/cps/compile-bytecode.scm:
   609:12 10 (compile-bytecode _ #<module (#{ g767}#) 11b5460> ())
   603:12  9 (lower-cps _ _)
In language/cps/optimize.scm:
    106:0  8 (optimize-first-order-cps _ _)
In language/cps/specialize-numbers.scm:
   724:23  7 (specialize-numbers _)
   438:10  6 (specialize-operations _)
In language/cps/intmap.scm:
    521:5  5 (visit-branch #(#(#<cps (kfun () 0 12 1)> #<cps (kclause (() (=
) #f () #f) 2)> #<cps (kargs () () (continue 3 (primcall current-module=E2=
=80=A6> =E2=80=A6) =E2=80=A6) =E2=80=A6)
    521:5  4 (visit-branch #(#<cps (kfun () 0 12 1)> #<cps (kclause (() () =
#f () #f) 2)> #<cps (kargs () () (continue 3 (primcall current-module)))> #=
 =E2=80=A6) =E2=80=A6)
In language/cps/specialize-numbers.scm:
--8<---------------cut here---------------end--------------->8---




Information forwarded to bug-guile@HIDDEN:
bug#31594; Package guile. Full text available.

Message received at 31594 <at> debbugs.gnu.org:


Received: (at 31594) by debbugs.gnu.org; 27 May 2018 13:04:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 27 09:04:40 2018
Received: from localhost ([127.0.0.1]:50216 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fMvLk-0003Nn-3F
	for submit <at> debbugs.gnu.org; Sun, 27 May 2018 09:04:40 -0400
Received: from mail-wr0-f175.google.com ([209.85.128.175]:41015)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <tommi.hoynalanmaa@HIDDEN>) id 1fMvLh-0003Nb-Pl
 for 31594 <at> debbugs.gnu.org; Sun, 27 May 2018 09:04:38 -0400
Received: by mail-wr0-f175.google.com with SMTP id u12-v6so16106128wrn.8
 for <31594 <at> debbugs.gnu.org>; Sun, 27 May 2018 06:04:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=to:from:subject:message-id:date:user-agent:mime-version
 :content-transfer-encoding:content-language;
 bh=8W1Qk1a9GjMAShaynmmyhwRxg2WMbMdC5mwbfrtqrS8=;
 b=oYRcOr0bYO+HX39NycSnDHN+M257/oOXIO4ks0HpPgHk5SW/9gg5Ie1yfZp+2/Lxpn
 OhL31wUZns4BbNZR0fCBFMvpjoWcT/jsXW5chGQkZOp8GGqlbyWo4UjkUW4X6Qqwwb9e
 X5RcPkv7YvEQ2ccanw1mD1O8wzh0YxYJ5egWHZZRItClh80wc1VMc2jb1G6+CdwfyWJN
 IapaXgIPhhoHqORlmk9oNLUne2LTjfAVNQKMObkYbZkSS9lV5BXXyr3Bqka5Mf8mzOnI
 L/D3JM3aIGRFIQ8uFaUmjD3K8jl7RZPKn9WUAj3TlosTvctaiiST/qPgJ4eSC7rG2XV6
 y7aQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:to:from:subject:message-id:date:user-agent
 :mime-version:content-transfer-encoding:content-language;
 bh=8W1Qk1a9GjMAShaynmmyhwRxg2WMbMdC5mwbfrtqrS8=;
 b=ezN7L7nYR38wrQf3H77wCjtmSPEBIb2Z7hIEdLJYkN0fytGbzZ2R7sl6DWiJjzfJLi
 7Nvzfk/W65xWLzmea8Bc3TDVi+gTjhGByDQrhZPVrJ/1NPlclx2tJOuzHQ6HAkW67Zok
 eK5m3+p9KEe4KN7aQ5Xg5UcqnqTYGmlplKunPAVekxsoByc4bIPDPCYiNaVKSXJSibs4
 tQJyzUeLRhfe/tr627iVgdJ5YrCvS2Cwz7nNUuI8Tk2cIonql/vkzdpML7QVWcF9ffNq
 eGT6ixDYj3N5rIPogv7rFltFF7/Efo+oUCrSW5Wwq9AeviAUjgRGTZjn3SM9Tgm7NNmZ
 bINQ==
X-Gm-Message-State: ALKqPwelptucJuYw/PWp45x2Afc2j7VSUeOSI5VK7wk61D26ZD2EDn2P
 0GyDO/VDsomBkacJrUr7omR6tNw=
X-Google-Smtp-Source: ADUXVKLfhcZk7YifBPDgrdJHg3C6K/lUsrHdLP1Yees9/ZV81X6o9dvmgW953Fia5V81CxeLLCid+g==
X-Received: by 2002:a19:7d05:: with SMTP id y5-v6mr5193783lfc.95.1527426271798; 
 Sun, 27 May 2018 06:04:31 -0700 (PDT)
Received: from [192.168.43.172] (37-219-225-112.nat.bb.dnainternet.fi.
 [37.219.225.112])
 by smtp.gmail.com with ESMTPSA id g62-v6sm1157245lfk.54.2018.05.27.06.04.30
 for <31594 <at> debbugs.gnu.org>
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Sun, 27 May 2018 06:04:31 -0700 (PDT)
To: 31594 <at> debbugs.gnu.org
From: =?UTF-8?B?VG9tbWkgSMO2eW7DpGzDpG5tYWE=?= <tommi.hoynalanmaa@HIDDEN>
Subject: Information on my system
Message-ID: <a048c218-21cc-6ac0-c522-5afaadcba724@HIDDEN>
Date: Sun, 27 May 2018 16:04:30 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.7.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: 31594
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.6 (--)


I use Ubuntu 18.04 and I have the following Guile packages installed in 
my system:

guile-2.2: 2.2.3+1-3build1
guile-2.2-dev: 2.2.3+1-3build1
guile-2.2-doc: 2.2.3+1-3build1
guile-2.2-libs: 2.2.3+1-3build1
guile-2.0: 2.0.13+1-5build2
guile-2.0-doc: 2.0.13+1-5build2
guile-2.0-libs: 2.0.13+1-5build2

Package guile-2.0-dev is not installed. I have selected guile-2.2 to be 
used with
update-alternatives.

      - Tommi Höynälänmaa





Information forwarded to bug-guile@HIDDEN:
bug#31594; Package guile. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 25 May 2018 15:32:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 25 11:32:35 2018
Received: from localhost ([127.0.0.1]:48568 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fMEhn-0007t6-7f
	for submit <at> debbugs.gnu.org; Fri, 25 May 2018 11:32:35 -0400
Received: from eggs.gnu.org ([208.118.235.92]:40396)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <tommi.hoynalanmaa@HIDDEN>) id 1fMEhm-0007su-Ly
 for submit <at> debbugs.gnu.org; Fri, 25 May 2018 11:32:34 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <tommi.hoynalanmaa@HIDDEN>) id 1fMEhg-0001QB-FE
 for submit <at> debbugs.gnu.org; Fri, 25 May 2018 11:32:29 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: *
X-Spam-Status: No, score=1.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM,
 FROM_EXCESS_BASE64,HTML_MESSAGE,T_DKIM_INVALID autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:53300)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <tommi.hoynalanmaa@HIDDEN>)
 id 1fMEhg-0001Py-Bz
 for submit <at> debbugs.gnu.org; Fri, 25 May 2018 11:32:28 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:59586)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <tommi.hoynalanmaa@HIDDEN>) id 1fMEhe-0000U5-Tj
 for bug-guile@HIDDEN; Fri, 25 May 2018 11:32:28 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <tommi.hoynalanmaa@HIDDEN>) id 1fMEhd-0001Nb-OT
 for bug-guile@HIDDEN; Fri, 25 May 2018 11:32:26 -0400
Received: from mail-it0-x234.google.com ([2607:f8b0:4001:c0b::234]:54645)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
 (Exim 4.71) (envelope-from <tommi.hoynalanmaa@HIDDEN>)
 id 1fMEhd-0001Mw-Is
 for bug-guile@HIDDEN; Fri, 25 May 2018 11:32:25 -0400
Received: by mail-it0-x234.google.com with SMTP id z6-v6so7297377iti.4
 for <bug-guile@HIDDEN>; Fri, 25 May 2018 08:32:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:from:date:message-id:subject:to;
 bh=DBhemOg4OjOn6cNuZHdHF48RFUIeeFrWMuk/o8hEur4=;
 b=nNGysVGCEw94LYyhPVA1fTilFgdhqPlj4K+DJ2vVxd6YqLDzSmGakaNa3kzBla8fU7
 6w8V/fMm1r4jcgRKVZn/YNIgNAV+6Kny8x9C6BTqEk6rekIC+MV8/Qg13adJyL5qE2fO
 NGUbo/il8CrRw1lA/9tns5JVhuWg2Aj+YoZLYeI+pPfcnqJX8bQiU+s82AQYoFv1Q/9N
 8MPwoA39GAQxsS6iUPmB4+NqVbRJfTmTXNaIJuOdeYmB5XNs6gAoT8w5dnO4V00L8MTB
 d6uuhOdZDh0p7aAaPH9imcOL302YmOW4Jp5a7I7WmS4HOLwGBMKCsuL241u+wgR2nQhL
 JfHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
 bh=DBhemOg4OjOn6cNuZHdHF48RFUIeeFrWMuk/o8hEur4=;
 b=MMPQVM7o8OD+137G4N8OTnApuH8wEsbOUxC5MfROHAYPhlngtghLKeiWPcJAVGAIna
 9kTLifeojeVU5UzaTQrNYIFvcyPbaTxELO9Wjw/0rCyGtiJj9tke5WJmGFG/n6nxGyVF
 YKe8Uwsr6X9uinPovXQBmXjJoNOQUVD9bwwEArz49XXs/mKll+AtCmGEq83L6MUPWGxh
 NA67jfcEKxc4nMi/rMsc4U8iacj0Z+cxAVGIu9G8FsriZszwdn6C6o2AT+fjMNTtvQ4y
 +IEi8Y85fNU8l/sl0l5FiJuCo2ARUpgLqpOWwS3DYH7jIAKclECFVmE0tmOH35BJ5/cf
 I5Lw==
X-Gm-Message-State: ALKqPweSIJn4KVgdKVM01jTRMrb92T15dj34dSGv2NVnFl3hQ2/taSlO
 ORuyXErOjd/M0QXTN8Njk0NAjlxDYMgvXZAF1Mrk
X-Google-Smtp-Source: ADUXVKKWcXofza/9aJKqKiKPwNG/C5wPBvwzgq8RD4/qk/fkLeqoyvIC+1+wowc8fTxiBtdzCBQ/TgeEAKMQXLC5hQQ=
X-Received: by 2002:a24:42c6:: with SMTP id
 i189-v6mr2494672itb.73.1527262344734; 
 Fri, 25 May 2018 08:32:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a02:9008:0:0:0:0:0 with HTTP; Fri, 25 May 2018 08:32:24
 -0700 (PDT)
From: =?UTF-8?B?VG9tbWkgSMO2eW7DpGzDpG5tYWE=?= <tommi.hoynalanmaa@HIDDEN>
Date: Fri, 25 May 2018 18:32:24 +0300
Message-ID: <CAAkPRizz=UwoGpdK3qaAnGnk1G0O41tN-bmgwwyftuGZ=0jCQA@HIDDEN>
Subject: Code causes guild compile to hang
To: bug-guile@HIDDEN
Content-Type: multipart/alternative; boundary="000000000000896d3f056d097967"
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
 recognized.
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -3.9 (---)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.9 (----)

--000000000000896d3f056d097967
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

The following code causes command "guild compile" to hang:
---cut here---
(define (select-nearest-methods binder
                index v-fixed-args v-rest-arg vb-included)
  (dwl4 "select-nearest-methods")
  (assert (is-binder? binder))
  (let ((n (vector-length vb-included)))
    (do ((i 0 (+ i 1))) ((>=3D i n))
      (if (vector-ref vb-included i)
      (let ((t1 (get-item-at-index
             (vector-ref v-fixed-args i)
             (vector-ref v-rest-arg i)
             index)))
        (do ((j 0 (+ j 1))) ((>=3D j n))
          (if (and (not (=3D i j))
               (vector-ref vb-included j))
          (let ((t2 (get-item-at-index
                 (vector-ref v-fixed-args j)
                 (vector-ref v-rest-arg j)
                 index)))
            (if (is-t-subtype? binder t1 t2)
            ;; t2 is excluded
            (vector-set! vb-included j #f))))))))))
---cut here---

However, the following code works fine:
---cut here---
(define (method-loop binder
             index v-fixed-args v-rest-arg vb-included t1 i n)
  (do ((j 0 (+ j 1))) ((>=3D j n))
    (if (and (not (=3D i j))
         (vector-ref vb-included j))
    (let ((t2 (get-item-at-index
           (vector-ref v-fixed-args j)
           (vector-ref v-rest-arg j)
           index)))
      (if (is-t-subtype? binder t1 t2)
          ;; t2 is excluded
          (vector-set! vb-included j #f))))))


(define (select-nearest-methods binder
                index v-fixed-args v-rest-arg vb-included)
  (dwl4 "select-nearest-methods")
  (assert (is-binder? binder))
  (let ((n (vector-length vb-included)))
    (do ((i 0 (+ i 1))) ((>=3D i n))
      (if (vector-ref vb-included i)
      (let ((t1 (get-item-at-index
             (vector-ref v-fixed-args i)
             (vector-ref v-rest-arg i)
             index)))
        (method-loop binder index v-fixed-args v-rest-arg vb-included
             t1 i n))))))
---cut here---

This problem occurs with guile 2.2.3.

     - Tommi H=C3=B6yn=C3=A4l=C3=A4nmaa

--000000000000896d3f056d097967
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+PGRpdj5UaGUgZm9sbG93aW5nIGNvZGUgY2F1c2VzIGNvbW1hbmQgJnF1
b3Q7Z3VpbGQgY29tcGlsZSZxdW90OyB0byBoYW5nOjwvZGl2PjxkaXY+LS0tY3V0IGhlcmUtLS08
L2Rpdj48ZGl2PihkZWZpbmUgKHNlbGVjdC1uZWFyZXN0LW1ldGhvZHMgYmluZGVyPGJyPsKgwqDC
oCDCoMKgwqAgwqDCoMKgIMKgwqDCoCBpbmRleCB2LWZpeGVkLWFyZ3Mgdi1yZXN0LWFyZyB2Yi1p
bmNsdWRlZCk8YnI+wqAgKGR3bDQgJnF1b3Q7c2VsZWN0LW5lYXJlc3QtbWV0aG9kcyZxdW90Oyk8
YnI+wqAgKGFzc2VydCAoaXMtYmluZGVyPyBiaW5kZXIpKTxicj7CoCAobGV0ICgobiAodmVjdG9y
LWxlbmd0aCB2Yi1pbmNsdWRlZCkpKTxicj7CoMKgwqAgKGRvICgoaSAwICgrIGkgMSkpKSAoKCZn
dDs9IGkgbikpPGJyPsKgwqDCoMKgwqAgKGlmICh2ZWN0b3ItcmVmIHZiLWluY2x1ZGVkIGkpPGJy
PsKgwqDCoCDCoCAobGV0ICgodDEgKGdldC1pdGVtLWF0LWluZGV4PGJyPsKgwqDCoCDCoMKgwqAg
wqDCoMKgwqAgKHZlY3Rvci1yZWYgdi1maXhlZC1hcmdzIGkpPGJyPsKgwqDCoCDCoMKgwqAgwqDC
oMKgwqAgKHZlY3Rvci1yZWYgdi1yZXN0LWFyZyBpKTxicj7CoMKgwqAgwqDCoMKgIMKgwqDCoMKg
IGluZGV4KSkpPGJyPsKgwqDCoCDCoMKgwqAgKGRvICgoaiAwICgrIGogMSkpKSAoKCZndDs9IGog
bikpPGJyPsKgwqDCoCDCoMKgwqDCoMKgIChpZiAoYW5kIChub3QgKD0gaSBqKSk8YnI+wqDCoMKg
IMKgwqDCoCDCoMKgwqDCoMKgwqAgKHZlY3Rvci1yZWYgdmItaW5jbHVkZWQgaikpPGJyPsKgwqDC
oCDCoMKgwqAgwqAgKGxldCAoKHQyIChnZXQtaXRlbS1hdC1pbmRleDxicj7CoMKgwqAgwqDCoMKg
IMKgwqDCoCDCoMKgwqDCoCAodmVjdG9yLXJlZiB2LWZpeGVkLWFyZ3Mgaik8YnI+wqDCoMKgIMKg
wqDCoCDCoMKgwqAgwqDCoMKgwqAgKHZlY3Rvci1yZWYgdi1yZXN0LWFyZyBqKTxicj7CoMKgwqAg
wqDCoMKgIMKgwqDCoCDCoMKgwqDCoCBpbmRleCkpKTxicj7CoMKgwqAgwqDCoMKgIMKgwqDCoCAo
aWYgKGlzLXQtc3VidHlwZT8gYmluZGVyIHQxIHQyKTxicj7CoMKgwqAgwqDCoMKgIMKgwqDCoCA7
OyB0MiBpcyBleGNsdWRlZDxicj7CoMKgwqAgwqDCoMKgIMKgwqDCoCAodmVjdG9yLXNldCEgdmIt
aW5jbHVkZWQgaiAjZikpKSkpKSkpKSk8YnI+PC9kaXY+PGRpdj4tLS1jdXQgaGVyZS0tLTwvZGl2
PjxkaXY+PGJyPjwvZGl2PjxkaXY+SG93ZXZlciwgdGhlIGZvbGxvd2luZyBjb2RlIHdvcmtzIGZp
bmU6PC9kaXY+PGRpdj4tLS1jdXQgaGVyZS0tLTwvZGl2PjxkaXY+KGRlZmluZSAobWV0aG9kLWxv
b3AgYmluZGVyPGJyPsKgwqDCoCDCoMKgwqAgwqDCoMKgwqAgaW5kZXggdi1maXhlZC1hcmdzIHYt
cmVzdC1hcmcgdmItaW5jbHVkZWQgdDEgaSBuKTxicj7CoCAoZG8gKChqIDAgKCsgaiAxKSkpICgo
Jmd0Oz0gaiBuKSk8YnI+wqDCoMKgIChpZiAoYW5kIChub3QgKD0gaSBqKSk8YnI+wqDCoMKgIMKg
wqDCoMKgICh2ZWN0b3ItcmVmIHZiLWluY2x1ZGVkIGopKTxicj7CoMKgwqAgKGxldCAoKHQyIChn
ZXQtaXRlbS1hdC1pbmRleDxicj7CoMKgwqAgwqDCoMKgIMKgwqAgKHZlY3Rvci1yZWYgdi1maXhl
ZC1hcmdzIGopPGJyPsKgwqDCoCDCoMKgwqAgwqDCoCAodmVjdG9yLXJlZiB2LXJlc3QtYXJnIGop
PGJyPsKgwqDCoCDCoMKgwqAgwqDCoCBpbmRleCkpKTxicj7CoMKgwqAgwqAgKGlmIChpcy10LXN1
YnR5cGU/IGJpbmRlciB0MSB0Mik8YnI+wqDCoMKgIMKgwqDCoMKgwqAgOzsgdDIgaXMgZXhjbHVk
ZWQ8YnI+wqDCoMKgIMKgwqDCoMKgwqAgKHZlY3Rvci1zZXQhIHZiLWluY2x1ZGVkIGogI2YpKSkp
KSk8YnI+PGJyPjxicj4oZGVmaW5lIChzZWxlY3QtbmVhcmVzdC1tZXRob2RzIGJpbmRlcjxicj7C
oMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgaW5kZXggdi1maXhlZC1hcmdzIHYtcmVzdC1hcmcg
dmItaW5jbHVkZWQpPGJyPsKgIChkd2w0ICZxdW90O3NlbGVjdC1uZWFyZXN0LW1ldGhvZHMmcXVv
dDspPGJyPsKgIChhc3NlcnQgKGlzLWJpbmRlcj8gYmluZGVyKSk8YnI+wqAgKGxldCAoKG4gKHZl
Y3Rvci1sZW5ndGggdmItaW5jbHVkZWQpKSk8YnI+wqDCoMKgIChkbyAoKGkgMCAoKyBpIDEpKSkg
KCgmZ3Q7PSBpIG4pKTxicj7CoMKgwqDCoMKgIChpZiAodmVjdG9yLXJlZiB2Yi1pbmNsdWRlZCBp
KTxicj7CoMKgwqAgwqAgKGxldCAoKHQxIChnZXQtaXRlbS1hdC1pbmRleDxicj7CoMKgwqAgwqDC
oMKgIMKgwqDCoMKgICh2ZWN0b3ItcmVmIHYtZml4ZWQtYXJncyBpKTxicj7CoMKgwqAgwqDCoMKg
IMKgwqDCoMKgICh2ZWN0b3ItcmVmIHYtcmVzdC1hcmcgaSk8YnI+wqDCoMKgIMKgwqDCoCDCoMKg
wqDCoCBpbmRleCkpKTxicj7CoMKgwqAgwqDCoMKgIChtZXRob2QtbG9vcCBiaW5kZXIgaW5kZXgg
di1maXhlZC1hcmdzIHYtcmVzdC1hcmcgdmItaW5jbHVkZWQ8YnI+wqDCoMKgIMKgwqDCoCDCoMKg
wqAgwqB0MSBpIG4pKSkpKSk8YnI+PC9kaXY+PGRpdj4tLS1jdXQgaGVyZS0tLTwvZGl2PjxkaXY+
PGJyPjwvZGl2PjxkaXY+VGhpcyBwcm9ibGVtIG9jY3VycyB3aXRoIGd1aWxlIDIuMi4zLjwvZGl2
PjxkaXY+PGJyPjwvZGl2PjxkaXY+wqDCoMKgwqAgLSBUb21taSBIw7Z5bsOkbMOkbm1hYTwvZGl2
PjxkaXY+PGJyPjwvZGl2PjwvZGl2Pg0K
--000000000000896d3f056d097967--




Acknowledgement sent to Tommi Höynälänmaa <tommi.hoynalanmaa@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guile@HIDDEN. Full text available.
Report forwarded to bug-guile@HIDDEN:
bug#31594; Package guile. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

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