[horde] Error inserting new event in kronolith

Ruud Baart r.j.baart at prompt.nl
Sun Mar 1 15:01:27 UTC 2026


Hi again,

My system: Debian trixie, postgres 17, php 8.4, caldav calendar, Horde 
(horde) <https://mail.tiswe.fr/horde/admin/config/config.php?app=horde> 
6.0.0-beta1 , Agenda (kronolith) 
<https://mail.tiswe.fr/horde/admin/config/config.php?app=kronolith> 
5.0.0-alpha9 , Horde_Dav 2.0.0alpha4

There is an annoying, severe error while inserting and updating an event 
with kronolith - see logfile.

 1. The first error seems to be that $result is not defined. I assume
    there must be something added as: if (defined ($results)) { } else {}
 2. Not null error means that ical_id is NULL. Either the databse
    definition of kronolith_icalendar_storage id not correct or ical_id
    must have a value

I inserted a very simple event. No recurrence, just "new event at Mars 
2, between 16:00 adn 17:00" . Thats all. The caldav calendar client 
(Thunderbird 147 an 148) accept the new event but will not show it. 
Immediately the calendar involved changes to read-only. After a forced 
sync the new event is inserted in the calendar. Further, I'm not sure 
but for me all these timestamps - see logfile - seems to be too much.

Any help would be very welcome.

==============

LOGFILE:

==============

Log of the errors (1) insert new event and (2) update event:

