Subject: bug#42574: closed (Re: bug#42574: Probable (system vm trace) bug)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 21 May 2021 18:39:01 +0000

Your bug report

#42574: Probable (system vm trace) bug

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

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

Subject: Re: bug#42574: Probable (system vm trace) bug
From: lloda <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Fri, 21 May 2021 20:38:33 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

This has been fixed in f9f55b9ce74898d1b0a77dcc9b4aa260e5cd208d. Apologies for not noticing the earlier patch... there were a couple later duplicates.

Thanks!

Subject: Probable (system vm trace) bug
From: Prafulla Giri <[email-masked]>
To: [email-masked]
Date: Tue, 28 Jul 2020 15:23:19 +0545
List-Id: <debbugs-submit.debbugs.gnu.org>

Esteemed Maintainers,

I am quite positive that what I am experiencing is not quite a bug but just
some mis-step on my part. But I have been encouraged to report this as a
possible bug. Thus, here it is.

Context:
Guile version: 3.0.2 (installed using guix)
Loaded Files: simply.scm (
https://github.com/hosoe-masaki/SimplyScheme/blob/master/simply.scm)
Reverse function (referred to in the report, assumes 'simply.scm' has been
loaded):
(define (reverse wd) (if (equal? wd "") "" (word (reverse (bf wd)) (first
wd))))
;; (reverse 'asdf) -> 'fdsa

This started with my first wanting to run a (trace) of a recursive
procedure as seen in Chapter 13 of the book 'Simply Scheme' (
https://people.eecs.berkeley.edu/~bh/ssch13/convince-recur.html). I looked
for a waay to (trace) in guile, but couldn't find anything except ,trace,
which was giving a trace of everything that the function (reverse) called
from inside of it, thus making the trace 'polluted'.

I then looked around and found that a (trace) function, much like the one
being demonstrated in the book used to exist once in guile:
https://www.gnu.org/software/guile/docs/docs-1.8/guile-ref/Tracing.html and
then found that for guile3 there was something that looked similarly
promising: the (trace-calls-to-procedure) function (
https://www.gnu.org/software/guile/docs/master/guile.html/Tracing-Traps.html).
However,
> (trace-calls-to-procedure reverse)
> (reverse 'asdf)
fdsa
produced no trace. This led me to ask around IRC for some guidance
regarding it. Someone from #emacs suggested I try doing this:
http://ix.io/2suZ
When I attempted to do the same thing, however, I encountered the following
error, at the sight of which, it was recommended that I file a (possible)
bug report: https://termbin.com/6nm5

The following `script` typescript might also be of interest to the
maintainers (to be replayed using `scriptreplay`):
typescript - https://termbin.com/sx5o
timing file - https://termbin.com/73ei
(This one records the (call-with-trace) call with both #:call? #f and
without the specification).

I must confess, I don't understand a whole lot of this. All I would like to
say is that I have a feeling (trace-calls-to-procedure procedure) should
have worked like (trace) as shown in chapter 13 section 'trace' in the book
(https://people.eecs.berkeley.edu/~bh/ssch13/convince-recur.html); it just
seems 'right' by the name of it. I was expecting the trace from
(trace-call-to-procedure
reverse) (reverse 'asdf) to be basically like ,trace (reverse 'asdf) but
without the traces of all other procedures.

Please do let me know if I have left out any important details. And please
do let me know if I am doing something wrong here. I am almost quite
certain this is just a minor error on my part, rather than a bug (and I'd
really like to be able to trace those procedures).