This is an odd one, but it's happening in multiple instances in the same timezone: The timezone is Africa/Cairo. They switch to daylight savings on April 25, today. This makes 2025-04-25 00:00-00:59 invalid times. It's not possible to access any patron account's details or checkouts tab. They all result in an error 500. This means that circulation is no longer possible. In the logs there is only an error from plack-error.log: Invalid local time for date in time zone: Africa/Cairo. All other tabs in the patron account work, so we think it might have something to do with some of the code shared between circulation.pl and moremember.pl. As it appears in multiple instances it doesn't appear to be data related. It could be that today's date is generated in a wrong way and used for a comparison somewhere (see bug 32232 for a similar case)?
Confirmed for now in 22.11.23
It appears in main it also breaks the API: * In ktd: edit koha-conf.xml and add Africa/Cairo to timezone element * restart_all * Patron search breaks: [2025/04/25 14:41:10] [ERROR] GET /api/v1/patrons: unhandled exception (Mojo::Exception)<<Invalid local time for date in time zone: Africa/Cairo>>
It also still breaks the patron start page: * Click on the "My account" link in the upper right corner - Error 500
OK: This morning the patron searches work again, but we expect another breakage in a year. This bug will affect all libraries in countries where the daylight savings take place between 00:00 and 1:00. It appears it's not that many countries handling it that way currently, but this can always change in our experience. https://en.wikipedia.org/wiki/Daylight_saving_time_by_country
(In reply to Katrin Fischer from comment #4) > OK: This morning the patron searches work again, but we expect another > breakage in a year. I tried some tests but wasn't able to reproduce it. It would be good for someone to try setting their system clock to sometime on 2025-04-25 Africa/Cairo time and giving it a go. -- It would be handy to have a very specific "Steps to reproduce" though. Just like as if it was a test plan.
I tested on April 25, so I am not quite sure about the part, where you set the system time, but apart from that, I already wrote the test plan: * Update (In reply to Katrin Fischer from comment #2) > It appears in main it also breaks the API: > > * In ktd: edit koha-conf.xml and add Africa/Cairo to timezone element > * restart_all > * Patron search breaks: > > [2025/04/25 14:41:10] [ERROR] GET /api/v1/patrons: unhandled exception > (Mojo::Exception)<<Invalid local time for date in time zone: Africa/Cairo>>
(In reply to Katrin Fischer from comment #6) > I tested on April 25, so I am not quite sure about the part, where you set > the system time, but apart from that, I already wrote the test plan: > > * Update (In reply to Katrin Fischer from comment #2) > > It appears in main it also breaks the API: > > > > * In ktd: edit koha-conf.xml and add Africa/Cairo to timezone element > > * restart_all > > * Patron search breaks: > > > > [2025/04/25 14:41:10] [ERROR] GET /api/v1/patrons: unhandled exception > > (Mojo::Exception)<<Invalid local time for date in time zone: Africa/Cairo>> But what are the actual steps? Is it the following? Test plan: 1. vi /etc/koha/sites/kohadev/koha-conf.xml 2. Add "Africa/Cairo" to the timezone element" 3. restart_all 4. Go to http://localhost:8081/cgi-bin/koha/members/members-home.pl 5. Type "anything" into the search box and click the arrow button to search 6. Note the popup that says "Something went wrong when loading the table" 7. Note the following error in /var/log/koha/kohadev/plack-api-error.log [2025/04/25 14:41:10] [ERROR] GET /api/v1/patrons: unhandled exception (Mojo::Exception)<<Invalid local time for date in time zone: Africa/Cairo
Yes, that's correct.