1. Inserting new event

    2026-03-01T15:24:18+01:00 WARN: HORDE [kronolith] PHP ERROR: Undefined variable $results [pid 469414 on line 1242 of "/xxx/yyy/zzz/horde/vendor/horde/db/lib/Horde/Db/Adapter/Postgresql/Schema.php"]
    2026-03-01T15:24:18+01:00 WARN: HORDE [kronolith] PHP ERROR: Undefined variable $results [pid 469414 on line 1242 of "/xxx/yyy/zzz/horde/vendor/horde/db/lib/Horde/Db/Adapter/Postgresql/Schema.php"]
    2026-03-01T15:24:18+01:00 WARN: HORDE [kronolith] PHP ERROR: Undefined variable $results [pid 469414 on line 1242 of "/xxx/yyy/zzz/horde/vendor/horde/db/lib/Horde/Db/Adapter/Postgresql/Schema.php"]
    2026-03-01T15:24:18+01:00 WARN: HORDE [kronolith] PHP ERROR: Undefined variable $results [pid 469414 on line 1242 of "/xxx/yyy/zzz/horde/vendor/horde/db/lib/Horde/Db/Adapter/Postgresql/Schema.php"]
    2026-03-01T15:24:18+01:00 ERR: HORDE [kronolith] SQL QUERY FAILED: SQLSTATE[23502]: Not null violation: 7 ERROR:  null value in column "ical_id" of relation "kronolith_icalendar_storage" violates not-null constraint
    DETAIL:  Failing row contains (null, O72lQSaCnYpQP5ohZ5xBzaA, q-mA4rJ2N-Q9CqUpJqlTZbP, BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:-//Mozilla.org/NONSGML Mozi...).
             INSERT INTO "kronolith_icalendar_storage" ("ical_id", "calendar_id",
               "event_uid", "event_data") VALUES (NULL, 'O72lQSaCnYpQP5ohZ5xBzaA',
               'q-mA4rJ2N-Q9CqUpJqlTZbP', 'BEGIN:VCALENDAR VERSION:2.0
               PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
               BEGIN:VTIMEZONE TZID:Europe/Paris X-TZINFO:Europe/Paris[2025b]
               BEGIN:STANDARD TZOFFSETTO:+000000 TZOFFSETFROM:+000921
               TZNAME:Europe/Paris(STD) DTSTART:19110311T000000
               RDATE:19700101T013151,19700101T010003,19700101T010011 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19160615T000000
               RDATE:19700101T013156,19700101T010006,19700101T010015 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+000000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(STD) DTSTART:19161002T000000
               RDATE:19700101T013156,19700101T010010,19700101T010002 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19170325T000000
               RDATE:19700101T013157,19700101T010003,19700101T010025 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+000000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(STD) DTSTART:19171008T000000
               RDATE:19700101T013157,19700101T010010,19700101T010008 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19180310T000000
               RDATE:19700101T013158,19700101T010003,19700101T010010 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19190302T000000
               RDATE:19700101T013159,19700101T010003,19700101T010002 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+000000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(STD) DTSTART:19181007T000000
               RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1MO;UNTIL=19191006T000000
               END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19200215T000000
               RDATE:19700101T013200,19700101T010002,19700101T010015 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+000000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(STD) DTSTART:19201024T000000
               RDATE:19700101T013200,19700101T010010,19700101T010024 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19210315T000000
               RDATE:19700101T013201,19700101T010003,19700101T010015 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+000000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(STD) DTSTART:19211026T000000
               RDATE:19700101T013201,19700101T010010,19700101T010026 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19220326T000000
               RDATE:19700101T013202,19700101T010003,19700101T010026 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+000000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(STD) DTSTART:19221008T000000
               RDATE:19700101T013202,19700101T010010,19700101T010008 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19230527T000000
               RDATE:19700101T013203,19700101T010005,19700101T010027 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19240330T000000
               RDATE:19700101T013204,19700101T010003,19700101T010030 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19250405T000000
               RDATE:19700101T013205,19700101T010004,19700101T010005 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19260418T000000
               RDATE:19700101T013206,19700101T010004,19700101T010018 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19270410T000000
               RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=2SA;UNTIL=19280414T230000
               END:DAYLIGHT BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19290421T000000
               RDATE:19700101T013209,19700101T010004,19700101T010021 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19300413T000000
               RDATE:19700101T013210,19700101T010004,19700101T010013 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19310419T000000
               RDATE:19700101T013211,19700101T010004,19700101T010019 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19320403T000000
               RDATE:19700101T013212,19700101T010004,19700101T010003 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+000000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(STD) DTSTART:19231007T000000
               RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU;UNTIL=19321002T000000
               END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19330326T000000
               RDATE:19700101T013213,19700101T010003,19700101T010026 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+000000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(STD) DTSTART:19331008T000000
               RDATE:19700101T013213,19700101T010010,19700101T010008 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19340408T000000
               RDATE:19700101T013214,19700101T010004,19700101T010008 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19350331T000000
               RDATE:19700101T013215,19700101T010003,19700101T010031 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19360419T000000
               RDATE:19700101T013216,19700101T010004,19700101T010019 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19370404T000000
               RDATE:19700101T013217,19700101T010004,19700101T010004 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19380327T000000
               RDATE:19700101T013218,19700101T010003,19700101T010027 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+000000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(STD) DTSTART:19341007T000000
               RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU;UNTIL=19381002T000000
               END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19390416T000000
               RDATE:19700101T013219,19700101T010004,19700101T010016 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+000000
               TZNAME:Europe/Paris(DST) DTSTART:19400225T030000
               RDATE:19700101T013220,19700101T010002,19700101T010025 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+000000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(STD) DTSTART:19391119T000000
               RDATE:19700101T013219,19700101T010011,19700101T010019 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+020000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(DST) DTSTART:19400615T000000
               RDATE:19700101T013220,19700101T010006,19700101T010015 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+010000 TZOFFSETFROM:+020000
               TZNAME:Europe/Paris(STD) DTSTART:19421102T030000
               RDATE:19700101T013222,19700101T010011,19700101T010002 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+020000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(DST) DTSTART:19430329T030000
               RDATE:19700101T013223,19700101T010003,19700101T010029 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+020000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(DST) DTSTART:19440403T030000
               RDATE:19700101T013224,19700101T010004,19700101T010003 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+020000 TZOFFSETFROM:+020000
               TZNAME:Europe/Paris(DST) DTSTART:19440825T000000
               RDATE:19700101T013224,19700101T010008,19700101T010025 END:DAYLIGHT
               BEGIN:DAYLIGHT TZOFFSETTO:+010000 TZOFFSETFROM:+020000
               TZNAME:Europe/Paris(DST) DTSTART:19441008T010000
               RDATE:19700101T013224,19700101T010010,19700101T010008 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+010000 TZOFFSETFROM:+020000
               TZNAME:Europe/Paris(STD) DTSTART:19431004T030000
               RDATE:19700101T013223,19700101T010010,19700101T010004 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+020000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(DST) DTSTART:19450402T030000
               RDATE:19700101T013225,19700101T010004,19700101T010002 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+010000 TZOFFSETFROM:+020000
               TZNAME:Europe/Paris(STD) DTSTART:19450916T030000
               RDATE:19700101T013225,19700101T010009,19700101T010016 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+020000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(DST) DTSTART:19760328T020000
               RDATE:19700101T013256,19700101T010003,19700101T010028 END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETTO:+010000 TZOFFSETFROM:+020000
               TZNAME:Europe/Paris(STD) DTSTART:19760926T010000
               RDATE:19700101T013256,19700101T010009,19700101T010026 END:STANDARD
               BEGIN:STANDARD TZOFFSETTO:+010000 TZOFFSETFROM:+020000
               TZNAME:Europe/Paris(STD) DTSTART:19770925T030000
               RDATE:19700101T013257,19700101T010009,19700101T010025 END:STANDARD
               BEGIN:STANDARD TZOFFSETTO:+010000 TZOFFSETFROM:+020000
               TZNAME:Europe/Paris(STD) DTSTART:19781001T030000
               RDATE:19700101T013258,19700101T010010,19700101T010001 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+020000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(DST) DTSTART:19770403T030000
               RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU;UNTIL=19800406T020000
               END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:+010000 TZOFFSETFROM:+020000
               TZNAME:Europe/Paris(STD) DTSTART:19790930T030000
               RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU;UNTIL=19950924T030000
               END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:+020000 TZOFFSETFROM:+010000
               TZNAME:Europe/Paris(DST) DTSTART:19810329T030000
               RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU;UNTIL=19960331T020000
               END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:+010000 TZOFFSETFROM:+020000
               TZNAME:Europe/Paris(STD) DTSTART:19961027T030000
               RDATE:19700101T013316,19700101T010010,19700101T010027 END:STANDARD
               BEGIN:DAYLIGHT TZOFFSETTO:+020000 TZOFFSETFROM:+010000 TZNAME:(DST)
               DTSTART:19970330T030000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
               END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:+010000 TZOFFSETFROM:+020000
               TZNAME:(STD) DTSTART:19971026T030000
               RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU END:STANDARD END:VTIMEZONE
               BEGIN:VEVENT CREATED:20260301T142348Z LAST-MODIFIED:20260301T142414Z
               DTSTAMP:20260301T142414Z UID:18a03796-b305-4e9a-8081-bc15e0ac8ce5
               SUMMARY:new event DTSTART;TZID=Europe/Paris:20260302T160000
               DTEND;TZID=Europe/Paris:20260302T170000 TRANSP:OPAQUE END:VEVENT
               END:VCALENDAR ') RETURNING "ical_id" [pid 469414 on line 244 of "/xxx/yyy/zzz/horde/vendor/horde/db/lib/Horde/Db/Adapter/Pdo/Base.php"]

2. Updating the same event:

    2026-03-01T15:47:52+01:00 ERR: HORDE [kronolith] SQL QUERY FAILED: SQLSTATE[23502]: Not null violation: 7 ERROR:  null value in column "ical_id" of relation "kronolith_icalendar_storage" violates not-null constraint
    DETAIL:  Failing row contains (null, O72lQSaCnYpQP5ohZ5xBzaA, IxmVC0rpY2TqjVripojLEYE, BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:-//Mozilla.org/NONSGML Mozi...).
             INSERT INTO "kronolith_icalendar_storage" ("ical_id", "calendar_id",
               "event_uid", "event_data") VALUES (NULL, 'O72lQSaCnYpQP5ohZ5xBzaA',
               'IxmVC0rpY2TqjVripojLEYE', 'BEGIN:VCALENDAR VERSION:2.0
               PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
               BEGIN:VTIMEZONE TZID:Europe/Paris BEGIN:DAYLIGHT TZOFFSETFROM:+0100
               TZOFFSETTO:+0200 DTSTART:20260329T030000
               RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3 TZNAME:CEST END:DAYLIGHT
               BEGIN:STANDARD TZOFFSETFROM:+0200 TZOFFSETTO:+0100
               DTSTART:20261025T030000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
               TZNAME:CE-T END:STANDARD END:VTIMEZONE BEGIN:VEVENT
               CREATED:20260301T144529Z LAST-MODIFIED:20260301T144748Z
               DTSTAMP:20260301T144748Z UID:bd1fdd65-c284-49c6-a20a-77bcc2a232e5
               SUMMARY:new event STATUS:CONFIRMED
               DTSTART;TZID=Europe/Paris:20260302T160500
               DTEND;TZID=Europe/Paris:20260302T170500 CLASS:PUBLIC TRANSP:OPAQUE
               SEQUENCE:1 X-MOZ-GENERATION:1 END:VEVENT END:VCALENDAR ') RETURNING
               "ical_id" [pid 469569 on line 244 of "/home/websites/webmail.tiswe.fr/horde/vendor/horde/db/lib/Horde/Db/Adapter/Pdo/Base.php"]



More information about the horde mailing list