Subject: bug#44742: Cuirass crashed when run interactively

From: Mathieu Othacehe <[email-masked]>
Date: Thu, 19 Nov 2020 18:49:06 +0100

Hello,

When running Cuirass (3fd0eb1) directly from a command line, I have
the following error:

--8<---------------cut here---------------start------------->8---
2020-11-19T18:34:29 exception arguments: (#f "Wrong number of arguments to ~A" (#<procedure 7f8f7ffea660 at git/structs.scm:562:22 (ptr _)>) #f)
In ice-9/boot-9.scm:
  1731:15 12 (with-exception-handler #<procedure 7f8f7fe26d80 at ic…> …)
  1736:10 11 (with-exception-handler _ _ #:unwind? _ # _)
    718:2 10 (call-with-prompt ("break") #<procedure 7f8f82214c80 a…> …)
    718:2  9 (call-with-prompt ("continue") #<procedure 7f8f8221486…> …)
In ice-9/eval.scm:
    619:8  8 (_ #(#(#<directory (guile-user) 7f8f83128f00> #<var…> …)))
In srfi/srfi-1.scm:
    634:9  7 (for-each #<procedure 7f8f7ff52180 at cuirass/base.scm…> …)
In ice-9/boot-9.scm:
  1731:15  6 (with-exception-handler #<procedure 7f8f7fe26720 at ic…> …)
  1669:16  5 (raise-exception _ #:continuable? _)
  1764:13  4 (_ #<&compound-exception components: (#<&assertion-fail…>)
In cuirass/utils.scm:
    319:8  3 (_ _ . _)
In ice-9/boot-9.scm:
  1731:15  2 (with-exception-handler #<procedure 7f8f7c42d510 at ic…> …)
In cuirass/utils.scm:
   320:22  1 (_)
In unknown file:
           0 (make-stack #t)
ERROR: In procedure make-stack:
Wrong number of arguments to #<procedure 7f8f7ffea660 at git/structs.scm:562:22 (ptr _)>
--8<---------------cut here---------------end--------------->8---

this seems to be cause by the recent addition of a progress bar when
using Guile-Git.

The following work-around seem to confirm it:

--8<---------------cut here---------------start------------->8---
-                 (fetch-input store input
-                              #:writable-copy? (compile? input)))))
+                 (parameterize ((current-error-port (%make-void-port "rw+")))
+                   (fetch-input store input
+                                #:writable-copy? (compile? input))))))
--8<---------------cut here---------------end--------------->8---

Thanks,

Mathieu