davx5-ose icon indicating copy to clipboard operation
davx5-ose copied to clipboard

[Synology] Unsupported operand types: string + string in RRule.php

Open devvv4ever opened this issue 1 year ago • 7 comments

There seem to be certain recurring events (RRULEs) where Synology Calendar v2.5 is crashing when it wants to process it.

The error occurs on a REPORT on a resource like http://192.168.10.42:5000/caldav.php/username/home/ and throws an exception.

HTTP REQUEST
Request{method=REPORT, url=http://192.168.10.42:5000/caldav.php/username/home/, headers=[Depth:1, User-Agent:DAVx5/4.4.1.1-gplay (2024/07/12; dav4jvm; okhttp/4.12.0) Android/14, Accept-Language:de-DE, de;q=0.7, *;q=0.5]}
<?xml version='1.0' encoding='UTF-8' ?><CAL:calendar-query xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav"><prop><getetag /></prop><CAL:filter><CAL:comp-filter name="VCALENDAR"><CAL:comp-filter name="VEVENT"><CAL:time-range start="20240415T071927Z" /></CAL:comp-filter></CAL:comp-filter></CAL:filter></CAL:calendar-query>

HTTP RESPONSE
Response{protocol=http/1.1, code=500, message=Internal Server Error, url=http://192.168.10.42:5000/caldav.php/username/home/}
Exception [0] Unsupported operand types: string + string
At line 138 of /volume1/@appstore/Calendar/davical/inc/RRule.php
================= Stack Trace ===================
/volume1/@appstore/Calendar/davical/htdocs/caldav.php[109] include_once()
/volume1/@appstore/Calendar/davical/inc/caldav-REPORT.php[251] include()
/volume1/@appstore/Calendar/davical/inc/caldav-REPORT-calquery.php[467] expand_event_instances()
/volume1/@appstore/Calendar/davical/inc/RRule.php[1490] Rfc5545Duration->equals()
/volume1/@appstore/Calendar/davical/inc/RRule.php[109] Rfc5545Duration->asSeconds()

This needs to be reported to Synology directly. It should be fixed in the davical/inc/RRule.php around line 138.

devvv4ever avatar Jul 17 '24 10:07 devvv4ever