⚠️ This issue respects the following points: ⚠️
Bug description
When running the cron command, an error occurs on line 47 of ./apps/dav/lib/CalDAV/Reminder/Backend.php
The query on line 46 performs a GROUP BY on a column that is a BLOB. Oracle does not allow GROUP BY clauses with columns of that type.
línea 46 ./apps/dav/lib/CalDAV/Reminder/Backend.php
$query = $this->db->getQueryBuilder();
$query->select(['cr.id', 'cr.calendar_id','cr.object_id','cr.is_recurring','cr.uid','cr.recurrence_id','cr.is_recurrence_exception','cr.event_hash','cr.alarm_hash','cr.type','cr.is_relative','cr.notification_date','cr.is_repeat_based','co.calendardata', 'c.displayname', 'c.principaluri'])
->from('calendar_reminders', 'cr')
->where($query->expr()->lte('cr.notification_date', $query->createNamedParameter($this->timeFactory->getTime())))
->join('cr', 'calendarobjects', 'co', $query->expr()->eq('cr.object_id', 'co.id'))
->join('cr', 'calendars', 'c', $query->expr()->eq('cr.calendar_id', 'c.id'))
->groupBy('cr.event_hash', 'cr.notification_date', 'cr.type', 'cr.id', 'cr.calendar_id', 'cr.object_id', 'cr.is_recurring', 'cr.uid', 'cr.recurrence_id', 'cr.is_recurrence_exception', 'cr.alarm_hash', 'cr.is_relative', 'cr.is_repeat_based', 'co.calendardata', 'c.displayname', 'c.principaluri');
$stmt = $query->executeQuery();
The solution would be to rewrite that query, perform a GROUP BY WITHOUT the calendar_objects table, and then perform a JOIN with that table.
Or simply removing the GROUP BY clause is the easiest option.
$query = $this->db->getQueryBuilder();
$query->select(['cr.id', 'cr.calendar_id','cr.object_id','cr.is_recurring','cr.uid','cr.recurrence_id','cr.is_recurrence_exception','cr.event_hash','cr.alarm_hash','cr.type','cr.is_relative','cr.notification_date','cr.is_repeat_based','co.calendardata', 'c.displayname', 'c.principaluri'])
->from('calendar_reminders', 'cr')
->where($query->expr()->lte('cr.notification_date', $query->createNamedParameter($this->timeFactory->getTime())))
->join('cr', 'calendarobjects', 'co', $query->expr()->eq('cr.object_id', 'co.id'))
->join('cr', 'calendars', 'c', $query->expr()->eq('cr.calendar_id', 'c.id'));
$stmt = $query->executeQuery();
My tables don't contain much data (they're almost empty—it's a new installation), so I can't verify whether the SELECT results return unique rows.
By including cr.id (the table's primary key) in the GROUP BY clause—since it's a unique value per row—the GROUP BY clause shouldn't consolidate or remove any duplicate records.
Steps to reproduce
- sudo -u apache /usr/bin/php /nextcloud/cron.php
Expected behavior
no error ORA-00932:
Nextcloud Server version
34
Operating system
RHEL/CentOS
PHP engine version
PHP 8.5
Web server
Apache (supported)
Database engine version
Oracle
Is this bug present after an update or on a fresh install?
Fresh Nextcloud Server install
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
Configuration report
{
"system": {
"localstorage.allowsymlinks": true,
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "oci",
"version": "34.0.2.1",
"htaccess.RewriteBase": "\/",
"overwritewebroot": "\/",
"instanceid": "***REMOVED SENSITIVE VALUE***",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbtableprefix": "oc_",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"default_phone_region": "ES",
"auth.bruteforce.protection.enabled": true,
"auth.bruteforce.max-attempts": 5,
"forcessl": true,
"ratelimit.protection.enabled": true,
"logtimezone": "Europe\/Madrid",
"loglevel": 3,
"log_type": "file",
"logfile": "\/var\/log\/nextcloud.log",
"installed": true,
"skeletondirectory": "",
"templatedirectory": "",
"trashbin_retention_obligation": "auto,30",
"versions_retention_obligation": "auto",
"defaultapp": "files",
"enable_previews": false,
"memcache.local": "\\OC\\Memcache\\APCu",
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"memcache_customprefix": "nc2_",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"port": 6379,
"timeout": 0,
"password": "***REMOVED SENSITIVE VALUE***",
},
"redis.session.locking_enabled": 1,
"redis.session.lock_retries": -1,
"redis.session.lock_wait_time": 10000,
"config_preset": 8,
}
}
List of activated Apps
Enabled:
- activity: 7.0.0
- admin_audit: 1.24.0
- appstore: 1.0.0
- bruteforcesettings: 7.0.0
- cloud_federation_api: 1.18.0
- dav: 1.39.0
- federatedfilesharing: 1.24.0
- files: 2.6.0
- files_downloadlimit: 5.2.0
- files_lock: 34.0.1
- files_sharing: 1.26.0
- files_trashbin: 1.24.0
- files_versions: 1.27.0
- guests: 4.9.0
- lookup_server_connector: 1.22.0
- notifications: 7.0.0-dev.1
- oauth2: 1.22.0
- profile: 1.3.0
- provisioning_api: 1.24.0
- serverinfo: 6.0.0
- settings: 1.17.0
- text: 8.0.0
- theming: 2.9.0
- twofactor_backupcodes: 1.23.0
- twofactor_nextcloud_notification: 8.0.0
- twofactor_totp: 16.0.0
- user_ldap: 1.25.0
- viewer: 7.0.0-dev.0
- workflowengine: 2.16.0
Nextcloud Signing status
Nextcloud Logs
{"reqId":"AQAmWVGGtO9GTXUi073h","level":3,"time":"2026-08-11T09:30:03+02:00","remoteAddr":"","user":"--","app":"core","method":"","url":"/cron.php","scriptName":"/cron.php","message":"Error while running background job OCA\\DAV\\BackgroundJob\\EventReminderJob (id: 115372272698757120, arguments: null)","userAgent":"--","version":"34.0.2.1","occ_command":["/nextcloud/cron.php"],"exception":{"Exception":"OC\\DB\\Exceptions\\DbalException","Message":"An exception occurred while executing a query: ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\nHelp: https://docs.oracle.com/error-help/db/ora-00932/","Code":932,"Trace":[{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php","line":60,"function":"wrap","class":"OC\\DB\\Exceptions\\DbalException","type":"::"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php","line":261,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php","line":47,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php","line":70,"function":"getRemindersToProcess","class":"OCA\\DAV\\CalDAV\\Reminder\\Backend","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php","line":48,"function":"processReminders","class":"OCA\\DAV\\CalDAV\\Reminder\\ReminderService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php","line":50,"function":"run","class":"OCA\\DAV\\BackgroundJob\\EventReminderJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php","line":86,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":204,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/html/nextcloud-34.0.2/lib/private/DB/Exceptions/DbalException.php","Line":50,"Previous":{"Exception":"Doctrine\\DBAL\\Exception\\DriverException","Message":"An exception occurred while executing a query: ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\nHelp: https://docs.oracle.com/error-help/db/ora-00932/","Code":932,"Trace":[{"file":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php","line":1976,"function":"convert","class":"Doctrine\\DBAL\\Driver\\API\\OCI\\ExceptionConverter","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php","line":1918,"function":"handleDriverException","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php","line":1111,"function":"convertExceptionDuringQuery","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/Connection.php","line":420,"function":"executeQuery","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php","line":57,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php","line":261,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php","line":47,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php","line":70,"function":"getRemindersToProcess","class":"OCA\\DAV\\CalDAV\\Reminder\\Backend","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php","line":48,"function":"processReminders","class":"OCA\\DAV\\CalDAV\\Reminder\\ReminderService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php","line":50,"function":"run","class":"OCA\\DAV\\BackgroundJob\\EventReminderJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php","line":86,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":204,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/API/OCI/ExceptionConverter.php","Line":104,"Previous":{"Exception":"Doctrine\\DBAL\\Driver\\OCI8\\Exception\\Error","Message":"ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\nHelp: https://docs.oracle.com/error-help/db/ora-00932/","Code":932,"Trace":[{"file":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/OCI8/Statement.php","line":169,"function":"new","class":"Doctrine\\DBAL\\Driver\\OCI8\\Exception\\Error","type":"::"},{"file":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php","line":1104,"function":"execute","class":"Doctrine\\DBAL\\Driver\\OCI8\\Statement","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/Connection.php","line":420,"function":"executeQuery","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php","line":57,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php","line":261,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php","line":47,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php","line":70,"function":"getRemindersToProcess","class":"OCA\\DAV\\CalDAV\\Reminder\\Backend","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php","line":48,"function":"processReminders","class":"OCA\\DAV\\CalDAV\\Reminder\\ReminderService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php","line":50,"function":"run","class":"OCA\\DAV\\BackgroundJob\\EventReminderJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php","line":86,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":204,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/OCI8/Exception/Error.php","Line":21}},"message":"Error while running background job OCA\\DAV\\BackgroundJob\\EventReminderJob (id: 115372272698757120, arguments: null)","exception":"{\"class\":\"OC\\DB\\Exceptions\\DbalException\",\"message\":\"An exception occurred while executing a query: ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\\nHelp: https://docs.oracle.com/error-help/db/ora-00932/\",\"code\":932,\"file\":\"/var/www/html/nextcloud-34.0.2/lib/private/DB/Exceptions/DbalException.php:50\",\"trace\":\"#0 /var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php(60): OC\\DB\\Exceptions\\DbalException::wrap()\\n#1 /var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php(261): OC\\DB\\ConnectionAdapter->executeQuery()\\n#2 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php(47): OC\\DB\\QueryBuilder\\QueryBuilder->executeQuery()\\n#3 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php(70): OCA\\DAV\\CalDAV\\Reminder\\Backend->getRemindersToProcess()\\n#4 /var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php(48): OCA\\DAV\\CalDAV\\Reminder\\ReminderService->processReminders()\\n#5 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php(50): OCA\\DAV\\BackgroundJob\\EventReminderJob->run()\\n#6 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php(86): OCP\\BackgroundJob\\Job->start()\\n#7 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(204): OCP\\BackgroundJob\\TimedJob->start()\\n#8 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(107): OC\\Core\\Service\\CronService->runCli()\\n#9 /var/www/html/nextcloud-34.0.2/cron.php(52): OC\\Core\\Service\\CronService->run()\\n#10 {main}\",\"previous\":{\"class\":\"Doctrine\\DBAL\\Exception\\DriverException\",\"message\":\"An exception occurred while executing a query: ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\\nHelp: https://docs.oracle.com/error-help/db/ora-00932/\",\"code\":932,\"file\":\"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/API/OCI/ExceptionConverter.php:104\",\"trace\":\"#0 /var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php(1976): Doctrine\\DBAL\\Driver\\API\\OCI\\ExceptionConverter->convert()\\n#1 /var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php(1918): Doctrine\\DBAL\\Connection->handleDriverException()\\n#2 /var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php(1111): Doctrine\\DBAL\\Connection->convertExceptionDuringQuery()\\n#3 /var/www/html/nextcloud-34.0.2/lib/private/DB/Connection.php(420): Doctrine\\DBAL\\Connection->executeQuery()\\n#4 /var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php(57): OC\\DB\\Connection->executeQuery()\\n#5 /var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php(261): OC\\DB\\ConnectionAdapter->executeQuery()\\n#6 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php(47): OC\\DB\\QueryBuilder\\QueryBuilder->executeQuery()\\n#7 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php(70): OCA\\DAV\\CalDAV\\Reminder\\Backend->getRemindersToProcess()\\n#8 /var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php(48): OCA\\DAV\\CalDAV\\Reminder\\ReminderService->processReminders()\\n#9 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php(50): OCA\\DAV\\BackgroundJob\\EventReminderJob->run()\\n#10 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php(86): OCP\\BackgroundJob\\Job->start()\\n#11 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(204): OCP\\BackgroundJob\\TimedJob->start()\\n#12 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(107): OC\\Core\\Service\\CronService->runCli()\\n#13 /var/www/html/nextcloud-34.0.2/cron.php(52): OC\\Core\\Service\\CronService->run()\\n#14 {main}\",\"previous\":{\"class\":\"Doctrine\\DBAL\\Driver\\OCI8\\Exception\\Error\",\"message\":\"ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\\nHelp: https://docs.oracle.com/error-help/db/ora-00932/\",\"code\":932,\"file\":\"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/OCI8/Exception/Error.php:21\",\"trace\":\"#0 /var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/OCI8/Statement.php(169): Doctrine\\DBAL\\Driver\\OCI8\\Exception\\Error::new()\\n#1 /var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php(1104): Doctrine\\DBAL\\Driver\\OCI8\\Statement->execute()\\n#2 /var/www/html/nextcloud-34.0.2/lib/private/DB/Connection.php(420): Doctrine\\DBAL\\Connection->executeQuery()\\n#3 /var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php(57): OC\\DB\\Connection->executeQuery()\\n#4 /var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php(261): OC\\DB\\ConnectionAdapter->executeQuery()\\n#5 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php(47): OC\\DB\\QueryBuilder\\QueryBuilder->executeQuery()\\n#6 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php(70): OCA\\DAV\\CalDAV\\Reminder\\Backend->getRemindersToProcess()\\n#7 /var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php(48): OCA\\DAV\\CalDAV\\Reminder\\ReminderService->processReminders()\\n#8 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php(50): OCA\\DAV\\BackgroundJob\\EventReminderJob->run()\\n#9 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php(86): OCP\\BackgroundJob\\Job->start()\\n#10 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(204): OCP\\BackgroundJob\\TimedJob->start()\\n#11 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(107): OC\\Core\\Service\\CronService->runCli()\\n#12 /var/www/html/nextcloud-34.0.2/cron.php(52): OC\\Core\\Service\\CronService->run()\\n#13 {main}\"}}}","CustomMessage":"Error while running background job OCA\\DAV\\BackgroundJob\\EventReminderJob (id: 115372272698757120, arguments: null)"}}
Additional info
describe "oc_calendarobjects" ;
Nombre ?Nulo? Tipo
id NOT NULL NUMBER(20)
calendardata BLOB
uri VARCHAR2(255)
calendarid NOT NULL NUMBER(20)
lastmodified NUMBER(10)
etag VARCHAR2(32)
size NOT NULL NUMBER(20)
componenttype VARCHAR2(8)
firstoccurence NUMBER(20)
lastoccurence NUMBER(20)
uid VARCHAR2(512)
classification NUMBER(10)
calendartype NOT NULL NUMBER(10)
deleted_at NUMBER(10)
Bug description
When running the cron command, an error occurs on line 47 of ./apps/dav/lib/CalDAV/Reminder/Backend.php
The query on line 46 performs a GROUP BY on a column that is a BLOB. Oracle does not allow GROUP BY clauses with columns of that type.
línea 46 ./apps/dav/lib/CalDAV/Reminder/Backend.php
The solution would be to rewrite that query, perform a GROUP BY WITHOUT the calendar_objects table, and then perform a JOIN with that table.
Or simply removing the GROUP BY clause is the easiest option.
My tables don't contain much data (they're almost empty—it's a new installation), so I can't verify whether the SELECT results return unique rows.
By including
cr.id(the table's primary key) in the GROUP BY clause—since it's a unique value per row—the GROUP BY clause shouldn't consolidate or remove any duplicate records.Steps to reproduce
Expected behavior
no error ORA-00932:
Nextcloud Server version
34
Operating system
RHEL/CentOS
PHP engine version
PHP 8.5
Web server
Apache (supported)
Database engine version
Oracle
Is this bug present after an update or on a fresh install?
Fresh Nextcloud Server install
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
Configuration report
{ "system": { "localstorage.allowsymlinks": true, "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "datadirectory": "***REMOVED SENSITIVE VALUE***", "dbtype": "oci", "version": "34.0.2.1", "htaccess.RewriteBase": "\/", "overwritewebroot": "\/", "instanceid": "***REMOVED SENSITIVE VALUE***", "dbname": "***REMOVED SENSITIVE VALUE***", "dbhost": "***REMOVED SENSITIVE VALUE***", "dbtableprefix": "oc_", "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "default_phone_region": "ES", "auth.bruteforce.protection.enabled": true, "auth.bruteforce.max-attempts": 5, "forcessl": true, "ratelimit.protection.enabled": true, "logtimezone": "Europe\/Madrid", "loglevel": 3, "log_type": "file", "logfile": "\/var\/log\/nextcloud.log", "installed": true, "skeletondirectory": "", "templatedirectory": "", "trashbin_retention_obligation": "auto,30", "versions_retention_obligation": "auto", "defaultapp": "files", "enable_previews": false, "memcache.local": "\\OC\\Memcache\\APCu", "memcache.distributed": "\\OC\\Memcache\\Redis", "memcache.locking": "\\OC\\Memcache\\Redis", "memcache_customprefix": "nc2_", "redis": { "host": "***REMOVED SENSITIVE VALUE***", "port": 6379, "timeout": 0, "password": "***REMOVED SENSITIVE VALUE***", }, "redis.session.locking_enabled": 1, "redis.session.lock_retries": -1, "redis.session.lock_wait_time": 10000, "config_preset": 8, } }List of activated Apps
Nextcloud Signing status
Nextcloud Logs
{"reqId":"AQAmWVGGtO9GTXUi073h","level":3,"time":"2026-08-11T09:30:03+02:00","remoteAddr":"","user":"--","app":"core","method":"","url":"/cron.php","scriptName":"/cron.php","message":"Error while running background job OCA\\DAV\\BackgroundJob\\EventReminderJob (id: 115372272698757120, arguments: null)","userAgent":"--","version":"34.0.2.1","occ_command":["/nextcloud/cron.php"],"exception":{"Exception":"OC\\DB\\Exceptions\\DbalException","Message":"An exception occurred while executing a query: ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\nHelp: https://docs.oracle.com/error-help/db/ora-00932/","Code":932,"Trace":[{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php","line":60,"function":"wrap","class":"OC\\DB\\Exceptions\\DbalException","type":"::"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php","line":261,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php","line":47,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php","line":70,"function":"getRemindersToProcess","class":"OCA\\DAV\\CalDAV\\Reminder\\Backend","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php","line":48,"function":"processReminders","class":"OCA\\DAV\\CalDAV\\Reminder\\ReminderService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php","line":50,"function":"run","class":"OCA\\DAV\\BackgroundJob\\EventReminderJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php","line":86,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":204,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/html/nextcloud-34.0.2/lib/private/DB/Exceptions/DbalException.php","Line":50,"Previous":{"Exception":"Doctrine\\DBAL\\Exception\\DriverException","Message":"An exception occurred while executing a query: ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\nHelp: https://docs.oracle.com/error-help/db/ora-00932/","Code":932,"Trace":[{"file":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php","line":1976,"function":"convert","class":"Doctrine\\DBAL\\Driver\\API\\OCI\\ExceptionConverter","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php","line":1918,"function":"handleDriverException","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php","line":1111,"function":"convertExceptionDuringQuery","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/Connection.php","line":420,"function":"executeQuery","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php","line":57,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php","line":261,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php","line":47,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php","line":70,"function":"getRemindersToProcess","class":"OCA\\DAV\\CalDAV\\Reminder\\Backend","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php","line":48,"function":"processReminders","class":"OCA\\DAV\\CalDAV\\Reminder\\ReminderService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php","line":50,"function":"run","class":"OCA\\DAV\\BackgroundJob\\EventReminderJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php","line":86,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":204,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/API/OCI/ExceptionConverter.php","Line":104,"Previous":{"Exception":"Doctrine\\DBAL\\Driver\\OCI8\\Exception\\Error","Message":"ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\nHelp: https://docs.oracle.com/error-help/db/ora-00932/","Code":932,"Trace":[{"file":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/OCI8/Statement.php","line":169,"function":"new","class":"Doctrine\\DBAL\\Driver\\OCI8\\Exception\\Error","type":"::"},{"file":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php","line":1104,"function":"execute","class":"Doctrine\\DBAL\\Driver\\OCI8\\Statement","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/Connection.php","line":420,"function":"executeQuery","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php","line":57,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php","line":261,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php","line":47,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php","line":70,"function":"getRemindersToProcess","class":"OCA\\DAV\\CalDAV\\Reminder\\Backend","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php","line":48,"function":"processReminders","class":"OCA\\DAV\\CalDAV\\Reminder\\ReminderService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php","line":50,"function":"run","class":"OCA\\DAV\\BackgroundJob\\EventReminderJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php","line":86,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":204,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/html/nextcloud-34.0.2/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/OCI8/Exception/Error.php","Line":21}},"message":"Error while running background job OCA\\DAV\\BackgroundJob\\EventReminderJob (id: 115372272698757120, arguments: null)","exception":"{\"class\":\"OC\\DB\\Exceptions\\DbalException\",\"message\":\"An exception occurred while executing a query: ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\\nHelp: https://docs.oracle.com/error-help/db/ora-00932/\",\"code\":932,\"file\":\"/var/www/html/nextcloud-34.0.2/lib/private/DB/Exceptions/DbalException.php:50\",\"trace\":\"#0 /var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php(60): OC\\DB\\Exceptions\\DbalException::wrap()\\n#1 /var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php(261): OC\\DB\\ConnectionAdapter->executeQuery()\\n#2 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php(47): OC\\DB\\QueryBuilder\\QueryBuilder->executeQuery()\\n#3 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php(70): OCA\\DAV\\CalDAV\\Reminder\\Backend->getRemindersToProcess()\\n#4 /var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php(48): OCA\\DAV\\CalDAV\\Reminder\\ReminderService->processReminders()\\n#5 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php(50): OCA\\DAV\\BackgroundJob\\EventReminderJob->run()\\n#6 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php(86): OCP\\BackgroundJob\\Job->start()\\n#7 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(204): OCP\\BackgroundJob\\TimedJob->start()\\n#8 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(107): OC\\Core\\Service\\CronService->runCli()\\n#9 /var/www/html/nextcloud-34.0.2/cron.php(52): OC\\Core\\Service\\CronService->run()\\n#10 {main}\",\"previous\":{\"class\":\"Doctrine\\DBAL\\Exception\\DriverException\",\"message\":\"An exception occurred while executing a query: ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\\nHelp: https://docs.oracle.com/error-help/db/ora-00932/\",\"code\":932,\"file\":\"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/API/OCI/ExceptionConverter.php:104\",\"trace\":\"#0 /var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php(1976): Doctrine\\DBAL\\Driver\\API\\OCI\\ExceptionConverter->convert()\\n#1 /var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php(1918): Doctrine\\DBAL\\Connection->handleDriverException()\\n#2 /var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php(1111): Doctrine\\DBAL\\Connection->convertExceptionDuringQuery()\\n#3 /var/www/html/nextcloud-34.0.2/lib/private/DB/Connection.php(420): Doctrine\\DBAL\\Connection->executeQuery()\\n#4 /var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php(57): OC\\DB\\Connection->executeQuery()\\n#5 /var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php(261): OC\\DB\\ConnectionAdapter->executeQuery()\\n#6 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php(47): OC\\DB\\QueryBuilder\\QueryBuilder->executeQuery()\\n#7 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php(70): OCA\\DAV\\CalDAV\\Reminder\\Backend->getRemindersToProcess()\\n#8 /var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php(48): OCA\\DAV\\CalDAV\\Reminder\\ReminderService->processReminders()\\n#9 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php(50): OCA\\DAV\\BackgroundJob\\EventReminderJob->run()\\n#10 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php(86): OCP\\BackgroundJob\\Job->start()\\n#11 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(204): OCP\\BackgroundJob\\TimedJob->start()\\n#12 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(107): OC\\Core\\Service\\CronService->runCli()\\n#13 /var/www/html/nextcloud-34.0.2/cron.php(52): OC\\Core\\Service\\CronService->run()\\n#14 {main}\",\"previous\":{\"class\":\"Doctrine\\DBAL\\Driver\\OCI8\\Exception\\Error\",\"message\":\"ORA-00932: tipos de dato inconsistentes: se esperaba - se ha obtenido BLOB\\nHelp: https://docs.oracle.com/error-help/db/ora-00932/\",\"code\":932,\"file\":\"/var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/OCI8/Exception/Error.php:21\",\"trace\":\"#0 /var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Driver/OCI8/Statement.php(169): Doctrine\\DBAL\\Driver\\OCI8\\Exception\\Error::new()\\n#1 /var/www/html/nextcloud-34.0.2/3rdparty/doctrine/dbal/src/Connection.php(1104): Doctrine\\DBAL\\Driver\\OCI8\\Statement->execute()\\n#2 /var/www/html/nextcloud-34.0.2/lib/private/DB/Connection.php(420): Doctrine\\DBAL\\Connection->executeQuery()\\n#3 /var/www/html/nextcloud-34.0.2/lib/private/DB/ConnectionAdapter.php(57): OC\\DB\\Connection->executeQuery()\\n#4 /var/www/html/nextcloud-34.0.2/lib/private/DB/QueryBuilder/QueryBuilder.php(261): OC\\DB\\ConnectionAdapter->executeQuery()\\n#5 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/Backend.php(47): OC\\DB\\QueryBuilder\\QueryBuilder->executeQuery()\\n#6 /var/www/html/nextcloud-34.0.2/apps/dav/lib/CalDAV/Reminder/ReminderService.php(70): OCA\\DAV\\CalDAV\\Reminder\\Backend->getRemindersToProcess()\\n#7 /var/www/html/nextcloud-34.0.2/apps/dav/lib/BackgroundJob/EventReminderJob.php(48): OCA\\DAV\\CalDAV\\Reminder\\ReminderService->processReminders()\\n#8 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/Job.php(50): OCA\\DAV\\BackgroundJob\\EventReminderJob->run()\\n#9 /var/www/html/nextcloud-34.0.2/lib/public/BackgroundJob/TimedJob.php(86): OCP\\BackgroundJob\\Job->start()\\n#10 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(204): OCP\\BackgroundJob\\TimedJob->start()\\n#11 /var/www/html/nextcloud-34.0.2/core/Service/CronService.php(107): OC\\Core\\Service\\CronService->runCli()\\n#12 /var/www/html/nextcloud-34.0.2/cron.php(52): OC\\Core\\Service\\CronService->run()\\n#13 {main}\"}}}","CustomMessage":"Error while running background job OCA\\DAV\\BackgroundJob\\EventReminderJob (id: 115372272698757120, arguments: null)"}}Additional info
describe "oc_calendarobjects" ;
Nombre ?Nulo? Tipo
id NOT NULL NUMBER(20)
calendardata BLOB
uri VARCHAR2(255)
calendarid NOT NULL NUMBER(20)
lastmodified NUMBER(10)
etag VARCHAR2(32)
size NOT NULL NUMBER(20)
componenttype VARCHAR2(8)
firstoccurence NUMBER(20)
lastoccurence NUMBER(20)
uid VARCHAR2(512)
classification NUMBER(10)
calendartype NOT NULL NUMBER(10)
deleted_at NUMBER(10)