Subject: (backtrace) hangs and causes excessive memory usage

From: Christopher Baines <[email-masked]>
Date: Sun, 02 Apr 2023 18:38:26 +0100

I've got this problem in the guix-build-coordinator, but I've been so
far unable to reproduce it in a standalone manor.

When (backtrace) is called, the output seems to start, but then stops as
seen below. The memory usage also seems to then start increasing with
increasingly large jumps over a period of hours.

I've seen calling (backtrace) crash before, but this behaviour where it
seems to get stuck is new. I can't tell for sure whether the excessive
memory usage is directly related, or a consequence of the problem.

I've included some output from (backtrace) where this problem occurs
below.

Backtrace:
In ice-9/boot-9.scm:
  1752:10 13 (with-exception-handler _ _ #:unwind? _ # _)
In guix-build-coordinator/coordinator.scm:
    900:9 12 (_)
In prometheus.scm:
    429:4 11 (call-with-duration-metric _ _ _ #:buckets _ #:docstring …)
In ice-9/boot-9.scm:
  1747:15 10 (with-exception-handler #<procedure 7f18a15931c0 at gu…> …)
In guix-build-coordinator/coordinator.scm:
   913:15  9 (_)
In ice-9/boot-9.scm:
  1752:10  8 (with-exception-handler _ _ #:unwind? _ # _)
In guix-build-coordinator/coordinator.scm:
   915:19  7 (_)
   858:10  6 

Backtrace:
In guix-build-coordinator/utils.scm:
   1179:6 13 (_)
In ice-9/boot-9.scm:
  1747:15 12 (with-exception-handler #<program 7fb7adc56a00 7fb7ab4…> …)
  1747:15 11 (with-exception-handler #<program 7fb7adbf6f00 7fb7a98…> …)
In guix-build-coordinator/coordinator.scm:
   1011:8 10 (_)
In ice-9/boot-9.scm:
  1752:10  9 (with-exception-handler _ _ #:unwind? _ # _)
In prometheus.scm:
    429:4  8 (call-with-duration-metric _ _ _ #:buckets _ #:docstring …)
In ice-9/eval.scm:
    619:8  7