nextcloud / groupfolders

📁👩‍👩‍👧‍👦 Admin-configured folders shared by everyone in a group. https://github.com/nextcloud-releases/groupfolders
https://apps.nextcloud.com/apps/groupfolders
284 stars 87 forks source link

Backends provided no user object / Duplicate entry for key 'gf_versions_uniq_index' #2559

Closed vidlb closed 9 months ago

vidlb commented 1 year ago

Steps to reproduce

Error appears in the logs with cron jobs, or when using docker run (...) occ groupfolders:expire -v

=> That was the only step to reproduce the "backends provided no user object" error (prior to update 15.3.2 - 16.0.1).
Regarding "duplicate entry for key", see 4 comments starting from https://github.com/nextcloud/groupfolders/issues/2559#issuecomment-1881314205

Actual behaviour

In Root.php line 364:
  [OC\User\NoUserException] Backends provided no user object

Server configuration

Operating system: Debian 12 / Docker 24

Web server: Nginx reverse proxy

Nextcloud version: 27.1

Group folders version: 15.3

Updated from an older Nextcloud/ownCloud or fresh install: Updated from 27.0

Where did you install Nextcloud from: Nextcloud AIO

Are you using external storage, if yes which one: local/s3/smb/sftp/... No

Are you using encryption: yes/no No

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/Saml/... No

Logs (docker run)

Exception trace:
  at /var/www/html/lib/private/Files/Node/Root.php:364
 OC\Files\Node\Root->getUserFolder() at n/a:n/a
 call_user_func_array() at /var/www/html/lib/private/Files/Node/LazyFolder.php:74
 OC\Files\Node\LazyFolder->__call() at /var/www/html/lib/private/Files/Node/LazyRoot.php:40
 OC\Files\Node\LazyRoot->getUserFolder() at /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php:73
 OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile() at /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php:72
 OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder() at /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php:59
 OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll() at /var/www/html/custom_apps/groupfolders/lib/Command/ExpireGroup/ExpireGroupVersions.php:66
 OCA\GroupFolders\Command\ExpireGroup\ExpireGroupVersions->execute() at /var/www/html/custom_apps/groupfolders/lib/Command/ExpireGroup/ExpireGroupVersionsTrash.php:54
 OCA\GroupFolders\Command\ExpireGroup\ExpireGroupVersionsTrash->execute() at /var/www/html/3rdparty/symfony/console/Command/Command.php:298
 Symfony\Component\Console\Command\Command->run() at /var/www/html/core/Command/Base.php:177
 OC\Core\Command\Base->run() at /var/www/html/3rdparty/symfony/console/Application.php:1040
 Symfony\Component\Console\Application->doRunCommand() at /var/www/html/3rdparty/symfony/console/Application.php:301
 Symfony\Component\Console\Application->doRun() at /var/www/html/3rdparty/symfony/console/Application.php:171
 Symfony\Component\Console\Application->run() at /var/www/html/lib/private/Console/Application.php:211
 OC\Console\Application->run() at /var/www/html/console.php:100
 require_once() at /var/www/html/occ:11

Logs (cron errors in nextcloud admin panel)

Error   core
OC\User\NoUserException: Backends provided no user object
    <<closure>>
    OC\Files\Node\Root->getUserFolder("")

    /var/www/html/lib/private/Files/Node/LazyFolder.php - line 74:
    call_user_func_array([ [ "OC\\Fil ... "], [ ""])

    /var/www/html/lib/private/Files/Node/LazyRoot.php - line 40:
    OC\Files\Node\LazyFolder->__call("getUserFolder", [ ""])

    /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php - line 73:
    OC\Files\Node\LazyRoot->getUserFolder("")

    /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php - line 72:
    OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile([ "OC\\User\\User"], [ "OC\\Files\\FileInfo"])

    /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php - line 59:
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder([ 2,"LaTeleS ... "])

    /var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php - line 43:
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll()

    /var/www/html/lib/public/BackgroundJob/Job.php - line 81:
    OCA\GroupFolders\BackgroundJob\ExpireGroupVersions->run(null)

    /var/www/html/lib/public/BackgroundJob/TimedJob.php - line 103:
    OCP\BackgroundJob\Job->start([ "OC\\BackgroundJob\\JobList"])

    /var/www/html/lib/public/BackgroundJob/TimedJob.php - line 93:
    OCP\BackgroundJob\TimedJob->start([ "OC\\BackgroundJob\\JobList"])

    /var/www/html/cron.php - line 152:
    OCP\BackgroundJob\TimedJob->execute([ "OC\\BackgroundJob\\JobList"], [ "OC\\Log"])

The bug

It seems the error is due to this line where getVersionsForFile is called with a dummy user, which isn't implemented (yet ?) since getVersionsForFile is clearly requiring a real user, because it will call $user->getUID() which will return NULL and then cause the exception with OC\Files\Node\Root->getUserFolder("")

I couldn't find existing issues, but may be this is something already fixed in master / targeting nextcloud 28 ?
Will it disappear when AIO switch to NC 28 ?

ernolf commented 1 year ago

Same here. Discussed --> here <-- as well.

solracsf commented 1 year ago

@artonge seems related to https://github.com/nextcloud/groupfolders/pull/2543

Anth0nyME commented 1 year ago

Same here.

Rednox commented 1 year ago

same here

alphasixtyfive commented 1 year ago

Same here. Logs are flooded with that error.

Githopp192 commented 11 months ago

same errors on 27.1.2 on RHEL 8.8, PHP 8.2

Dennis1993 commented 11 months ago

Same problem with 27.1.3 on Ubuntu 20.04 with PHP 8.2. My logs are full with this error every day…

major-mayer commented 11 months ago

To silence this error and get rid of the log spam, I commented out all of this in the function, because it will crash anyway.

      /**
         * @param array{id: int, mount_point: string, groups: array<empty, empty>|array<array-key, int>, quota: int, size: int, acl: bool} $folder
         */
        public function expireFolder(array $folder): void {
                $view = new View('/__groupfolders/versions/' . $folder['id']);
                $files = $this->versionsBackend->getAllVersionedFiles($folder);
                $dummyUser = new User('', null, $this->dispatcher);
                foreach ($files as $fileId => $file) {
                        if ($file instanceof FileInfo) {
                                //$versions = $this->versionsBackend->getVersionsForFile($dummyUser, $file);
                                //$expireVersions = $this->expireManager->getExpiredVersion($versions, $this->timeFactory->getTime(), false);
                                //foreach ($expireVersions as $version) {
                                //      /** @var GroupVersion $version */
                                //      $this->emit(self::class, 'deleteVersion', [$version]);
                                //      $view->unlink('/' . $fileId . '/' . $version->getVersionFile()->getName());
                                //}
                        } else {
                                // source file no longer exists
                                $this->emit(self::class, 'deleteFile', [$fileId]);
                                $this->versionsBackend->deleteAllVersionsForFile($folder['id'], $fileId);
                        }
                }
        }
}
ostasevych commented 11 months ago

