Five asterisks (* * * * *) is a valid cron time specification, but cron-string->calendar-event chokes one it: --8<---------------cut here---------------start------------->8--- $ guix shell guile shepherd guile-fibers -- guile -c '(use-modules (shepherd service timer)) (cron-string->calendar-event "* * * * *")' Backtrace: In ice-9/boot-9.scm: 1752:10 7 (with-exception-handler _ _ #:unwind? _ # _) In unknown file: 6 (apply-smob/0 #) In ice-9/boot-9.scm: 724:2 5 (call-with-prompt _ _ #) In ice-9/eval.scm: 619:8 4 (_ #(#(#))) In ice-9/command-line.scm: 185:19 3 (_ #) In unknown file: 2 (eval (cron-string->calendar-event "* * * * *") #) In shepherd/service/timer.scm: 155:2 1 (calendar-event #:seconds _ #:minutes _ #:hours _ # _ # …) In srfi/srfi-1.scm: 634:9 0 (for-each # …) srfi/srfi-1.scm:634:9: In procedure for-each: ERROR: 1. &message: "calendar-event: hours: 24: value out of range (0-23)" --8<---------------cut here---------------end--------------->8--- I *think* on line 450 in timer.scm there should be `(hours 24 0)' instead of the current `(hours 60 0)'. Tomas -- There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors.