Subject: bug#75836: closed (Re: bug#75836: shepherd: cron-string->calendar-event does not seem to work)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 05 Feb 2025 14:26:02 +0000

Your bug report

#75836: shepherd: cron-string->calendar-event does not seem to work

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
75836: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75836
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#75836: shepherd: cron-string->calendar-event does not seem to work
From: Ludovic Courtès <[email-masked]>
To: Tomas Volf <[email-masked]>
Cc: [email-masked]
Date: Wed, 05 Feb 2025 15:25:47 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Tomas Volf <[email-masked]> skribis:

> $ guix shell guile shepherd guile-fibers -- guile -c '(use-modules (shepherd service timer)) (cron-string->calendar-event "* * * * *")'

[...]

>   1. &message: "calendar-event: hours: 24: value out of range (0-23)"
>
> I *think* on line 450 in timer.scm there should be `(hours 24 0)'
> instead of the current `(hours 60 0)'.

Indeed.  Fixed in Shepherd commit
e23044715b14dae3158926a49b771fd5862d65db.

Thanks!

Ludo’.

Subject: shepherd: cron-string->calendar-event does not seem to work
From: Tomas Volf <[email-masked]>
To: [email-masked]
Date: Sat, 25 Jan 2025 20:06:49 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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 #<thunk 7f8d870d7300>)
In ice-9/boot-9.scm:
    724:2  5 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
    619:8  4 (_ #(#(#<directory (guile-user) 7f8d870dac80>)))
In ice-9/command-line.scm:
   185:19  3 (_ #<input: string 7f8d870d4850>)
In unknown file:
           2 (eval (cron-string->calendar-event "* * * * *") #<direc…>)
In shepherd/service/timer.scm:
    155:2  1 (calendar-event #:seconds _ #:minutes _ #:hours _ # _ # …)
In srfi/srfi-1.scm:
    634:9  0 (for-each #<procedure 7f8d7f382a80 at shepherd/service…> …)

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.