To silence this error and get rid of the log spam, I commented out all of this in the function, because it will crash anyway.

      /**
         * @param array{id: int, mount_point: string, groups: array<empty, empty>|array<array-key, int>, quota: int, size: int, acl: bool} $folder
         */
        public function expireFolder(array $folder): void {
                $view = new View('/__groupfolders/versions/' . $folder['id']);
                $files = $this->versionsBackend->getAllVersionedFiles($folder);
                $dummyUser = new User('', null, $this->dispatcher);
                foreach ($files as $fileId => $file) {
                        if ($file instanceof FileInfo) {
                                //$versions = $this->versionsBackend->getVersionsForFile($dummyUser, $file);
                                //$expireVersions = $this->expireManager->getExpiredVersion($versions, $this->timeFactory->getTime(), false);
                                //foreach ($expireVersions as $version) {
                                //      /** @var GroupVersion $version */
                                //      $this->emit(self::class, 'deleteVersion', [$version]);
                                //      $view->unlink('/' . $fileId . '/' . $version->getVersionFile()->getName());
                                //}
                        } else {
                                // source file no longer exists
                                $this->emit(self::class, 'deleteFile', [$fileId]);
                                $this->versionsBackend->deleteAllVersionsForFile($folder['id'], $fileId);
                        }
                }
        }
}

You mean in the file apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php ? Are any side effects of commenting out this part of the function?

chrissi55 commented 11 months ago

Are any side effects of commenting out this part of the function?

That is an interesting question, as well as if there might be any interference with the files integrity check after updates so as the upcoming 27.1.4 in 2 or 3 days ...

BJKle commented 10 months ago

New release no luck. Still the same errors. (nextcloud 28 / groupfolders 16) no fun :-(

solracsf commented 10 months ago

There is a fix undergoing here : https://github.com/nextcloud/groupfolders/pull/2640

artonge commented 10 months ago

Any chance one of you could give it a try?

Chartman123 commented 10 months ago

@artonge Is this fix only for NC28? I can't update my instances currently because of missing app updates...

artonge commented 10 months ago

You should be able to apply it to NC27

solracsf commented 10 months ago

In case someone need it:

cd /var/www/nextcloud/apps/groupfolders
curl -L https://github.com/nextcloud/groupfolders/pull/2640.patch | sudo -u www-data patch -p1

# Force a cron run (optional, or wait for it to run)
sudo -u www-data php -f /var/www/nextcloud/cron.php
umgfoin commented 10 months ago

Any chance one of you could give it a try?

2640 fixes the issue for me with _groupfolders on NC 27.1.4.1

No side-effects observed, sofar. Thanks!

alphasixtyfive commented 10 months ago

After applying the #2640 path the old error is gone but this one showed up:

[core] Error: TypeError: OCA\GroupFolders\Versions\GroupVersion::__construct(): Argument #11 ($versionFile) must be of type OCP\Files\File, OC\Files\FileInfo given, called in /srv/nextcloud/apps/groupfolders/lib/Versions/VersionsBackend.php on line 132 at <<closure>>

 0. /srv/nextcloud/apps/groupfolders/lib/Versions/VersionsBackend.php line 132
    OCA\GroupFolders\Versions\GroupVersion->__construct()
 1. <<closure>>
    OCA\GroupFolders\Versions\VersionsBackend->OCA\GroupFolders\Versions\{closure}("*** sensitive parameters replaced ***")
 2. /srv/nextcloud/apps/groupfolders/lib/Versions/VersionsBackend.php line 131
    array_map()
 3. /srv/nextcloud/apps/groupfolders/lib/Versions/VersionsBackend.php line 116
    OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFileFromDB()
 4. /srv/nextcloud/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 72
    OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile()
 5. /srv/nextcloud/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 59
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder()
 6. /srv/nextcloud/apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php line 43
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll()
 7. /srv/nextcloud/lib/public/BackgroundJob/Job.php line 81
    OCA\GroupFolders\BackgroundJob\ExpireGroupVersions->run()
 8. /srv/nextcloud/lib/public/BackgroundJob/TimedJob.php line 103
    OCP\BackgroundJob\Job->start()
 9. /srv/nextcloud/lib/public/BackgroundJob/TimedJob.php line 93
    OCP\BackgroundJob\TimedJob->start()
10. /srv/nextcloud/cron.php line 152
    OCP\BackgroundJob\TimedJob->execute()

at 2023-12-13T14:20:02+00:00
Chartman123 commented 10 months ago

I added the patch to my instance and since then get the following errors on every cron run:

[core] Error: TypeError: OCA\GroupFolders\Versions\GroupVersion::__construct(): Argument #11 ($versionFile) must be of type OCP\Files\File, OC\Files\FileInfo given, called in /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php on line 132 at <<closure>>

 0. /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php line 132
    OCA\GroupFolders\Versions\GroupVersion->__construct(1683918363, 1683918363, "Abteilungen.xlsx", 9625, "application/vnd ... t", "", ["OC\\Files\\FileInfo"], ["OCA\\GroupFold ... "], ["OC\\User\\User"], "", ["OC\\Files\\FileInfo"], 2)
 1. <<closure>>
    OCA\GroupFolders\Versions\VersionsBackend->OCA\GroupFolders\Versions\{closure}("*** sensitive parameters replaced ***")
 2. /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php line 131
    array_map(["Closure"], ["*** sensitive parameters replaced ***"])
 3. /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php line 73
    OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFileFromDB(["OC\\Files\\FileInfo"], ["OC\\User\\User"], 2)
 4. /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 72
    OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile(["OC\\User\\User"], ["OC\\Files\\FileInfo"])
 5. /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 59
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder([2,"TS_Turnersch ... "])
 6. /var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php line 43
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll()
 7. /var/www/html/lib/public/BackgroundJob/Job.php line 81
    OCA\GroupFolders\BackgroundJob\ExpireGroupVersions->run(null)
 8. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 103
    OCP\BackgroundJob\Job->start(["OC\\BackgroundJob\\JobList"])
 9. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 93
    OCP\BackgroundJob\TimedJob->start(["OC\\BackgroundJob\\JobList"])
10. /var/www/html/cron.php line 152
    OCP\BackgroundJob\TimedJob->execute(["OC\\BackgroundJob\\JobList"], ["OC\\Log"])

at 2023-12-13T14:40:08+00:00
artonge commented 10 months ago

Thanks for the fast feedback. I updated the PR. Can you test again?

Chartman123 commented 10 months ago

@artonge The error is gone... now I get the following:

OC\DB\Exceptions\DbalException: An exception occurred while executing a query: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "gf_versions_uniq_index" DETAIL: Key (file_id, "timestamp")=(1723, 1683918363) already exists.
artonge commented 10 months ago

OC\DB\Exceptions\DbalException: An exception occurred while executing a query: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "gf_versions_uniq_index" DETAIL: Key (file_id, "timestamp")=(1723, 1683918363) already exists.

Do you have a stacktrace in the nextcloud logs?

This might be another issue. I'll merge the PR and make the release.

Chartman123 commented 10 months ago

@artonge yes, here's the stack trace :)

Stack trace ``` { "reqId": "qUa38Ump6rQPTUpzzAmr", "level": 3, "time": "2023-12-14T13:25:06+00:00", "remoteAddr": "", "user": "--", "app": "core", "method": "", "url": "--", "message": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )", "userAgent": "--", "version": "28.0.0.11", "exception": { "Exception": "OC\\DB\\Exceptions\\DbalException", "Message": "An exception occurred while executing a query: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(1723, 1683918363) already exists.", "Code": 7, "Trace": [ { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 328, "function": "wrap", "class": "OC\\DB\\Exceptions\\DbalException", "type": "::", "args": [ [ "Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException" ] ] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 2, "TS_Turnerschaft", [ [ "TS_Turnerbrief", 1, "group" ], [ "TS_Turnhalle", 1, "group" ], [ "TS_Satzung", 1, "group" ], [ "TS_Mitgliederverwaltung", 1, "group" ], [ "TS_Öffentlichkeitsarbeit", 1, "group" ], "And 4 more entries, set log level to debug to see all entries" ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/lib/private/DB/Exceptions/DbalException.php", "Line": 71, "Previous": { "Exception": "Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException", "Message": "An exception occurred while executing a query: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(1723, 1683918363) already exists.", "Code": 7, "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1938, "function": "convert", "class": "Doctrine\\DBAL\\Driver\\API\\PostgreSQL\\ExceptionConverter", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], [ "Doctrine\\DBAL\\Query" ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1880, "function": "handleDriverException", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], [ "Doctrine\\DBAL\\Query" ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1208, "function": "convertExceptionDuringQuery", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 294, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 386, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 2, "TS_Turnerschaft", [ [ "TS_Turnerbrief", 1, "group" ], [ "TS_Turnhalle", 1, "group" ], [ "TS_Satzung", 1, "group" ], [ "TS_Mitgliederverwaltung", 1, "group" ], [ "TS_Öffentlichkeitsarbeit", 1, "group" ], "And 4 more entries, set log level to debug to see all entries" ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/API/PostgreSQL/ExceptionConverter.php", "Line": 53, "Previous": { "Exception": "Doctrine\\DBAL\\Driver\\PDO\\Exception", "Message": "SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(1723, 1683918363) already exists.", "Code": 7, "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "line": 132, "function": "new", "class": "Doctrine\\DBAL\\Driver\\PDO\\Exception", "type": "::", "args": [ [ "PDOException", [ "23505", 7, "ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(1723, 1683918363) already exists." ] ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1202, "function": "execute", "class": "Doctrine\\DBAL\\Driver\\PDO\\Statement", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 294, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 386, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 2, "TS_Turnerschaft", [ [ "TS_Turnerbrief", 1, "group" ], [ "TS_Turnhalle", 1, "group" ], [ "TS_Satzung", 1, "group" ], [ "TS_Mitgliederverwaltung", 1, "group" ], [ "TS_Öffentlichkeitsarbeit", 1, "group" ], "And 4 more entries, set log level to debug to see all entries" ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php", "Line": 28, "Previous": { "Exception": "PDOException", "Message": "SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(1723, 1683918363) already exists.", "Code": "23505", "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "line": 130, "function": "execute", "class": "PDOStatement", "type": "->", "args": [ null ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1202, "function": "execute", "class": "Doctrine\\DBAL\\Driver\\PDO\\Statement", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 294, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 386, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 2, "TS_Turnerschaft", [ [ "TS_Turnerbrief", 1, "group" ], [ "TS_Turnhalle", 1, "group" ], [ "TS_Satzung", 1, "group" ], [ "TS_Mitgliederverwaltung", 1, "group" ], [ "TS_Öffentlichkeitsarbeit", 1, "group" ], "And 4 more entries, set log level to debug to see all entries" ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "Line": 130 } } }, "message": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )", "exception": [], "CustomMessage": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )" }, "id": "657b023c36802" } ```
artonge commented 10 months ago

@Chartman123 I don't see a reason for your error. It could be a one time race error :thinking:. Is it occurring consistently? If so, can you apply the following patch? And report the extra log?

mismatch_fileid_groupfolders_files_versions.txt

manumitted commented 10 months ago

I just updated to 16.0.1, and this related issue seems to be solved. The occ groupfolders:expire command seemed to complete without errors. (Edit: However, I do see a stray DbalException in the log now, similar to what is noted above.)

However, my "This file no longer exists" error (which happens within group folders via the file app ... and something similar apparently at some other "mounted" locations) is in full force again. That error happens after some fairly short timeout when trying to open files within a group folder. (The problem is fixed only when browsing to the root, which must restore the mount point information.) This has been a big problem for me to share files, and I hope to get more time to debug it over the next few weeks, but I'm starting to think it will be much longer before I track it down.

Thanks.

Chartman123 commented 10 months ago

Is it occurring consistently? If so, can you apply the following patch? And report the extra log?

@artonge Yes, the error is logged on every one hour and five minutes when the cron task runs. I'll try your extra patch and report back.

avbor commented 10 months ago

After update to 16.0.1 i have the same error every 1h 5m:

DbalException
An exception occurred while executing a query: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "gf_versions_uniq_index" DETAIL: Key (file_id, "timestamp")=(993995, 1662879328) already exists.
Error while running background job (class: OCA\GroupFolders\BackgroundJob\ExpireGroupVersions, arguments: )
solracsf commented 10 months ago

@avbor can you apply https://github.com/nextcloud/groupfolders/issues/2559#issuecomment-1856198094 ?

avbor commented 10 months ago

@solracsf I can try, can you tell me how? =)

