all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#68895: Difference between trace behavior in guix repl and guile
@ 2024-02-02 16:21 Adriel Dumas--Jondeau via Bug reports for GNU Guix
  2025-01-04 18:25 ` bug#68895: `guix repl` breaks Guile REPL features 45mg
  0 siblings, 1 reply; 5+ messages in thread
From: Adriel Dumas--Jondeau via Bug reports for GNU Guix @ 2024-02-02 16:21 UTC (permalink / raw)
  To: 68895

[-- Attachment #1: Type: text/plain, Size: 640 bytes --]


Here's what's happening in a guix repl:

```
(guix-user)> ,use (guix scripts build)
(guix-user)> ,trace (guix-build "hello") ; doesn't output any trace for some reason
```

And here'the same for a guile repl:

```
(guile-user)> ,use (guix scripts build)
(guile-user)> ,trace (guix-build "hello") ; however it does work
trace: |  (guix-build "hello")
trace: |  |  (_ (guix scripts) #:ensure #f)
trace: |  |  (_ #<procedure 7ff4802c5000 at ice-9/boot-9.scm:3241:7 ()>)
trace: |  |  |  (lock-mutex #<mutex 7ff487d01fc0>)
...
```

This was observed during a working group on profiling during the Guix Days.

-- 
Adriel

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 686 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#68895: `guix repl` breaks Guile REPL features
  2024-02-02 16:21 bug#68895: Difference between trace behavior in guix repl and guile Adriel Dumas--Jondeau via Bug reports for GNU Guix
@ 2025-01-04 18:25 ` 45mg
  2025-01-08 15:21   ` Suhail Singh
  0 siblings, 1 reply; 5+ messages in thread
From: 45mg @ 2025-01-04 18:25 UTC (permalink / raw)
  To: Adriel Dumas--Jondeau, 68895

Adriel Dumas--Jondeau <leirda@disroot.org> writes:

> (guix-user)> ,use (guix scripts build)
> (guix-user)> ,trace (guix-build "hello") ; doesn't output any trace for some reason

It looks like this isn't the only REPL command that doesn't work in
`guix repl`. I haven't done anything close to a full investigation (I am
new to using Guile!), but many other commands simply don't work.

For example, breakpoints are not respected.
`guix repl`:
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> (define (my-f x) (+ x 1))
scheme@(guix-user)> ,break my-f
Trap 0: Breakpoint at #<procedure my-f (x)>.
scheme@(guix-user)> (my-f 2)
$1 = 3
--8<---------------cut here---------------end--------------->8---
`guile`:
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> (define (my-f x) (+ x 1))
scheme@(guix-user)> ,break my-f
Trap 0: Breakpoint at #<procedure my-f (x)>.
scheme@(guix-user)> (my-f 2)
$1 = 3
--8<---------------cut here---------------end--------------->8---

Neither are tracepoints.
`guix repl`:
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> (define (my-f x) (+ x 1))
scheme@(guix-user)> ,tracepoint my-f
Trap 0: Tracepoint at #<procedure my-f (x)>.
scheme@(guix-user)> (my-f 2)
$1 = 3
--8<---------------cut here---------------end--------------->8---
`guile`:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (define (my-f x) (+ x 1))
scheme@(guile-user)> ,tracepoint my-f
Trap 0: Tracepoint at #<procedure my-f (x)>.
scheme@(guile-user)> (my-f 2)
Trap 0: (my-f 2)
Trap 0: 3
$1 = 3
--8<---------------cut here---------------end--------------->8---





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug#68895: `guix repl` breaks Guile REPL features
  2025-01-04 18:25 ` bug#68895: `guix repl` breaks Guile REPL features 45mg
@ 2025-01-08 15:21   ` Suhail Singh
  2025-01-08 15:25     ` bug#68895: Difference between trace behavior in guix repl and guile Suhail Singh
  0 siblings, 1 reply; 5+ messages in thread
From: Suhail Singh @ 2025-01-08 15:21 UTC (permalink / raw)
  To: 45mg; +Cc: Adriel Dumas--Jondeau, 68895, Guix-devel mailing list

45mg <45mg.writes@gmail.com> writes:

> It looks like this isn't the only REPL command that doesn't work in
> `guix repl`. I haven't done anything close to a full investigation (I am
> new to using Guile!), but many other commands simply don't work.

Thank you for your investigation.  I am cc-ing guix-devel in case they
have insight regarding these.

-- 
Suhail


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug#68895: Difference between trace behavior in guix repl and guile
  2025-01-08 15:21   ` Suhail Singh
@ 2025-01-08 15:25     ` Suhail Singh
  2025-01-21 14:15       ` Maxim Cournoyer
  0 siblings, 1 reply; 5+ messages in thread
From: Suhail Singh @ 2025-01-08 15:25 UTC (permalink / raw)
  To: Suhail Singh; +Cc: 45mg, Guix-devel mailing list, 68895, Adriel Dumas--Jondeau

Suhail Singh <suhailsingh247@gmail.com> writes:

>> It looks like this isn't the only REPL command that doesn't work in
>> `guix repl`. I haven't done anything close to a full investigation (I am
>> new to using Guile!), but many other commands simply don't work.
>
> Thank you for your investigation.  I am cc-ing guix-devel in case they
> have insight regarding these.

Whoops, sent too quickly.  Current (probably inexhaustive) list:

- trace
- tracepoint
- break

-- 
Suhail


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug#68895: Difference between trace behavior in guix repl and guile
  2025-01-08 15:25     ` bug#68895: Difference between trace behavior in guix repl and guile Suhail Singh
@ 2025-01-21 14:15       ` Maxim Cournoyer
  0 siblings, 0 replies; 5+ messages in thread
From: Maxim Cournoyer @ 2025-01-21 14:15 UTC (permalink / raw)
  To: Suhail Singh; +Cc: Guix-devel mailing list, 45mg, 68895, Adriel Dumas--Jondeau

Hello,

Suhail Singh <suhailsingh247@gmail.com> writes:

> Suhail Singh <suhailsingh247@gmail.com> writes:
>
>>> It looks like this isn't the only REPL command that doesn't work in
>>> `guix repl`. I haven't done anything close to a full investigation (I am
>>> new to using Guile!), but many other commands simply don't work.
>>
>> Thank you for your investigation.  I am cc-ing guix-devel in case they
>> have insight regarding these.
>
> Whoops, sent too quickly.  Current (probably inexhaustive) list:
>
> - trace
> - tracepoint
> - break

Perhaps Guix configures Guile to use the no-debug VM even for the REPL?
Se the '--no-debug' documentation in info '(guile) Command-line
Options':

   ‘--debug’
        Start with the debugging virtual machine (VM) engine.  Using the
        debugging VM will enable support for VM hooks, which are needed for
        tracing, breakpoints, and accurate call counts when profiling.  The
        debugging VM is slower than the regular VM, though, by about ten
        percent.  *Note VM Hooks::, for more information.

        By default, the debugging VM engine is only used when entering an
        interactive session.  When executing a script with ‘-s’ or ‘-c’,
        the normal, faster VM is used by default.

Indeed, if you look at the shebang of scripts/guix.in, which is the
template for the 'guix' entry point script, it uses the '-s' argument.

I'm not sure if there's a way to enable the debug VM after Guile was
started in the equivalent of --no-debug.

-- 
Thanks,
Maxim


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-01-21 14:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-02 16:21 bug#68895: Difference between trace behavior in guix repl and guile Adriel Dumas--Jondeau via Bug reports for GNU Guix
2025-01-04 18:25 ` bug#68895: `guix repl` breaks Guile REPL features 45mg
2025-01-08 15:21   ` Suhail Singh
2025-01-08 15:25     ` bug#68895: Difference between trace behavior in guix repl and guile Suhail Singh
2025-01-21 14:15       ` Maxim Cournoyer

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.