Subject: bug#48412: closed (Re: bug#48412: duplicate ?)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 19 May 2021 19:34:02 +0000

Your bug report

#48412: tracepointing and backtracing in the REPL sometime hang

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].

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

Subject: Re: bug#48412: duplicate ?
From: lloda <[email-masked]>
To: [email-masked]
Cc: [email-masked], [email-masked]
Date: Wed, 19 May 2021 21:34:26 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Patch applied in f9f55b9ce74898d1b0a77dcc9b4aa260e5cd208d. Thanks!

> On 16 May 2021, at 09:09, Adriano Peluso <[email-masked]> wrote:
> 
> Il giorno ven, 14/05/2021 alle 11.13 +0200, Adriano Peluso ha scritto:
>> I just noticed someone sent a patch that seems relevant here
>> 
>> It's in #43102
>> 
>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=43102
> 
> I applied this patch
> 
> It does solve the issue, it seems
> 
> Now I can tracepoint my procedure
> 
> 
> 
> 

Subject: tracepointing and backtracing in the REPL sometime hang
From: Adriano Peluso <[email-masked]>
To: [email-masked]
Date: Fri, 14 May 2021 09:02:14 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

in Guile 3.0.5 installed with Guix (as a package manager on top of
Ubuntu)

In a file I have this simple procedure

(define (f n)
  (if (< n 3)
      n
      (+ (f (- n 1))
	 (* 2 (f (- n 2)))
	 (* 3 (f (- n 3))))))

it's a variation of the one calculating the Fibonacci numbers, from an
exercise of the SICP (1.11)

At the REPL, I load the file normally

scheme@(guile-user)> (load "1.11.scm")

Now, I can trace this procedure

scheme@(guile-user)> ,trace (f 4)
trace: |  (f 4)
trace: |  |  (f 3)
trace: |  |  |  (f 2)
trace: |  |  |  2
trace: |  |  |  (f 1)
trace: |  |  |  1
trace: |  |  |  (f 0)
trace: |  |  |  0
trace: |  |  4
trace: |  |  (f 2)
trace: |  |  2
trace: |  |  (f 1)
trace: |  |  1
trace: |  11

But I can't tracepoint it

scheme@(guile-user)> ,tp f
Trap 0: Tracepoint at #<procedure f (n)>.
scheme@(guile-user)> (f 4)
Trap 0: (f 4)
Trap 0: |  (f 3)
Trap 0: |  |  (f 2)
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
Wrong number of arguments to #<procedure return-handler (frame depth
values)>

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> 

and now I can't even print a backtrace

scheme@(guile-user)> (f 4)
Trap 0: (f 4)
Trap 0: |  (f 3)
Trap 0: |  |  (f 2)
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
Wrong number of arguments to #<procedure return-handler (frame depth
values)>

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,bt
In /home/adriano/Documenti/SICP/1.11.scm:
     64:9  4 (f 4)
     64:9  3 (f 3)
While executing meta-command:
In procedure frame-local-ref: Argument 2 out of range: 1
scheme@(guile-user) [1]> 

and now I can't even trace no more

scheme@(guile-user) [1]> ,q
scheme@(guile-user)> ,trace (f 4)
While executing meta-command:
Wrong number of arguments to #<procedure return-handler (frame depth
values)>
scheme@(guile-user)>