solracsf commented 10 months ago

In the file /apps/files_versions/lib/Listener/FileEventsListener.php

Around line 193/195 you'll have:

$path = $this->getPathForNode($node);
$result = Storage::store($path);

change it to be:

$path = $this->getPathForNode($node);
if ($path === null) {
    $this->logger->error('Failed to find relative path for file for ' . $node->getPath() . ' and owner ' .$node->getOwner());
}

$result = Storage::store($path);
Chartman123 commented 10 months ago

@artonge Here's the new stack trace:

Click ``` { "reqId": "T8H0XEY9xdDcp3aur5ht", "level": 3, "time": "2023-12-15T08:50:11+00:00", "remoteAddr": "", "user": "--", "app": "core", "method": "", "url": "--", "message": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )", "userAgent": "--", "version": "28.0.0.11", "exception": { "Exception": "OC\\DB\\Exceptions\\DbalException", "Message": "An exception occurred while executing a query: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(1723, 1683918363) already exists.", "Code": 7, "Trace": [ { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 328, "function": "wrap", "class": "OC\\DB\\Exceptions\\DbalException", "type": "::", "args": [ [ "Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException" ] ] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 2, "TS_Turnerschaft", [ [ "TS_Turnerbrief", 1, "group" ], [ "TS_Turnhalle", 1, "group" ], [ "TS_Satzung", 1, "group" ], [ "TS_Mitgliederverwaltung", 1, "group" ], [ "TS_Öffentlichkeitsarbeit", 1, "group" ], "And 4 more entries, set log level to debug to see all entries" ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/lib/private/DB/Exceptions/DbalException.php", "Line": 71, "Previous": { "Exception": "Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException", "Message": "An exception occurred while executing a query: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(1723, 1683918363) already exists.", "Code": 7, "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1938, "function": "convert", "class": "Doctrine\\DBAL\\Driver\\API\\PostgreSQL\\ExceptionConverter", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], [ "Doctrine\\DBAL\\Query" ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1880, "function": "handleDriverException", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], [ "Doctrine\\DBAL\\Query" ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1208, "function": "convertExceptionDuringQuery", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 294, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 386, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 2, "TS_Turnerschaft", [ [ "TS_Turnerbrief", 1, "group" ], [ "TS_Turnhalle", 1, "group" ], [ "TS_Satzung", 1, "group" ], [ "TS_Mitgliederverwaltung", 1, "group" ], [ "TS_Öffentlichkeitsarbeit", 1, "group" ], "And 4 more entries, set log level to debug to see all entries" ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/API/PostgreSQL/ExceptionConverter.php", "Line": 53, "Previous": { "Exception": "Doctrine\\DBAL\\Driver\\PDO\\Exception", "Message": "SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(1723, 1683918363) already exists.", "Code": 7, "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "line": 132, "function": "new", "class": "Doctrine\\DBAL\\Driver\\PDO\\Exception", "type": "::", "args": [ [ "PDOException", [ "23505", 7, "ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(1723, 1683918363) already exists." ] ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1202, "function": "execute", "class": "Doctrine\\DBAL\\Driver\\PDO\\Statement", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 294, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 386, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 2, "TS_Turnerschaft", [ [ "TS_Turnerbrief", 1, "group" ], [ "TS_Turnhalle", 1, "group" ], [ "TS_Satzung", 1, "group" ], [ "TS_Mitgliederverwaltung", 1, "group" ], [ "TS_Öffentlichkeitsarbeit", 1, "group" ], "And 4 more entries, set log level to debug to see all entries" ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php", "Line": 28, "Previous": { "Exception": "PDOException", "Message": "SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(1723, 1683918363) already exists.", "Code": "23505", "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "line": 130, "function": "execute", "class": "PDOStatement", "type": "->", "args": [ null ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1202, "function": "execute", "class": "Doctrine\\DBAL\\Driver\\PDO\\Statement", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 294, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 386, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO \"group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 1723, 1683918363, 9625, 24, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 2, "TS_Turnerschaft", [ [ "TS_Turnerbrief", 1, "group" ], [ "TS_Turnhalle", 1, "group" ], [ "TS_Satzung", 1, "group" ], [ "TS_Mitgliederverwaltung", 1, "group" ], [ "TS_Öffentlichkeitsarbeit", 1, "group" ], "And 4 more entries, set log level to debug to see all entries" ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "Line": 130 } } }, "message": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )", "exception": [], "CustomMessage": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )" }, "id": "657c17b89f4ad" } ```

