Closed nagmat84 closed 3 months ago
If there is a 500 error, there should be a corresponding entry your nextcloud.log
. That contains the stack trace. Do you happen to have that?
Unfortunately not anymore.
Let's hope that the error happens again soon and then I will dump the corresponding log entry.
The error is a little bit difficult to (re-)trigger manually. A proper CalDAV client typically does not attempt to send those inconsistent VCALENDAR entries as those errors are already caught on the UI level and never reach the NC server. However, once every two months one of my five users (family) is able to create such an entry.
Alternatively, one would need a CalDAV client implementation for testing purposes which allows to send those inconsistent VCALENDAR entries deliberately. I had hoped that the NC test suite might be able to do that in order to provoke the error.
Alternatively, the NC error message "This recurrence rule does not generate any valid instances"
should be somewhere in the code and easy to find. It seems to be a rather specific message. Maybe one can go from there and see what leads to the 500 error code.
Related: #30514 & #5641
Duplicate of #30514
⚠️ This issue respects the following points: ⚠️
Bug description
Nextcloud replies with HTTP status code
500
and messageThis recurrence rule does not generate any valid instances
for the following inconsistent CalDAV entryObviously, NC is right to reject the calendar entry and the error message is correct. However, the HTTP status code should be
4xx
, not500
. HTTP status codes 5xx indicate a server-side error, but this error is a client-side error. A 5xx status code informs the client to try to repeat the same request later, but in this case the same request will fail again.More suitable status codes are
409
(Conflict) or422
(Unprocessable Content). The latter is probably the most suitable status code.I am using an Android smartphone with Google Calendar as the front-end UI and DAVx5 as the connector. I was somehow able to create the event above and DAVx5 become stuck, because it had the event in its local cash and endlessly tried to send the event to the NC server.
I am aware that there is a bug on several layers here. The Google Calender UI should prevent a user from creating such inconsistent events in the first place. But NC should also respond with the correct status code.
Steps to reproduce
Expected behavior
NC should respond with a 4xx status code, preferably 409 or 422
Installation method
Community Manual installation with Archive
Nextcloud Server version
29
Operating system
Other
PHP engine version
PHP 8.2
Web server
Apache (supported)
Database engine version
PostgreSQL
Is this bug present after an update or on a fresh install?
None
Are you using the Nextcloud Server Encryption module?
None
What user-backends are you using?
Configuration report
List of activated Apps
Nextcloud Signing status
Nextcloud Logs
No response
Additional info
No response