Specific characters trigger internal server error
Trying to book an appointment with special characters (specifically German ö or ä) results in internal server error.
Appointments: v. 2.4.6 Nextcloud Hub 10 (31.0.9)
Log extract linked to the request:
{"reqId":"(***)","level":0,"time":"2025-09-30T06:22:55+00:00","remoteAddr":"(***)","user":"(***)","app":"no app in context","method":"POST","url":"/apps/appointments/form?p=p0&v=(***)","message":"OCA\\Appointments\\Controller\\PageController::formBasePost uses the @NoAdminRequired annotation and should use the #[OCP\\AppFramework\\Http\\Attribute\\NoAdminRequired] attribute instead","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0","version":"31.0.9.1","data":[]}
{"reqId":"(***)","level":0,"time":"2025-09-30T06:22:55+00:00","remoteAddr":"(***)","user":"(***)","app":"no app in context","method":"POST","url":"/apps/appointments/form?p=p0&v=(***)","message":"OCA\\Appointments\\Controller\\PageController::formBasePost uses the @NoAdminRequired annotation and should use the #[OCP\\AppFramework\\Http\\Attribute\\NoAdminRequired] attribute instead","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0","version":"31.0.9.1","data":[]}
{"reqId":"(***)","level":0,"time":"2025-09-30T06:22:55+00:00","remoteAddr":"(***)","user":"(***)","app":"no app in context","method":"POST","url":"/apps/appointments/form?p=p0&v=(***)","message":"OCA\\Appointments\\Controller\\PageController::formBasePost uses the @NoCSRFRequired annotation and should use the #[OCP\\AppFramework\\Http\\Attribute\\NoCSRFRequired] attribute instead","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0","version":"31.0.9.1","data":[]}
{"reqId":"(***)","level":0,"time":"2025-09-30T06:22:55+00:00","remoteAddr":"(***)","user":"(***)","app":"no app in context","method":"POST","url":"/apps/appointments/form?p=p0&v=(***)","message":"OCA\\Appointments\\Controller\\PageController::formBasePost uses the @NoCSRFRequired annotation and should use the #[OCP\\AppFramework\\Http\\Attribute\\NoCSRFRequired] attribute instead","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0","version":"31.0.9.1","data":[]}
{"reqId":"(***)","level":0,"time":"2025-09-30T06:22:55+00:00","remoteAddr":"(***)","user":"(***)","app":"no app in context","method":"POST","url":"/apps/appointments/form?p=p0&v=(***)","message":"Calling OCP\\DB\\QueryBuilder\\IQueryBuilder::orX without parameters is deprecated and will throw soon.","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0","version":"31.0.9.1","exception":{"Exception":"Exception","Message":"No parameters in call to OC\\DB\\QueryBuilder\\ExpressionBuilder\\ExpressionBuilder::orX","Code":0,"Trace":[{"file":"/var/www/nextcloud/apps/circles/lib/Db/CircleRequest.php","line":268,"function":"orX","class":"OC\\DB\\QueryBuilder\\ExpressionBuilder\\ExpressionBuilder","type":"->"},{"file":"/var/www/nextcloud/apps/circles/lib/Db/CircleRequest.php","line":231,"function":"buildProbeCircle","class":"OCA\\Circles\\Db\\CircleRequest","type":"->"},{"file":"/var/www/nextcloud/apps/circles/lib/Service/CircleService.php","line":808,"function":"probeCircles","class":"OCA\\Circles\\Db\\CircleRequest","type":"->"},{"file":"/var/www/nextcloud/apps/circles/lib/Api/v1/Circles.php","line":134,"function":"probeCircles","class":"OCA\\Circles\\Service\\CircleService","type":"->"},{"file":"/var/www/nextcloud/apps/dav/lib/Connector/Sabre/Principal.php","line":549,"function":"joinedCircles","class":"OCA\\Circles\\Api\\v1\\Circles","type":"::"},{"file":"/var/www/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php","line":371,"function":"getCircleMembership","class":"OCA\\DAV\\Connector\\Sabre\\Principal","type":"->"},{"file":"/var/www/nextcloud/lib/public/AppFramework/Db/TTransactional.php","line":45,"function":"OCA\\DAV\\CalDAV\\{closure}","class":"OCA\\DAV\\CalDAV\\CalDavBackend","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php","line":315,"function":"atomic","class":"OCA\\DAV\\CalDAV\\CalDavBackend","type":"->"},{"file":"/var/www/nextcloud/apps/appointments/lib/Backend/BCSabreImpl.php","line":852,"function":"getCalendarsForUser","class":"OCA\\DAV\\CalDAV\\CalDavBackend","type":"->"},{"file":"/var/www/nextcloud/apps/appointments/lib/Backend/BackendUtils.php","line":1870,"function":"getCalendarById","class":"OCA\\Appointments\\Backend\\BCSabreImpl","type":"->"},{"file":"/var/www/nextcloud/apps/appointments/lib/Controller/PageController.php","line":860,"function":"getMainCalId","class":"OCA\\Appointments\\Backend\\BackendUtils","type":"->"},{"file":"/var/www/nextcloud/apps/appointments/lib/Controller/PageController.php","line":729,"function":"showFormPost","class":"OCA\\Appointments\\Controller\\PageController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":200,"function":"formBasePost","class":"OCA\\Appointments\\Controller\\PageController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/nextcloud/lib/base.php","line":1063,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/index.php","line":24,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/nextcloud/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php","Line":87,"message":"Calling OCP\\DB\\QueryBuilder\\IQueryBuilder::orX without parameters is deprecated and will throw soon.","exception":{},"CustomMessage":"Calling OCP\\DB\\QueryBuilder\\IQueryBuilder::orX without parameters is deprecated and will throw soon."}}
{"reqId":"(***)","level":3,"time":"2025-09-30T06:22:55+00:00","remoteAddr":"(***)","user":"(***)","app":"index","method":"POST","url":"/apps/appointments/form?p=p0&v=(***)","message":"Call to a member function getValue() on null in file '/var/www/nextcloud/apps/appointments/lib/Backend/BackendUtils.php' line 1046","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0","version":"31.0.9.1","exception":{"Exception":"Exception","Message":"Call to a member function getValue() on null in file '/var/www/nextcloud/apps/appointments/lib/Backend/BackendUtils.php' line 1046","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/nextcloud/lib/base.php","line":1063,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/index.php","line":24,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","Line":146,"Previous":{"Exception":"Error","Message":"Call to a member function getValue() on null","Code":0,"Trace":[{"file":"/var/www/nextcloud/apps/appointments/lib/Backend/BackendUtils.php","line":321,"function":"getAttendee","class":"OCA\\Appointments\\Backend\\BackendUtils","type":"->"},{"file":"/var/www/nextcloud/apps/appointments/lib/Backend/BCSabreImpl.php","line":1119,"function":"dataSetAttendee","class":"OCA\\Appointments\\Backend\\BackendUtils","type":"->"},{"file":"/var/www/nextcloud/apps/appointments/lib/Controller/PageController.php","line":947,"function":"setAttendee","class":"OCA\\Appointments\\Backend\\BCSabreImpl","type":"->"},{"file":"/var/www/nextcloud/apps/appointments/lib/Controller/PageController.php","line":729,"function":"showFormPost","class":"OCA\\Appointments\\Controller\\PageController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":200,"function":"formBasePost","class":"OCA\\Appointments\\Controller\\PageController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/nextcloud/lib/base.php","line":1063,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/index.php","line":24,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/nextcloud/apps/appointments/lib/Backend/BackendUtils.php","Line":1046},"message":"Call to a member function getValue() on null in file '/var/www/nextcloud/apps/appointments/lib/Backend/BackendUtils.php' line 1046","exception":{},"CustomMessage":"Call to a member function getValue() on null in file '/var/www/nextcloud/apps/appointments/lib/Backend/BackendUtils.php' line 1046"}}
Which field are the special characters in ? Also what mode (weekly, simple,...) are you using ?
I have tried putting the ö or ä into Organizer Name or Attendee Name and both worked (see the image below).
If possible can you email me (sergey [at] srgdev.com) your Settings Dump Appointment Page Settings > Advanced > Debugging > Settings Dump so I can replicate the setting on my test machine.
Still can not replicate it.
Hi Sergey, Thanks for looking into it. I will email the dump shortly. The special character has been inserted into the name field. I will share screenshot by mail as well. Regards Björn
@bdidwischus Thank you for sending me the debugging data, but I am still not able able to replicate this issue. I have tried using all kinds of special ÖÖỌỌȮȯӦӧ𝑶𝒪 characters:
-
Ö(U+00F6): Latin Small Letter O with Diaeresis (a diaeresis, or two dots, above the 'o'). -
Ö(U+00D6): Latin Capital Letter O with Diaeresis. -
Ọ(U+1ECD): Latin Small Letter O with Dot Below. -
Ọ(U+1ECC): Latin Capital Letter O with Dot Below. -
Ȯ(U+022E): Latin Capital Letter O with Dot Above. -
ȯ(U+022F): Latin Small Letter O with Dot Above. -
Ӧ(U+04F6): Cyrillic Capital Letter O with Diaeresis. -
ӧ(U+04F7): Cyrillic Small Letter O with Diaeresis. -
𝑶(U+1D476): Mathematical Bold Italic Capital O (an 'O' with dots in a specific mathematical font). -
𝒪(U+1D4AA): Mathematical Script Capital O (a stylized, script-like 'O')
but I can not trigger the error.
Further more, the error suggests that the 'Organizer' property of the event was no set or invalid, which is very strange. For the next release I'll add a debugging switch which should log more data related to error, which should help with debugging.
Although, I am unable to replicate this, I have added additional logging. If this error happens again, NC logs should contain additional info tagged with $evt->ORGANIZER is not set:...