I can also tell you that this doesn't happen on all instances. I've updated groupfolders on my other instance as well and don't get this error there.

Main differences (problem / no problem): Postgres / Mariadb, Docker / manual installation, LDAP user backend / NC users

avbor commented 10 months ago

@solracsf thx! we'll see what happens.

avbor commented 10 months ago

@solracsf No, it didn't work:

DbalException
An exception occurred while executing a query: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "gf_versions_uniq_index" DETAIL: Key (file_id, "timestamp")=(993995, 1662879328) already exists.
Error while running background job (class: OCA\GroupFolders\BackgroundJob\ExpireGroupVersions, arguments: )
solracsf commented 10 months ago

The 2nd patch doesn't fix the error, it just helps debugging it. 🫣

Please provide full JSON backtraces of errors, and not just the main message!

avbor commented 10 months ago

Here is the log:

Click ``` { "reqId": "2s3MAW4i9LCAjQVCIWJg", "level": 3, "time": "2023-12-15T19:40:03+00:00", "remoteAddr": "", "user": "--", "app": "core", "method": "", "url": "--", "message": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )", "userAgent": "--", "version": "28.0.0.11", "exception": { "Exception": "OC\\DB\\Exceptions\\DbalException", "Message": "An exception occurred while executing a query: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(993995, 1662879328) already exists.", "Code": 7, "Trace": [ { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 328, "function": "wrap", "class": "OC\\DB\\Exceptions\\DbalException", "type": "::", "args": [ [ "Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException" ] ] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 1, "Семья", [ [ "Семья", 31, "group" ] ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/lib/private/DB/Exceptions/DbalException.php", "Line": 71, "Previous": { "Exception": "Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException", "Message": "An exception occurred while executing a query: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(993995, 1662879328) already exists.", "Code": 7, "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1938, "function": "convert", "class": "Doctrine\\DBAL\\Driver\\API\\PostgreSQL\\ExceptionConverter", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], [ "Doctrine\\DBAL\\Query" ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1880, "function": "handleDriverException", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], [ "Doctrine\\DBAL\\Query" ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1208, "function": "convertExceptionDuringQuery", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], "INSERT INTO \"oc_group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 993995, 1662879328, 12806531, 67, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 294, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO \"oc_group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 993995, 1662879328, 12806531, 67, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 386, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO \"oc_group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 993995, 1662879328, 12806531, 67, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 1, "Семья", [ [ "Семья", 31, "group" ] ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/API/PostgreSQL/ExceptionConverter.php", "Line": 53, "Previous": { "Exception": "Doctrine\\DBAL\\Driver\\PDO\\Exception", "Message": "SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(993995, 1662879328) already exists.", "Code": 7, "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "line": 132, "function": "new", "class": "Doctrine\\DBAL\\Driver\\PDO\\Exception", "type": "::", "args": [ [ "PDOException", [ "23505", 7, "ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(993995, 1662879328) already exists." ] ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1202, "function": "execute", "class": "Doctrine\\DBAL\\Driver\\PDO\\Statement", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 294, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO \"oc_group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 993995, 1662879328, 12806531, 67, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 386, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO \"oc_group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 993995, 1662879328, 12806531, 67, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 1, "Семья", [ [ "Семья", 31, "group" ] ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php", "Line": 28, "Previous": { "Exception": "PDOException", "Message": "SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint \"gf_versions_uniq_index\"\nDETAIL: Key (file_id, \"timestamp\")=(993995, 1662879328) already exists.", "Code": "23505", "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "line": 130, "function": "execute", "class": "PDOStatement", "type": "->", "args": [ null ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1202, "function": "execute", "class": "Doctrine\\DBAL\\Driver\\PDO\\Statement", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 294, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO \"oc_group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(?, ?, ?, ?, ?)", [ 993995, 1662879328, 12806531, 67, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 386, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO \"oc_group_folders_versions\" (\"file_id\", \"timestamp\", \"size\", \"mimetype\", \"metadata\") VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 993995, 1662879328, 12806531, 67, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 1, "Семья", [ [ "Семья", 31, "group" ] ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 102, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 92, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "Line": 130 } } }, "message": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )", "exception": [], "CustomMessage": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )" }, "id": "657cb986054cb" } ```
vicelversa commented 10 months ago

I'm also seeing this Integrity constraint violation error. Do you need another log sample of the issue for your troubleshooting efforts?

