Tweak the job script

Don't use with-fluids (I forget why), and enable core dumps.
This commit is contained in:
Christopher Baines 2025-07-09 12:50:24 +01:00
parent 90ecbdea70
commit 2073e446b7

View file

@ -96,31 +96,39 @@
(let ((opts (parse-options (cdr (program-arguments))))) (let ((opts (parse-options (cdr (program-arguments)))))
(match (assq-ref opts 'arguments) (match (assq-ref opts 'arguments)
((job) ((job)
(with-fluids ((%file-port-name-canonicalization 'none)) (with-exception-handler
(run-fibers (lambda (exn)
(lambda () (simple-format #t "failed enabling core dumps: ~A\n" exn))
(with-exception-handler (lambda ()
(lambda (exn) (setrlimit 'core #f #f))
;; Exit if exceptions get this far, as not all fibers are #:unwind? #t)
;; guaranteed to finish
(primitive-exit 1)) (fluid-set! %file-port-name-canonicalization 'none)
(lambda ()
(process-load-new-guix-revision-job (run-fibers
job (lambda ()
#:skip-system-tests? (assq-ref opts 'skip-system-tests) (with-exception-handler
#:extra-inferior-environment-variables (lambda (exn)
(filter-map ;; Exit if exceptions get this far, as not all fibers are
(match-lambda ;; guaranteed to finish
(('inferior-environment-variable key val) (primitive-exit 1))
(cons key val)) (lambda ()
(_ #f)) (process-load-new-guix-revision-job
opts) job
#:ignore-systems (assq-ref opts 'ignore-systems) #:skip-system-tests? (assq-ref opts 'skip-system-tests)
#:ignore-targets (assq-ref opts 'ignore-targets) #:extra-inferior-environment-variables
#:inferior-memory-limit (assq-ref opts 'inferior-memory-limit) (filter-map
#:parallelism (assq-ref opts 'parallelism))) (match-lambda
#:unwind? #t)) (('inferior-environment-variable key val)
#:hz 0 (cons key val))
#:parallelism 1 (_ #f))
;; Drain to make sure there are no bugs with the use of fibers opts)
#:drain? #t))))) #:ignore-systems (assq-ref opts 'ignore-systems)
#:ignore-targets (assq-ref opts 'ignore-targets)
#:inferior-memory-limit (assq-ref opts 'inferior-memory-limit)
#:parallelism (assq-ref opts 'parallelism)))
#:unwind? #t))
#:hz 0
#:parallelism 1
;; Drain to make sure there are no bugs with the use of fibers
#:drain? #t))))