GNU bug report logs - #39997
High CPU load and no return value with 3.0.0

Previous Next

Package: guile;

Reported by: Roel Janssen <roel <at> gnu.org>

Date: Mon, 9 Mar 2020 12:14:02 UTC

Severity: normal

Merged with 39251

Full log


Message #8 received at 39997 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Roel Janssen <roel <at> gnu.org>
Cc: 39997 <at> debbugs.gnu.org
Subject: Re: bug#39997: High CPU load and no return value with 3.0.0
Date: Wed, 11 Mar 2020 12:07:33 +0100
Hi,

Roel Janssen <roel <at> gnu.org> skribis:

> When I use the "md5" module from guile-lib (release 0.2.6.1) together
> with the following snippet in Guile 3.0.0, it never returns, while on
> Guile 2.2.6, it returns the MD5 sum of the input string:
> ---
> (use-modules (md5))
>
> (define (md5-from-string input)
>   (call-with-input-string input md5))
>
> (define (random-ascii length)
>   "Returns a random string of ASCII characters of length LENGTH."
>   (list->string
>    (map (lambda _ (integer->char (+ (random 95) 32)))
>         (iota length))))
>
> (display
>  (md5-from-string
>   (random-ascii 32)))
> ---
>
> Could you point me in the right direction for finding the problem?

The Guix package has this patch:

        '(begin
           ;; Work around miscompilation on Guile 3.0.0 at -O2:
           ;; <https://bugs.gnu.org/39251>.
           (substitute* "src/md5.scm"
             (("\\(define f-ash ash\\)")
              "(define f-ash (@ (guile) ash))\n")
             (("\\(define f-add \\+\\)")
              "(define f-add (@ (guile) +))\n"))
           #t)

It’s very likely that you’re hitting this problem.

HTH!

Ludo’.




This bug report was last modified 5 years and 95 days ago.

Previous Next


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