major-mayer commented 10 months ago
Stack trace with 15.3.2 ```json { "reqId": "qtXIiEv3kcqAw1SpC1LN", "level": 3, "time": "2023-12-19T15:12:30+00:00", "remoteAddr": "", "user": "--", "app": "core", "method": "", "url": "--", "message": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )", "userAgent": "--", "version": "27.1.4.1", "exception": { "Exception": "OC\\DB\\Exceptions\\DbalException", "Message": "An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1575648-1679159742' for key 'gf_versions_uniq_index'", "Code": 1062, "Trace": [ { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 328, "function": "wrap", "class": "OC\\DB\\Exceptions\\DbalException", "type": "::", "args": [ [ "Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException" ] ] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 1, "xxx", [ [ "xxx", 31, "group" ] ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 103, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 93, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/lib/private/DB/Exceptions/DbalException.php", "Line": 71, "Previous": { "Exception": "Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException", "Message": "An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1575648-1679159742' for key 'gf_versions_uniq_index'", "Code": 1062, "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1814, "function": "convert", "class": "Doctrine\\DBAL\\Driver\\API\\MySQL\\ExceptionConverter", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], [ "Doctrine\\DBAL\\Query" ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1749, "function": "handleDriverException", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], [ "Doctrine\\DBAL\\Query" ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1163, "function": "convertExceptionDuringQuery", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ [ "Doctrine\\DBAL\\Driver\\PDO\\Exception" ], "INSERT INTO `oc_group_folders_versions` (`file_id`, `timestamp`, `size`, `mimetype`, `metadata`) VALUES(?, ?, ?, ?, ?)", [ 1575648, 1679159742, 10986, 35, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 295, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO `oc_group_folders_versions` (`file_id`, `timestamp`, `size`, `mimetype`, `metadata`) VALUES(?, ?, ?, ?, ?)", [ 1575648, 1679159742, 10986, 35, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 354, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO `oc_group_folders_versions` (`file_id`, `timestamp`, `size`, `mimetype`, `metadata`) VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 1575648, 1679159742, 10986, 35, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 1, "xxx", [ [ "xxx", 31, "group" ] ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 103, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 93, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php", "Line": 64, "Previous": { "Exception": "Doctrine\\DBAL\\Driver\\PDO\\Exception", "Message": "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1575648-1679159742' for key 'gf_versions_uniq_index'", "Code": 1062, "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "line": 103, "function": "new", "class": "Doctrine\\DBAL\\Driver\\PDO\\Exception", "type": "::", "args": [ [ "PDOException", [ "23000", 1062, "Duplicate entry '1575648-1679159742' for key 'gf_versions_uniq_index'" ] ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1153, "function": "execute", "class": "Doctrine\\DBAL\\Driver\\PDO\\Statement", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 295, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO `oc_group_folders_versions` (`file_id`, `timestamp`, `size`, `mimetype`, `metadata`) VALUES(?, ?, ?, ?, ?)", [ 1575648, 1679159742, 10986, 35, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 354, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO `oc_group_folders_versions` (`file_id`, `timestamp`, `size`, `mimetype`, `metadata`) VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 1575648, 1679159742, 10986, 35, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 1, "xxx", [ [ "xxx", 31, "group" ] ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 103, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 93, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php", "Line": 30, "Previous": { "Exception": "PDOException", "Message": "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1575648-1679159742' for key 'gf_versions_uniq_index'", "Code": "23000", "Trace": [ { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "line": 101, "function": "execute", "class": "PDOStatement", "type": "->", "args": [ null ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Connection.php", "line": 1153, "function": "execute", "class": "Doctrine\\DBAL\\Driver\\PDO\\Statement", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/Connection.php", "line": 295, "function": "executeStatement", "class": "Doctrine\\DBAL\\Connection", "type": "->", "args": [ "INSERT INTO `oc_group_folders_versions` (`file_id`, `timestamp`, `size`, `mimetype`, `metadata`) VALUES(?, ?, ?, ?, ?)", [ 1575648, 1679159742, 10986, 35, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php", "line": 354, "function": "executeStatement", "class": "OC\\DB\\Connection", "type": "->", "args": [ "INSERT INTO `oc_group_folders_versions` (`file_id`, `timestamp`, `size`, `mimetype`, `metadata`) VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)", [ 1575648, 1679159742, 10986, 35, "[]" ], [ 2, 1, 1, 1, 2 ] ] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 280, "function": "execute", "class": "Doctrine\\DBAL\\Query\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php", "line": 326, "function": "execute", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php", "line": 137, "function": "executeStatement", "class": "OC\\DB\\QueryBuilder\\QueryBuilder", "type": "->", "args": [] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php", "line": 88, "function": "insert", "class": "OCP\\AppFramework\\Db\\QBMapper", "type": "->", "args": [ [ "OCA\\GroupFolders\\Versions\\GroupVersionEntity", null ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 72, "function": "getVersionsForFile", "class": "OCA\\GroupFolders\\Versions\\VersionsBackend", "type": "->", "args": [ [ "OC\\User\\User" ], [ "OC\\Files\\FileInfo" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php", "line": 59, "function": "expireFolder", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [ [ 1, "xxx", [ [ "xxx", 31, "group" ] ], -3, 0, "And 1 more entries, set log level to debug to see all entries" ] ] }, { "file": "/var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php", "line": 43, "function": "expireAll", "class": "OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager", "type": "->", "args": [] }, { "file": "/var/www/html/lib/public/BackgroundJob/Job.php", "line": 81, "function": "run", "class": "OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions", "type": "->", "args": [ null ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 103, "function": "start", "class": "OCP\\BackgroundJob\\Job", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php", "line": 93, "function": "start", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ] ] }, { "file": "/var/www/html/cron.php", "line": 152, "function": "execute", "class": "OCP\\BackgroundJob\\TimedJob", "type": "->", "args": [ [ "OC\\BackgroundJob\\JobList" ], [ "OC\\Log" ] ] } ], "File": "/var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php", "Line": 101 } } }, "message": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )", "exception": {}, "CustomMessage": "Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )" } } ```
Chartman123 commented 10 months ago

Now that there's a new Issue for this, should we move the discussion there or close the other one as duplicate?

2692

Dennis1993 commented 10 months ago

Thanks for the information! I closed the other one, we can fix it here :)

rakekniven commented 10 months ago

PDOException: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "gf_versions_uniq_index"

Having this on my v27.1.5 instance as well. Every hour.

svigerske commented 10 months ago

I also get a DB exception since the upgrade to NextCloud 27.1.5 / GroupFolders 15.3.2. I applied the change from https://github.com/nextcloud/groupfolders/issues/2559#issuecomment-1856198094, but don't think it made a difference.

