Subject: bug#60522: closed (Re: bug#60522: make-vector takes 100% cpu if called without argument in the REPL)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 16 Jan 2023 14:38:03 +0000

Your bug report

#60522: make-vector takes 100% cpu if called without argument in the REPL

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 [email-masked].

-- 
60522: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60522
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#60522: make-vector takes 100% cpu if called without argument in the REPL
From: Ludovic Courtès <[email-masked]>
To: Sascha Ziemann <[email-masked]>
Cc: [email-masked]
Date: Mon, 16 Jan 2023 15:36:54 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Sascha Ziemann <[email-masked]> skribis:

> The following throws an error:
> guile -c '(make-vector)'
>
> But the evaluation of '(make-vector)' in the REPL generats just a warning:
>
> ;;; <stdin>:1:0: warning: possibly wrong number of arguments to `make-vector'
>
> and seems to enter an endless loop afterwards.

The guts of the problem is an endless loop while reducing primitives:

--8<---------------cut here---------------start------------->8---
scheme@(language tree-il primitives)> (make-call #f (make-primitive-ref #f 'make-vector) '())
$21 = #<tree-il (call (primitive make-vector))>
scheme@(language tree-il primitives)> (resolve-primitives $21 (current-module))
$22 = #<tree-il (primcall make-vector)>
scheme@(language tree-il primitives)> (expand-primcall $22)
$23 = #<tree-il (call (primitive make-vector))>
--8<---------------cut here---------------end--------------->8---

This is fixed in 51152392ef04b053e3c7b2576473df2df9d08fe0:

--8<---------------cut here---------------start------------->8---
scheme@(language tree-il primitives)> (expand-primcall $22)
$32 = #<tree-il (primcall make-vector)>
--8<---------------cut here---------------end--------------->8---

Thanks!

Ludo’.

Subject: make-vector takes 100% cpu if called without argument in the REPL
From: Sascha Ziemann <[email-masked]>
To: [email-masked]
Date: Tue, 3 Jan 2023 17:57:19 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

The following throws an error:
guile -c '(make-vector)'

But the evaluation of '(make-vector)' in the REPL generats just a warning:

;;; <stdin>:1:0: warning: possibly wrong number of arguments to `make-vector'

and seems to enter an endless loop afterwards.

Environment:
$ guile --version
guile (GNU Guile) 3.0.5
Packaged by Debian (3.0.5-deb+3.0.5-4)
Copyright (C) 2021 Free Software Foundation, Inc.

License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ uname -a
Linux l2108 5.10.0-20-amd64 #1 SMP Debian 5.10.158-2 (2022-12-13)
x86_64 GNU/Linux