Subject: (null?) cannot be compiled (error from (language typs types))

From: Maxime Devos <[email-masked]>
Date: Thu, 01 Jul 2021 09:59:09 +0200

Hi,

While hacking on Guix, I encountered the following backtace:

In system/base/compile.scm:
   265:44 19 (_ _ _)
   261:33 18 (_ _ #<directory (guix lint) 7fc93585b3c0>)
In language/cps/optimize.scm:
   128:12 17 (_ _ _)
     87:0 16 (optimize-higher-order-cps _ _)
In language/cps/dce.scm:
   430:33 15 (eliminate-dead-code _)
   114:18 14 (compute-live-code #<intmap 0-14692>)
In language/cps/intmap.scm:
    519:6 13 (visit-branch #(#(#(#<cps (kfun () 0 1608 1)> #<cps (kclause (() () #f () #f) 2)> #<cps (kargs () () (continue 3 (const (guix lint))))> #<cps (kargs (arg) (1) (continue 4 (const #:fi…> …)
…) …) …)
    519:6 12 (visit-branch #(#(#<cps (kargs () () (continue 6157 (call 3990)))> #<cps (kargs () () (throw throw/value+data #(wrong-type-arg "cdr" "Wrong type argument in position 1 (expecting pair):…>
…) …) …)
    519:6 11 (visit-branch #(#<cps (kargs (package wrapper-name) (4018 4019) (continue 6209 (const "\"bash-minimal\" should be in 'native-inputs' when '~a' is used")))> #<cps (kargs (arg) (4020)
(conti…> …) …)
In language/cps/type-checks.scm:
    41:15 10 (elide-type-checks #<intmap 0-14692> 6216 #<intmap 0-14692>)
In language/cps/types.scm:
   1903:6  9 (worklist-fold* #<procedure visit-cont (label typev)> _ _)
  1955:11  8 (visit-cont 6218 #<intmap 6216+0-2>)
    609:0  7 (_ _ _ _ _)
In ice-9/boot-9.scm:
  1685:16  6 (raise-exception _ #:continuable? _)
  1685:16  5 (raise-exception _ #:continuable? _)
  1780:13  4 (_ #<&compound-exception components: (#<&assertion-failure> #<&origin origin: #f> #<&message message: "Wrong number of arguments to ~A"> #<&irritants irritants: (#<procedure 7fc936cfc100
at la…>)
In guix/build/compile.scm:
    167:6  3 (_ _ . _)
In ice-9/boot-9.scm:
  1747:15  2 (with-exception-handler #<procedure 7fc9338b44b0 at ice-9/boot-9.scm:1831:7 (exn)> _ #:unwind? _ #:unwind-for-type _)
In guix/build/compile.scm:
   170:21  1 (_)
In unknown file:
           0 (make-stack #t)
guix/build/compile.scm:170:21: Wrong number of arguments to #<procedure 7fc936cfc100 at language/cps/types.scm:609:0 (in succ param val)>
make[2]: *** [Makefile:6920: make-core-go] Fout 1

I've minimised it to

$ guile
GNU Guile 3.0.7
Copyright (C) 1995-2021 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> (null?)
;;; <stdin>:1:0: warning: possibly wrong number of arguments to `null?'
While compiling expression:
Wrong number of arguments to #<procedure 7f50de023c20 at language/cps/types.scm:609:0 (in succ param val)>
scheme@(guile-user)> 

Greetings,
Maxime.