[core] Error: OC\DB\Exceptions\DbalException: An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '7397-1545061772' for key 'gf_versions_uniq_index' at <> 0. /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php line 328 OC\DB\Exceptions\DbalException::wrap(["Doctrine\\DBAL ... "]) 1. /var/www/html/lib/public/AppFramework/Db/QBMapper.php line 137 OC\DB\QueryBuilder\QueryBuilder->executeStatement() 2. /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php line 88 OCP\AppFramework\Db\QBMapper->insert(["OCA\\GroupFold ... l]) 3. /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 72 OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile(["OC\\User\\User"], ["OC\\Files\\FileInfo"]) 4. /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 59 OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder([2,"Devel",[["de ... "]) 5. /var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php line 43 OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll() 6. /var/www/html/lib/public/BackgroundJob/Job.php line 81 OCA\GroupFolders\BackgroundJob\ExpireGroupVersions->run(null) 7. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 103 OCP\BackgroundJob\Job->start(["OC\\BackgroundJob\\JobList"]) 8. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 93 OCP\BackgroundJob\TimedJob->start(["OC\\BackgroundJob\\JobList"]) 9. /var/www/html/cron.php line 152 OCP\BackgroundJob\TimedJob->execute(["OC\\BackgroundJob\\JobList"], ["OC\\Log"]) Caused by: Doctrine\DBAL\Exception\UniqueConstraintViolationException: An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '7397-1545061772' for key 'gf_versions_uniq_index' at <> 0. /var/www/html/3rdparty/doctrine/dbal/src/Connection.php line 1814 Doctrine\DBAL\Driver\API\MySQL\ExceptionConverter->convert(["Doctrine\\DBAL ... "], ["Doctrine\\DBAL\\Query"]) 1. /var/www/html/3rdparty/doctrine/dbal/src/Connection.php line 1749 Doctrine\DBAL\Connection->handleDriverException(["Doctrine\\DBAL ... "], ["Doctrine\\DBAL\\Query"]) 2. /var/www/html/3rdparty/doctrine/dbal/src/Connection.php line 1163 Doctrine\DBAL\Connection->convertExceptionDuringQuery(["Doctrine\\DBAL ... "], "INSERT INTO `oc ... )", [7397,1545061772,29019,15,"[]"], [2,1,1,1,2]) 3. /var/www/html/lib/private/DB/Connection.php line 295 Doctrine\DBAL\Connection->executeStatement("INSERT INTO `oc ... )", [7397,1545061772,29019,15,"[]"], [2,1,1,1,2]) 4. /var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php line 354 OC\DB\Connection->executeStatement("INSERT INTO `oc ... )", [7397,1545061772,29019,15,"[]"], [2,1,1,1,2]) 5. /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php line 280 Doctrine\DBAL\Query\QueryBuilder->execute() 6. /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php line 326 OC\DB\QueryBuilder\QueryBuilder->execute() 7. /var/www/html/lib/public/AppFramework/Db/QBMapper.php line 137 OC\DB\QueryBuilder\QueryBuilder->executeStatement() 8. /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php line 88 OCP\AppFramework\Db\QBMapper->insert(["OCA\\GroupFold ... l]) 9. /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 72 OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile(["OC\\User\\User"], ["OC\\Files\\FileInfo"]) 10. /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 59 OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder([2,"Devel",[["de ... "]) 11. /var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php line 43 OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll() 12. /var/www/html/lib/public/BackgroundJob/Job.php line 81 OCA\GroupFolders\BackgroundJob\ExpireGroupVersions->run(null) 13. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 103 OCP\BackgroundJob\Job->start(["OC\\BackgroundJob\\JobList"]) 14. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 93 OCP\BackgroundJob\TimedJob->start(["OC\\BackgroundJob\\JobList"]) 15. /var/www/html/cron.php line 152 OCP\BackgroundJob\TimedJob->execute(["OC\\BackgroundJob\\JobList"], ["OC\\Log"]) Caused by: Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '7397-1545061772' for key 'gf_versions_uniq_index' at <> 0. /var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php line 103 Doctrine\DBAL\Driver\PDO\Exception::new(["PDOException", ... ]]) 1. /var/www/html/3rdparty/doctrine/dbal/src/Connection.php line 1153 Doctrine\DBAL\Driver\PDO\Statement->execute() 2. /var/www/html/lib/private/DB/Connection.php line 295 Doctrine\DBAL\Connection->executeStatement("INSERT INTO `oc ... )", [7397,1545061772,29019,15,"[]"], [2,1,1,1,2]) 3. /var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php line 354 OC\DB\Connection->executeStatement("INSERT INTO `oc ... )", [7397,1545061772,29019,15,"[]"], [2,1,1,1,2]) 4. /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php line 280 Doctrine\DBAL\Query\QueryBuilder->execute() 5. /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php line 326 OC\DB\QueryBuilder\QueryBuilder->execute() 6. /var/www/html/lib/public/AppFramework/Db/QBMapper.php line 137 OC\DB\QueryBuilder\QueryBuilder->executeStatement() 7. /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php line 88 OCP\AppFramework\Db\QBMapper->insert(["OCA\\GroupFold ... l]) 8. /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 72 OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile(["OC\\User\\User"], ["OC\\Files\\FileInfo"]) 9. /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 59 OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder([2,"Devel",[["de ... "]) 10. /var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php line 43 OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll() 11. /var/www/html/lib/public/BackgroundJob/Job.php line 81 OCA\GroupFolders\BackgroundJob\ExpireGroupVersions->run(null) 12. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 103 OCP\BackgroundJob\Job->start(["OC\\BackgroundJob\\JobList"]) 13. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 93 OCP\BackgroundJob\TimedJob->start(["OC\\BackgroundJob\\JobList"]) 14. /var/www/html/cron.php line 152 OCP\BackgroundJob\TimedJob->execute(["OC\\BackgroundJob\\JobList"], ["OC\\Log"]) Caused by: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '7397-1545061772' for key 'gf_versions_uniq_index' at <> 0. /var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php line 101 PDOStatement->execute(null) 1. /var/www/html/3rdparty/doctrine/dbal/src/Connection.php line 1153 Doctrine\DBAL\Driver\PDO\Statement->execute() 2. /var/www/html/lib/private/DB/Connection.php line 295 Doctrine\DBAL\Connection->executeStatement("INSERT INTO `oc ... )", [7397,1545061772,29019,15,"[]"], [2,1,1,1,2]) 3. /var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php line 354 OC\DB\Connection->executeStatement("INSERT INTO `oc ... )", [7397,1545061772,29019,15,"[]"], [2,1,1,1,2]) 4. /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php line 280 Doctrine\DBAL\Query\QueryBuilder->execute() 5. /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php line 326 OC\DB\QueryBuilder\QueryBuilder->execute() 6. /var/www/html/lib/public/AppFramework/Db/QBMapper.php line 137 OC\DB\QueryBuilder\QueryBuilder->executeStatement() 7. /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php line 88 OCP\AppFramework\Db\QBMapper->insert(["OCA\\GroupFold ... l]) 8. /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 72 OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile(["OC\\User\\User"], ["OC\\Files\\FileInfo"]) 9. /var/www/html/custom_apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 59 OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder([2,"Devel",[["de ... "]) 10. /var/www/html/custom_apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php line 43 OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll() 11. /var/www/html/lib/public/BackgroundJob/Job.php line 81 OCA\GroupFolders\BackgroundJob\ExpireGroupVersions->run(null) 12. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 103 OCP\BackgroundJob\Job->start(["OC\\BackgroundJob\\JobList"]) 13. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 93 OCP\BackgroundJob\TimedJob->start(["OC\\BackgroundJob\\JobList"]) 14. /var/www/html/cron.php line 152 OCP\BackgroundJob\TimedJob->execute(["OC\\BackgroundJob\\JobList"], ["OC\\Log"]) at 2023-12-21T09:30:01+00:00

Before the update from NextCloud 27.1.4 to 27.1.5 and Groupfolders, I had the change from https://github.com/nextcloud/groupfolders/issues/2559#issuecomment-1817805053 to get rid of the "Backends provided..." message. I hope that didn't put the DB into an inconsistent state.

gibelium commented 10 months ago

Same problem here with NC 28.0.0 and GroupFolders 16.0.1.

The question that concerns me is what side effects the error causes and whether it can lead to DB inconsistencies.

However, would be nice to have it fixed quickly.

An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '629-1701546321' for key 'gf_versions_uniq_index'
Error while running background job (class: OCA\GroupFolders\BackgroundJob\ExpireGroupVersions, arguments: )

[core] Error: Error while running background job (class: OCA\GroupFolders\BackgroundJob\ExpireGroupVersions, arguments: )
    from ? by -- at 21.12.2023, 08:00:10
RAW log output {"reqId":"RiHnGTcBZQhf7vmHHDl8","level":3,"time":"2023-12-21T12:00:10+00:00","remoteAddr":"","user":"--","app":"core","method":"","url":"--","message":"Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )","userAgent":"--","version":"28.0.0.11","exception":{"Exception":"OC\\DB\\Exceptions\\DbalException","Message":"An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '629-1701546321' for key 'gf_versions_uniq_index'","Code":1062,"Trace":[{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/private/DB/QueryBuilder/QueryBuilder.php","line":328,"function":"wrap","class":"OC\\DB\\Exceptions\\DbalException","type":"::"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/AppFramework/Db/QBMapper.php","line":137,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/VersionsBackend.php","line":88,"function":"insert","class":"OCP\\AppFramework\\Db\\QBMapper","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php","line":72,"function":"getVersionsForFile","class":"OCA\\GroupFolders\\Versions\\VersionsBackend","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php","line":59,"function":"expireFolder","class":"OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php","line":43,"function":"expireAll","class":"OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/Job.php","line":81,"function":"run","class":"OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/TimedJob.php","line":102,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/TimedJob.php","line":92,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/cron.php","line":152,"function":"execute","class":"OCP\\BackgroundJob\\TimedJob","type":"->"}],"File":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/private/DB/Exceptions/DbalException.php","Line":71,"Previous":{"Exception":"Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException","Message":"An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '629-1701546321' for key 'gf_versions_uniq_index'","Code":1062,"Trace":[{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Connection.php","line":1938,"function":"convert","class":"Doctrine\\DBAL\\Driver\\API\\MySQL\\ExceptionConverter","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Connection.php","line":1880,"function":"handleDriverException","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Connection.php","line":1208,"function":"convertExceptionDuringQuery","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/private/DB/Connection.php","line":294,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":386,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\\DBAL\\Query\\QueryBuilder","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/private/DB/QueryBuilder/QueryBuilder.php","line":326,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/AppFramework/Db/QBMapper.php","line":137,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/VersionsBackend.php","line":88,"function":"insert","class":"OCP\\AppFramework\\Db\\QBMapper","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php","line":72,"function":"getVersionsForFile","class":"OCA\\GroupFolders\\Versions\\VersionsBackend","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php","line":59,"function":"expireFolder","class":"OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php","line":43,"function":"expireAll","class":"OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/Job.php","line":81,"function":"run","class":"OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/TimedJob.php","line":102,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/TimedJob.php","line":92,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/cron.php","line":152,"function":"execute","class":"OCP\\BackgroundJob\\TimedJob","type":"->"}],"File":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php","Line":62,"Previous":{"Exception":"Doctrine\\DBAL\\Driver\\PDO\\Exception","Message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '629-1701546321' for key 'gf_versions_uniq_index'","Code":1062,"Trace":[{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","line":132,"function":"new","class":"Doctrine\\DBAL\\Driver\\PDO\\Exception","type":"::"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Connection.php","line":1202,"function":"execute","class":"Doctrine\\DBAL\\Driver\\PDO\\Statement","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/private/DB/Connection.php","line":294,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":386,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\\DBAL\\Query\\QueryBuilder","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/private/DB/QueryBuilder/QueryBuilder.php","line":326,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/AppFramework/Db/QBMapper.php","line":137,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/VersionsBackend.php","line":88,"function":"insert","class":"OCP\\AppFramework\\Db\\QBMapper","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php","line":72,"function":"getVersionsForFile","class":"OCA\\GroupFolders\\Versions\\VersionsBackend","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php","line":59,"function":"expireFolder","class":"OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php","line":43,"function":"expireAll","class":"OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/Job.php","line":81,"function":"run","class":"OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/TimedJob.php","line":102,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/TimedJob.php","line":92,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/cron.php","line":152,"function":"execute","class":"OCP\\BackgroundJob\\TimedJob","type":"->"}],"File":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php","Line":28,"Previous":{"Exception":"PDOException","Message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '629-1701546321' for key 'gf_versions_uniq_index'","Code":"23000","Trace":[{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","line":130,"function":"execute","class":"PDOStatement","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Connection.php","line":1202,"function":"execute","class":"Doctrine\\DBAL\\Driver\\PDO\\Statement","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/private/DB/Connection.php","line":294,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":386,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\\DBAL\\Query\\QueryBuilder","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/private/DB/QueryBuilder/QueryBuilder.php","line":326,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/AppFramework/Db/QBMapper.php","line":137,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/VersionsBackend.php","line":88,"function":"insert","class":"OCP\\AppFramework\\Db\\QBMapper","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php","line":72,"function":"getVersionsForFile","class":"OCA\\GroupFolders\\Versions\\VersionsBackend","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php","line":59,"function":"expireFolder","class":"OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php","line":43,"function":"expireAll","class":"OCA\\GroupFolders\\Versions\\GroupVersionsExpireManager","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/Job.php","line":81,"function":"run","class":"OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/TimedJob.php","line":102,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/lib/public/BackgroundJob/TimedJob.php","line":92,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/cron.php","line":152,"function":"execute","class":"OCP\\BackgroundJob\\TimedJob","type":"->"}],"File":"/var/www/vhosts/ekovillca.org/portal.ekovillca.org/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","Line":130}}},"message":"Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )","exception":[],"CustomMessage":"Error while running background job (class: OCA\\GroupFolders\\BackgroundJob\\ExpireGroupVersions, arguments: )"},"id":"6584356442533"}
medebb commented 10 months ago

I also had the "Integrity constraint violation" error in my instance. For me deleting my file trashbin was the solution.

rakekniven commented 10 months ago

I also had the "Integrity constraint violation" error in my instance. For me deleting my file trashbin was the solution.

Was it a permanent fix?

Cannot confirm here.

GravityPotato commented 10 months ago

I also had the "Integrity constraint violation" error in my instance. For me deleting my file trashbin was the solution.

Was it a permanent fix?

Cannot confirm here.

This didn't work for me.

rakekniven commented 10 months ago

Upgraded my NC from v27.1.5 to v28.0.1 and error persists: An exception occurred while executing a query: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "gf_versions_uniq_index" [core] Fehler: Error while running background job (class: OCA\GroupFolders\BackgroundJob\ExpireGroupVersions, arguments: ) von ? von -- um 22.12.2023, 07:45:21

Group folders app is v16.0.1

vicelversa commented 10 months ago

I also had the "Integrity constraint violation" error in my instance. For me deleting my file trashbin was the solution.

Was it a permanent fix? Cannot confirm here.

This didn't work for me.

This did work for me.

alphasixtyfive commented 10 months ago

I don't have Deleted files app (trashbin) and I'm still getting the error:

[core] Error: OC\DB\Exceptions\DbalException: An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '277760-1690369447' for key 'gf_versions_uniq_index' at <<closure>>

0. /srv/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php line 328
   OC\DB\Exceptions\DbalException::wrap()
1. /srv/nextcloud/lib/public/AppFramework/Db/QBMapper.php line 137
   OC\DB\QueryBuilder\QueryBuilder->executeStatement()
2. /srv/nextcloud/apps/groupfolders/lib/Versions/VersionsBackend.php line 88
   OCP\AppFramework\Db\QBMapper->insert()
3. /srv/nextcloud/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 72
   OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile()
4. /srv/nextcloud/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 59
   OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder()
5. /srv/nextcloud/apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php line 43
   OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll()
6. /srv/nextcloud/lib/public/BackgroundJob/Job.php line 81
   OCA\GroupFolders\BackgroundJob\ExpireGroupVersions->run()
7. /srv/nextcloud/lib/public/BackgroundJob/TimedJob.php line 103
   OCP\BackgroundJob\Job->start()
8. /srv/nextcloud/lib/public/BackgroundJob/TimedJob.php line 93
   OCP\BackgroundJob\TimedJob->start()
9. /srv/nextcloud/cron.php line 152
   OCP\BackgroundJob\TimedJob->execute()

Caused by:

Doctrine\DBAL\Exception\UniqueConstraintViolationException: An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '277760-1690369447' for key 'gf_versions_uniq_index' at <<closure>>

 0. /srv/nextcloud/3rdparty/doctrine/dbal/src/Connection.php line 1814
    Doctrine\DBAL\Driver\API\MySQL\ExceptionConverter->convert()
 1. /srv/nextcloud/3rdparty/doctrine/dbal/src/Connection.php line 1749
    Doctrine\DBAL\Connection->handleDriverException()
 2. /srv/nextcloud/3rdparty/doctrine/dbal/src/Connection.php line 1163
    Doctrine\DBAL\Connection->convertExceptionDuringQuery()
 3. /srv/nextcloud/lib/private/DB/Connection.php line 295
    Doctrine\DBAL\Connection->executeStatement()
 4. /srv/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php line 354
    OC\DB\Connection->executeStatement()
 5. /srv/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php line 280
    Doctrine\DBAL\Query\QueryBuilder->execute()
 6. /srv/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php line 326
    OC\DB\QueryBuilder\QueryBuilder->execute()
 7. /srv/nextcloud/lib/public/AppFramework/Db/QBMapper.php line 137
    OC\DB\QueryBuilder\QueryBuilder->executeStatement()
 8. /srv/nextcloud/apps/groupfolders/lib/Versions/VersionsBackend.php line 88
    OCP\AppFramework\Db\QBMapper->insert()
 9. /srv/nextcloud/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 72
    OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile()
10. /srv/nextcloud/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 59
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder()
11. /srv/nextcloud/apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php line 43
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll()
12. /srv/nextcloud/lib/public/BackgroundJob/Job.php line 81
    OCA\GroupFolders\BackgroundJob\ExpireGroupVersions->run()
13. /srv/nextcloud/lib/public/BackgroundJob/TimedJob.php line 103
    OCP\BackgroundJob\Job->start()
14. /srv/nextcloud/lib/public/BackgroundJob/TimedJob.php line 93
    OCP\BackgroundJob\TimedJob->start()
15. /srv/nextcloud/cron.php line 152
    OCP\BackgroundJob\TimedJob->execute()

Caused by:

Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '277760-1690369447' for key 'gf_versions_uniq_index' at <<closure>>

 0. /srv/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php line 103
    Doctrine\DBAL\Driver\PDO\Exception::new()
 1. /srv/nextcloud/3rdparty/doctrine/dbal/src/Connection.php line 1153
    Doctrine\DBAL\Driver\PDO\Statement->execute()
 2. /srv/nextcloud/lib/private/DB/Connection.php line 295
    Doctrine\DBAL\Connection->executeStatement()
 3. /srv/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php line 354
    OC\DB\Connection->executeStatement()
 4. /srv/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php line 280
    Doctrine\DBAL\Query\QueryBuilder->execute()
 5. /srv/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php line 326
    OC\DB\QueryBuilder\QueryBuilder->execute()
 6. /srv/nextcloud/lib/public/AppFramework/Db/QBMapper.php line 137
    OC\DB\QueryBuilder\QueryBuilder->executeStatement()
 7. /srv/nextcloud/apps/groupfolders/lib/Versions/VersionsBackend.php line 88
    OCP\AppFramework\Db\QBMapper->insert()
 8. /srv/nextcloud/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 72
    OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile()
 9. /srv/nextcloud/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 59
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder()
10. /srv/nextcloud/apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php line 43
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll()
11. /srv/nextcloud/lib/public/BackgroundJob/Job.php line 81
    OCA\GroupFolders\BackgroundJob\ExpireGroupVersions->run()
12. /srv/nextcloud/lib/public/BackgroundJob/TimedJob.php line 103
    OCP\BackgroundJob\Job->start()
13. /srv/nextcloud/lib/public/BackgroundJob/TimedJob.php line 93
    OCP\BackgroundJob\TimedJob->start()
14. /srv/nextcloud/cron.php line 152
    OCP\BackgroundJob\TimedJob->execute()

Caused by:

PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '277760-1690369447' for key 'gf_versions_uniq_index' at <<closure>>

 0. /srv/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php line 101
    PDOStatement->execute()
 1. /srv/nextcloud/3rdparty/doctrine/dbal/src/Connection.php line 1153
    Doctrine\DBAL\Driver\PDO\Statement->execute()
 2. /srv/nextcloud/lib/private/DB/Connection.php line 295
    Doctrine\DBAL\Connection->executeStatement()
 3. /srv/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php line 354
    OC\DB\Connection->executeStatement()
 4. /srv/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php line 280
    Doctrine\DBAL\Query\QueryBuilder->execute()
 5. /srv/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php line 326
    OC\DB\QueryBuilder\QueryBuilder->execute()
 6. /srv/nextcloud/lib/public/AppFramework/Db/QBMapper.php line 137
    OC\DB\QueryBuilder\QueryBuilder->executeStatement()
 7. /srv/nextcloud/apps/groupfolders/lib/Versions/VersionsBackend.php line 88
    OCP\AppFramework\Db\QBMapper->insert()
 8. /srv/nextcloud/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 72
    OCA\GroupFolders\Versions\VersionsBackend->getVersionsForFile()
 9. /srv/nextcloud/apps/groupfolders/lib/Versions/GroupVersionsExpireManager.php line 59
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireFolder()
10. /srv/nextcloud/apps/groupfolders/lib/BackgroundJob/ExpireGroupVersions.php line 43
    OCA\GroupFolders\Versions\GroupVersionsExpireManager->expireAll()
11. /srv/nextcloud/lib/public/BackgroundJob/Job.php line 81
    OCA\GroupFolders\BackgroundJob\ExpireGroupVersions->run()
12. /srv/nextcloud/lib/public/BackgroundJob/TimedJob.php line 103
    OCP\BackgroundJob\Job->start()
13. /srv/nextcloud/lib/public/BackgroundJob/TimedJob.php line 93
    OCP\BackgroundJob\TimedJob->start()
14. /srv/nextcloud/cron.php line 152
    OCP\BackgroundJob\TimedJob->execute()

at 2023-12-22T11:00:02+00:00
VVD commented 10 months ago

Don't know is it related, but Nextcloud Desktop Client stop sync files from groupfolders to local directory after recent updates: NC from 27.1.3 to 27.1.4 to 27.1.5, Nextcloud Desktop Client from 3.10.1 to 3.11.0 and groupfolders from 15.x to 15.3.2. But it sync well from local directory to groupfolders. Sync regular files work well too in both directions. Revert to Nextcloud Desktop Client to 3.10.1 didn't help.

rakekniven commented 10 months ago

Don't know is it related, but Nextcloud Desktop Client stop sync files from groupfolders to local directory after recent updates: NC from 27.1.3 to 27.1.4 to 27.1.5, Nextcloud Desktop Client from 3.10.1 to 3.11.0 and groupfolders from 15.x to 15.3.2. But it sync well from local directory to groupfolders. Sync regular files work well too in both directions. Revert to Nextcloud Desktop Client to 3.10.1 didn't help.

Cannot confirm on three installations.