[horde] Error inserting new event in kronolith
Ruud Baart
r.j.baart at prompt.nl
Sun Mar 1 17:35:48 UTC 2026
Thanks.
Ok, that works, One error gone. The insert error still there.
Op 1-3-2026 om 18:27 schreef Dmitry Petrov:
> Hi Ruud,
>
> Looks like this was fixed in the dev version (
> https://github.com/horde/Db/commit/af41feb432ff8ff82c74458ee31523971546ebd5
> ), but there is no release yet.
>
> You can try composer require horde/db:dev-FRAMEWORK_6_0to use the dev
> version.
>
> Regards,
> Dmitry
>
>
> On Sun, Mar 1, 2026 at 10:02 AM Ruud Baart <r.j.baart at prompt.nl> wrote:
>
> 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
> ....
> 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
> ...
> 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
> <http://webmail.tiswe.fr/horde/vendor/horde/db/lib/Horde/Db/Adapter/Pdo/Base.php>"]
>
More information about the horde
mailing list