Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preview generation in gallery generates deadlock in database #11136

Closed
janLo opened this issue Sep 10, 2018 · 6 comments
Closed

Preview generation in gallery generates deadlock in database #11136

janLo opened this issue Sep 10, 2018 · 6 comments
Labels
1. to develop Accepted and waiting to be taken care of bug

Comments

@janLo
Copy link

janLo commented Sep 10, 2018

The preview generation failed due to a deadlock in the database usage:

Doctrine\DBAL\Exception\DriverException: An exception occurred while executing 'UPDATE "filecache" SET "mtime" = GREATEST("mtime", ?), "etag" = ? WHERE ("storage" = ?) AND ("path_hash" IN ('d41d8cd98f00b204e9800998ecf8427e', '1ac14e3ced94ae0296feafa53bca09c5', 'cc92ce70d6d9ce72a08619ee635bf68c', '6f826d4a7917bf1092539cff2af00b87'))' with params [1536573760, "5b96414082ed0", 1]: SQLSTATE[40P01]: Deadlock detected: 7 ERROR: deadlock detected DETAIL: Process 7912 waits for ShareLock on transaction 3936139; blocked by process 7905. Process 7905 waits for ShareLock on transaction 3936135; blocked by process 7912. HINT: See server log for query details. CONTEXT: while rechecking updated tuple (245,19) in relation "filecache"

Steps to reproduce

  1. Have images in NC 13 without previews
  2. Upgrade to NC 14
  3. Open gallery

Expected behaviour

The previews should be generated and shown

Actual behaviour

The previews are not shown and an error is in the log.

Server configuration

Operating system: Linux/Docker

Web server: Nginx/fpm

Database: Postgresql

PHP version: 7.x? from the official docker image

Nextcloud version: 14.0.0

Updated from an older Nextcloud/ownCloud or fresh install: Upgrade from 13

Where did you install Nextcloud from: Official docker image

Signing status:

No errors have been found.
No errors have been found. **List of activated apps:**
App list Enabled: - accessibility: 1.0.1 - activity: 2.7.0 - apporder: 0.5.0 - calendar: 1.6.2 - cloud_federation_api: 0.0.1 - comments: 1.4.0 - contacts: 2.1.6 - dav: 1.6.0 - drawio: 0.9.0 - end_to_end_encryption: 1.0.5 - external: 3.1.0 - federatedfilesharing: 1.4.0 - federation: 1.4.0 - files: 1.9.0 - files_external: 1.5.0 - files_external_gdrive: 0.2.8 - files_fulltextsearch: 0.99.4 - files_markdown: 2.0.4 - files_pdfviewer: 1.3.2 - files_sharing: 1.6.2 - files_texteditor: 2.6.0 - files_trashbin: 1.4.1 - files_versions: 1.7.1 - files_videoplayer: 1.3.0 - firstrunwizard: 2.3.0 - fulltextsearch: 0.99.3 - fulltextsearch_elasticsearch: 0.99.2 - gallery: 18.1.0 - groupfolders: 1.3.3 - impersonate: 1.1.0 - logreader: 2.0.0 - lookup_server_connector: 1.2.0 - mail: 0.10.0 - metadata: 0.7.0 - nextcloud_announcements: 1.3.0 - notes: 2.4.1 - notifications: 2.2.1 - oauth2: 1.2.1 - password_policy: 1.4.0 - polls: 0.8.3 - provisioning_api: 1.4.0 - richdocuments: 2.0.12 - serverinfo: 1.4.0 - sharebymail: 1.4.0 - sharerenamer: 2.1.0 - socialsharing_email: 1.0.4 - spreed: 4.0.0 - support: 1.0.0 - survey_client: 1.2.0 - systemtags: 1.4.0 - tasks: 0.9.7 - theming: 1.5.0 - twofactor_backupcodes: 1.3.1 - updatenotification: 1.4.1 - workflowengine: 1.4.0 Disabled: - admin_audit - dashboard - deck - encryption - files_accesscontrol - files_automatedtagging - files_retention - mindmaps - news - user_external - user_ldap

Nextcloud configuration:

Config report { "system": { "memcache.local": "\\OC\\Memcache\\APCu", "filelocking.enabled": true, "memcache.locking": "\\OC\\Memcache\\Redis", "redis": { "host": "***REMOVED SENSITIVE VALUE***", "port": 0, "dbindex": 2, "timeout": 0 }, "apps_paths": [ { "path": "\/var\/www\/html\/apps", "url": "\/apps", "writable": false }, { "path": "\/var\/www\/html\/custom_apps", "url": "\/custom_apps", "writable": true } ], "instanceid": "***REMOVED SENSITIVE VALUE***", "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "trusted_domains": [ "***REMOVED SENSITIVE VALUE***" ], "datadirectory": "***REMOVED SENSITIVE VALUE***", "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***", "dbtype": "pgsql", "version": "14.0.0.19", "dbname": "***REMOVED SENSITIVE VALUE***", "dbhost": "***REMOVED SENSITIVE VALUE***", "dbport": "", "dbtableprefix": "", "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "installed": true, "mail_from_address": "***REMOVED SENSITIVE VALUE***", "mail_smtpmode": "smtp", "mail_smtpauthtype": "LOGIN", "mail_domain": "***REMOVED SENSITIVE VALUE***", "mail_smtpsecure": "tls", "mail_smtpauth": 1, "mail_smtphost": "***REMOVED SENSITIVE VALUE***", "mail_smtpname": "***REMOVED SENSITIVE VALUE***", "mail_smtppassword": "***REMOVED SENSITIVE VALUE***", "loglevel": 2, "maintenance": false, "theme": "" } }

Are you using external storage, if yes which one: no.

Are you using encryption: no

Are you using an external user-backend, if yes which one: no.

Client configuration

Browser: Chrome/69

**Operating system:**Linux

Logs

Web server error log

Web server error log
Insert your webserver log here

Nextcloud log (data/nextcloud.log)

Nextcloud log
{"reqId":"2fgKfqBNwyzak9M0laW7","level":3,"time":"2018-09-10T10:02:47+00:00","remoteAddr":"xxx","user":"jan","app":"gallery","method":"GET","url":"\/apps\/gallery\/preview\/231635?width=200&height=200","message":{"Exception":"Doctrine\\DBAL\\Exception\\DriverException","Message":"An exception occurred while executing 'UPDATE \"filecache\" SET \"mtime\" = 
GREATEST(\"mtime\", ?), \"etag\" = ? WHERE (\"storage\" = ?) AND (\"path_hash\" IN ('d41d8cd98f00b204e9800998ecf8427e', '1ac14e3ced94ae0296feafa53bca09c5', 'cc92ce70d6d9ce72a08619ee635bf68c', '6f826d4a7917bf1092539cff2af00b87'))' with params [1536573760, \"5b96414082ed0\", 1]:\n\nSQLSTATE[40P01]: Deadlock detected: 7 ERROR:  deadlock detected\nDETAIL:  Process 79
12 waits for ShareLock on transaction 3936139; blocked by process 7905.\nProcess 7905 waits for ShareLock on transaction 3936135; blocked by process 7912.\nHINT:  See server log for query details.\nCONTEXT:  while rechecking updated tuple (245,19) in relation \"filecache\"","Code":0,"Trace":[{"file":"\/var\/www\/html\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL
\/DBALException.php","line":128,"function":"convertException","class":"Doctrine\\DBAL\\Driver\\AbstractPostgreSQLDriver","type":"->","args":["An exception occurred while executing 'UPDATE \"filecache\" SET \"mtime\" = GREATEST(\"mtime\", ?), \"etag\" = ? WHERE (\"storage\" = ?) AND (\"path_hash\" IN ('d41d8cd98f00b204e9800998ecf8427e', '1ac14e3ced94ae0296feafa53b
ca09c5', 'cc92ce70d6d9ce72a08619ee635bf68c', '6f826d4a7917bf1092539cff2af00b87'))' with params [1536573760, \"5b96414082ed0\", 1]:\n\nSQLSTATE[40P01]: Deadlock detected: 7 ERROR:  deadlock detected\nDETAIL:  Process 7912 waits for ShareLock on transaction 3936139; blocked by process 7905.\nProcess 7905 waits for ShareLock on transaction 3936135; blocked by proces
s 7912.\nHINT:  See server log for query details.\nCONTEXT:  while rechecking updated tuple (245,19) in relation \"filecache\"",{"errorInfo":["40P01",7,"ERROR:  deadlock detected\nDETAIL:  Process 7912 waits for ShareLock on transaction 3936139; blocked by process 7905.\nProcess 7905 waits for ShareLock on transaction 3936135; blocked by process 7912.\nHINT:  See
 server log for query details.\nCONTEXT:  while rechecking updated tuple (245,19) in relation \"filecache\""],"__class__":"Doctrine\\DBAL\\Driver\\PDOException"}]},{"file":"\/var\/www\/html\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Connection.php","line":1015,"function":"driverExceptionDuringQuery","class":"Doctrine\\DBAL\\DBALException","type":"::","args":
[{"__class__":"Doctrine\\DBAL\\Driver\\PDOPgSql\\Driver"},{"errorInfo":["40P01",7,"ERROR:  deadlock detected\nDETAIL:  Process 7912 waits for ShareLock on transaction 3936139; blocked by process 7905.\nProcess 7905 waits for ShareLock on transaction 3936135; blocked by process 7912.\nHINT:  See server log for query details.\nCONTEXT:  while rechecking updated tup
le (245,19) in relation \"filecache\""],"__class__":"Doctrine\\DBAL\\Driver\\PDOException"},"UPDATE \"filecache\" SET \"mtime\" = GREATEST(\"mtime\", ?), \"etag\" = ? WHERE (\"storage\" = ?) AND (\"path_hash\" IN ('d41d8cd98f00b204e9800998ecf8427e', '1ac14e3ced94ae0296feafa53bca09c5', 'cc92ce70d6d9ce72a08619ee635bf68c', '6f826d4a7917bf1092539cff2af00b87'))",{"1":
1536573760,"2":"5b96414082ed0","3":1}]},{"file":"\/var\/www\/html\/lib\/private\/DB\/Connection.php","line":216,"function":"executeUpdate","class":"Doctrine\\DBAL\\Connection","type":"->","args":["UPDATE \"filecache\" SET \"mtime\" = GREATEST(\"mtime\", ?), \"etag\" = ? WHERE (\"storage\" = ?) AND (\"path_hash\" IN ('d41d8cd98f00b204e9800998ecf8427e', '1ac14e3ced
94ae0296feafa53bca09c5', 'cc92ce70d6d9ce72a08619ee635bf68c', '6f826d4a7917bf1092539cff2af00b87'))",[1536573760,"5b96414082ed0",1],[1,2,1]]},{"file":"\/var\/www\/html\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Query\/QueryBuilder.php","line":208,"function":"executeUpdate","class":"OC\\DB\\Connection","type":"->","args":["UPDATE \"filecache\" SET \"mtime\" = G
REATEST(\"mtime\", :dcValue1), \"etag\" = :dcValue2 WHERE (\"storage\" = :dcValue3) AND (\"path_hash\" IN ('d41d8cd98f00b204e9800998ecf8427e', '1ac14e3ced94ae0296feafa53bca09c5', 'cc92ce70d6d9ce72a08619ee635bf68c', '6f826d4a7917bf1092539cff2af00b87'))",{"dcValue1":1536573760,"dcValue2":"5b96414082ed0","dcValue3":1},{"dcValue1":1,"dcValue2":2,"dcValue3":1}]},{"fil
e":"\/var\/www\/html\/lib\/private\/DB\/QueryBuilder\/QueryBuilder.php","line":214,"function":"execute","class":"Doctrine\\DBAL\\Query\\QueryBuilder","type":"->","args":[]},{"file":"\/var\/www\/html\/lib\/private\/Files\/Cache\/Propagator.php","line":102,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->","args":[]},{"file":"\/var\/www\/
html\/lib\/private\/Files\/Cache\/Updater.php","line":138,"function":"propagateChange","class":"OC\\Files\\Cache\\Propagator","type":"->","args":["appdata_ocq713priob9\/preview\/231635\/256-192.jpg",1536573760,0]},{"file":"\/var\/www\/html\/lib\/private\/Files\/View.php","line":320,"function":"update","class":"OC\\Files\\Cache\\Updater","type":"->","args":["appda
ta_ocq713priob9\/preview\/231635\/256-192.jpg",1536573760]},{"file":"\/var\/www\/html\/lib\/private\/Files\/View.php","line":1161,"function":"writeUpdate","class":"OC\\Files\\View","type":"->","args":[{"cache":{"__class__":"OC\\Files\\Cache\\Cache"},"scanner":{"__class__":"OC\\Files\\Cache\\Scanner"},"watcher":null,"propagator":{"__class__":"OC\\Files\\Cache\\Pro
pagator"},"updater":{"__class__":"OC\\Files\\Cache\\Updater"},"__class__":"OCA\\Files_Trashbin\\Storage"},"appdata_ocq713priob9\/preview\/231635\/256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Files\/View.php","line":567,"function":"basicOperation","class":"OC\\Files\\View","type":"->","args":["touch","\/appdata_ocq713priob9\/preview\/231635\/256-192.jpg
",["touch","create","write"],null]},{"file":"\/var\/www\/html\/lib\/private\/Files\/Node\/Folder.php","line":181,"function":"touch","class":"OC\\Files\\View","type":"->","args":["\/appdata_ocq713priob9\/preview\/231635\/256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Files\/SimpleFS\/SimpleFolder.php","line":83,"function":"newFile","class":"OC\\Files\\Nod
e\\Folder","type":"->","args":["256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Preview\/Generator.php","line":380,"function":"newFile","class":"OC\\Files\\SimpleFS\\SimpleFolder","type":"->","args":["256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Preview\/Generator.php","line":145,"function":"generatePreview","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\SimpleFS\\SimpleFolder"},{"__class__":"OC\\Files\\SimpleFS\\SimpleFile"},256,192,false,3000,2250]},{"file":"\/var\/www\/html\/lib\/private\/PreviewManager.php","line":204,"function":"getPreview","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},256,192,false,"fill","image\/jpeg"]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Service\/PreviewService.php","line":106,"function":"getPreview","class":"OC\\PreviewManager","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},200,200,false]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Controller\/Preview.php","line":167,"function":"createPreview","class":"OCA\\Gallery\\Service\\PreviewService","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},200,200,true,false]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Controller\/Preview.php","line":117,"function":"getPreviewData","class":"OCA\\Gallery\\Controller\\PreviewController","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},true,200,200,true,false]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Controller\/PreviewController.php","line":134,"function":"getData","class":"OCA\\Gallery\\Controller\\PreviewController","type":"->","args":[231635,200,200]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Http\/Dispatcher.php","line":166,"function":"getPreview","class":"OCA\\Gallery\\Controller\\PreviewController","type":"->","args":[231635,200,200]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Http\/Dispatcher.php","line":99,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Gallery\\Controller\\PreviewController"},"getPreview"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/App.php","line":118,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Gallery\\Controller\\PreviewController"},"getPreview"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Routing\/RouteActionHandler.php","line":47,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["PreviewController","getPreview",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"fileId":"231635","_route":"gallery.preview.get_preview"}]},{"function":"__invoke","class":"OC\\AppFramework\\Routing\\RouteActionHandler","type":"->","args":[{"fileId":"231635","_route":"gallery.preview.get_preview"}]},{"file":"\/var\/www\/html\/lib\/private\/Route\/Router.php","line":297,"function":"call_user_func","args":[{"__class__":"OC\\AppFramework\\Routing\\RouteActionHandler"},{"fileId":"231635","_route":"gallery.preview.get_preview"}]},{"file":"\/var\/www\/html\/lib\/base.php","line":989,"function":"match","class":"OC\\Route\\Router","type":"->","args":["\/apps\/gallery\/preview\/231635"]},{"file":"\/var\/www\/html\/index.php","line":42,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"\/var\/www\/html\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Driver\/AbstractPostgreSQLDriver.php","Line":92,"Previous":{"Exception":"Doctrine\\DBAL\\Driver\\PDOException","Message":"SQLSTATE[40P01]: Deadlock detected: 7 ERROR:  deadlock detected\nDETAIL:  Process 7912 waits for ShareLock on transaction 3936139; blocked by process 7905.\nProcess 7905 waits for ShareLock on transaction 3936135; blocked by process 7912.\nHINT:  See server log for query details.\nCONTEXT:  while rechecking updated tuple (245,19) in relation \"filecache\"","Code":"40P01","Trace":[{"file":"\/var\/www\/html\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Connection.php","line":1006,"function":"execute","class":"Doctrine\\DBAL\\Driver\\PDOStatement","type":"->","args":[]},{"file":"\/var\/www\/html\/lib\/private\/DB\/Connection.php","line":216,"function":"executeUpdate","class":"Doctrine\\DBAL\\Connection","type":"->","args":["UPDATE \"filecache\" SET \"mtime\" = GREATEST(\"mtime\", ?), \"etag\" = ? WHERE (\"storage\" = ?) AND (\"path_hash\" IN ('d41d8cd98f00b204e9800998ecf8427e', '1ac14e3ced94ae0296feafa53bca09c5', 'cc92ce70d6d9ce72a08619ee635bf68c', '6f826d4a7917bf1092539cff2af00b87'))",[1536573760,"5b96414082ed0",1],[1,2,1]]},{"file":"\/var\/www\/html\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Query\/QueryBuilder.php","line":208,"function":"executeUpdate","class":"OC\\DB\\Connection","type":"->","args":["UPDATE \"filecache\" SET \"mtime\" = GREATEST(\"mtime\", :dcValue1), \"etag\" = :dcValue2 WHERE (\"storage\" = :dcValue3) AND (\"path_hash\" IN ('d41d8cd98f00b204e9800998ecf8427e', '1ac14e3ced94ae0296feafa53bca09c5', 'cc92ce70d6d9ce72a08619ee635bf68c', '6f826d4a7917bf1092539cff2af00b87'))",{"dcValue1":1536573760,"dcValue2":"5b96414082ed0","dcValue3":1},{"dcValue1":1,"dcValue2":2,"dcValue3":1}]},{"file":"\/var\/www\/html\/lib\/private\/DB\/QueryBuilder\/QueryBuilder.php","line":214,"function":"execute","class":"Doctrine\\DBAL\\Query\\QueryBuilder","type":"->","args":[]},{"file":"\/var\/www\/html\/lib\/private\/Files\/Cache\/Propagator.php","line":102,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->","args":[]},{"file":"\/var\/www\/html\/lib\/private\/Files\/Cache\/Updater.php","line":138,"function":"propagateChange","class":"OC\\Files\\Cache\\Propagator","type":"->","args":["appdata_ocq713priob9\/preview\/231635\/256-192.jpg",1536573760,0]},{"file":"\/var\/www\/html\/lib\/private\/Files\/View.php","line":320,"function":"update","class":"OC\\Files\\Cache\\Updater","type":"->","args":["appdata_ocq713priob9\/preview\/231635\/256-192.jpg",1536573760]},{"file":"\/var\/www\/html\/lib\/private\/Files\/View.php","line":1161,"function":"writeUpdate","class":"OC\\Files\\View","type":"->","args":[{"cache":{"__class__":"OC\\Files\\Cache\\Cache"},"scanner":{"__class__":"OC\\Files\\Cache\\Scanner"},"watcher":null,"propagator":{"__class__":"OC\\Files\\Cache\\Propagator"},"updater":{"__class__":"OC\\Files\\Cache\\Updater"},"__class__":"OCA\\Files_Trashbin\\Storage"},"appdata_ocq713priob9\/preview\/231635\/256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Files\/View.php","line":567,"function":"basicOperation","class":"OC\\Files\\View","type":"->","args":["touch","\/appdata_ocq713priob9\/preview\/231635\/256-192.jpg",["touch","create","write"],null]},{"file":"\/var\/www\/html\/lib\/private\/Files\/Node\/Folder.php","line":181,"function":"touch","class":"OC\\Files\\View","type":"->","args":["\/appdata_ocq713priob9\/preview\/231635\/256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Files\/SimpleFS\/SimpleFolder.php","line":83,"function":"newFile","class":"OC\\Files\\Node\\Folder","type":"->","args":["256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Preview\/Generator.php","line":380,"function":"newFile","class":"OC\\Files\\SimpleFS\\SimpleFolder","type":"->","args":["256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Preview\/Generator.php","line":145,"function":"generatePreview","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\SimpleFS\\SimpleFolder"},{"__class__":"OC\\Files\\SimpleFS\\SimpleFile"},256,192,false,3000,2250]},{"file":"\/var\/www\/html\/lib\/private\/PreviewManager.php","line":204,"function":"getPreview","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},256,192,false,"fill","image\/jpeg"]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Service\/PreviewService.php","line":106,"function":"getPreview","class":"OC\\PreviewManager","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},200,200,false]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Controller\/Preview.php","line":167,"function":"createPreview","class":"OCA\\Gallery\\Service\\PreviewService","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},200,200,true,false]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Controller\/Preview.php","line":117,"function":"getPreviewData","class":"OCA\\Gallery\\Controller\\PreviewController","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},true,200,200,true,false]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Controller\/PreviewController.php","line":134,"function":"getData","class":"OCA\\Gallery\\Controller\\PreviewController","type":"->","args":[231635,200,200]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Http\/Dispatcher.php","line":166,"function":"getPreview","class":"OCA\\Gallery\\Controller\\PreviewController","type":"->","args":[231635,200,200]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Http\/Dispatcher.php","line":99,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Gallery\\Controller\\PreviewController"},"getPreview"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/App.php","line":118,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Gallery\\Controller\\PreviewController"},"getPreview"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Routing\/RouteActionHandler.php","line":47,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["PreviewController","getPreview",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"fileId":"231635","_route":"gallery.preview.get_preview"}]},{"function":"__invoke","class":"OC\\AppFramework\\Routing\\RouteActionHandler","type":"->","args":[{"fileId":"231635","_route":"gallery.preview.get_preview"}]},{"file":"\/var\/www\/html\/lib\/private\/Route\/Router.php","line":297,"function":"call_user_func","args":[{"__class__":"OC\\AppFramework\\Routing\\RouteActionHandler"},{"fileId":"231635","_route":"gallery.preview.get_preview"}]},{"file":"\/var\/www\/html\/lib\/base.php","line":989,"function":"match","class":"OC\\Route\\Router","type":"->","args":["\/apps\/gallery\/preview\/231635"]},{"file":"\/var\/www\/html\/index.php","line":42,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"\/var\/www\/html\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Driver\/PDOStatement.php","Line":107,"Previous":{"Exception":"PDOException","Message":"SQLSTATE[40P01]: Deadlock detected: 7 ERROR:  deadlock detected\nDETAIL:  Process 7912 waits for ShareLock on transaction 3936139; blocked by process 7905.\nProcess 7905 waits for ShareLock on transaction 3936135; blocked by process 7912.\nHINT:  See server log for query details.\nCONTEXT:  while rechecking updated tuple (245,19) in relation \"filecache\"","Code":"40P01","Trace":[{"file":"\/var\/www\/html\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Driver\/PDOStatement.php","line":105,"function":"execute","class":"PDOStatement","type":"->","args":[null]},{"file":"\/var\/www\/html\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Connection.php","line":1006,"function":"execute","class":"Doctrine\\DBAL\\Driver\\PDOStatement","type":"->","args":[]},{"file":"\/var\/www\/html\/lib\/private\/DB\/Connection.php","line":216,"function":"executeUpdate","class":"Doctrine\\DBAL\\Connection","type":"->","args":["UPDATE \"filecache\" SET \"mtime\" = GREATEST(\"mtime\", ?), \"etag\" = ? WHERE (\"storage\" = ?) AND (\"path_hash\" IN ('d41d8cd98f00b204e9800998ecf8427e', '1ac14e3ced94ae0296feafa53bca09c5', 'cc92ce70d6d9ce72a08619ee635bf68c', '6f826d4a7917bf1092539cff2af00b87'))",[1536573760,"5b96414082ed0",1],[1,2,1]]},{"file":"\/var\/www\/html\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Query\/QueryBuilder.php","line":208,"function":"executeUpdate","class":"OC\\DB\\Connection","type":"->","args":["UPDATE \"filecache\" SET \"mtime\" = GREATEST(\"mtime\", :dcValue1), \"etag\" = :dcValue2 WHERE (\"storage\" = :dcValue3) AND (\"path_hash\" IN ('d41d8cd98f00b204e9800998ecf8427e', '1ac14e3ced94ae0296feafa53bca09c5', 'cc92ce70d6d9ce72a08619ee635bf68c', '6f826d4a7917bf1092539cff2af00b87'))",{"dcValue1":1536573760,"dcValue2":"5b96414082ed0","dcValue3":1},{"dcValue1":1,"dcValue2":2,"dcValue3":1}]},{"file":"\/var\/www\/html\/lib\/private\/DB\/QueryBuilder\/QueryBuilder.php","line":214,"function":"execute","class":"Doctrine\\DBAL\\Query\\QueryBuilder","type":"->","args":[]},{"file":"\/var\/www\/html\/lib\/private\/Files\/Cache\/Propagator.php","line":102,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->","args":[]},{"file":"\/var\/www\/html\/lib\/private\/Files\/Cache\/Updater.php","line":138,"function":"propagateChange","class":"OC\\Files\\Cache\\Propagator","type":"->","args":["appdata_ocq713priob9\/preview\/231635\/256-192.jpg",1536573760,0]},{"file":"\/var\/www\/html\/lib\/private\/Files\/View.php","line":320,"function":"update","class":"OC\\Files\\Cache\\Updater","type":"->","args":["appdata_ocq713priob9\/preview\/231635\/256-192.jpg",1536573760]},{"file":"\/var\/www\/html\/lib\/private\/Files\/View.php","line":1161,"function":"writeUpdate","class":"OC\\Files\\View","type":"->","args":[{"cache":{"__class__":"OC\\Files\\Cache\\Cache"},"scanner":{"__class__":"OC\\Files\\Cache\\Scanner"},"watcher":null,"propagator":{"__class__":"OC\\Files\\Cache\\Propagator"},"updater":{"__class__":"OC\\Files\\Cache\\Updater"},"__class__":"OCA\\Files_Trashbin\\Storage"},"appdata_ocq713priob9\/preview\/231635\/256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Files\/View.php","line":567,"function":"basicOperation","class":"OC\\Files\\View","type":"->","args":["touch","\/appdata_ocq713priob9\/preview\/231635\/256-192.jpg",["touch","create","write"],null]},{"file":"\/var\/www\/html\/lib\/private\/Files\/Node\/Folder.php","line":181,"function":"touch","class":"OC\\Files\\View","type":"->","args":["\/appdata_ocq713priob9\/preview\/231635\/256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Files\/SimpleFS\/SimpleFolder.php","line":83,"function":"newFile","class":"OC\\Files\\Node\\Folder","type":"->","args":["256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Preview\/Generator.php","line":380,"function":"newFile","class":"OC\\Files\\SimpleFS\\SimpleFolder","type":"->","args":["256-192.jpg"]},{"file":"\/var\/www\/html\/lib\/private\/Preview\/Generator.php","line":145,"function":"generatePreview","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\SimpleFS\\SimpleFolder"},{"__class__":"OC\\Files\\SimpleFS\\SimpleFile"},256,192,false,3000,2250]},{"file":"\/var\/www\/html\/lib\/private\/PreviewManager.php","line":204,"function":"getPreview","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},256,192,false,"fill","image\/jpeg"]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Service\/PreviewService.php","line":106,"function":"getPreview","class":"OC\\PreviewManager","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},200,200,false]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Controller\/Preview.php","line":167,"function":"createPreview","class":"OCA\\Gallery\\Service\\PreviewService","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},200,200,true,false]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Controller\/Preview.php","line":117,"function":"getPreviewData","class":"OCA\\Gallery\\Controller\\PreviewController","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},true,200,200,true,false]},{"file":"\/var\/www\/html\/apps\/gallery\/lib\/Controller\/PreviewController.php","line":134,"function":"getData","class":"OCA\\Gallery\\Controller\\PreviewController","type":"->","args":[231635,200,200]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Http\/Dispatcher.php","line":166,"function":"getPreview","class":"OCA\\Gallery\\Controller\\PreviewController","type":"->","args":[231635,200,200]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Http\/Dispatcher.php","line":99,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Gallery\\Controller\\PreviewController"},"getPreview"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/App.php","line":118,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Gallery\\Controller\\PreviewController"},"getPreview"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Routing\/RouteActionHandler.php","line":47,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["PreviewController","getPreview",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"fileId":"231635","_route":"gallery.preview.get_preview"}]},{"function":"__invoke","class":"OC\\AppFramework\\Routing\\RouteActionHandler","type":"->","args":[{"fileId":"231635","_route":"gallery.preview.get_preview"}]},{"file":"\/var\/www\/html\/lib\/private\/Route\/Router.php","line":297,"function":"call_user_func","args":[{"__class__":"OC\\AppFramework\\Routing\\RouteActionHandler"},{"fileId":"231635","_route":"gallery.preview.get_preview"}]},{"file":"\/var\/www\/html\/lib\/base.php","line":989,"function":"match","class":"OC\\Route\\Router","type":"->","args":["\/apps\/gallery\/preview\/231635"]},{"file":"\/var\/www\/html\/index.php","line":42,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"\/var\/www\/html\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Driver\/PDOStatement.php","Line":105}},"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/69.0.3497.81 Safari\/537.36","version":"14.0.0.19"}
{"reqId":"2fgKfqBNwyzak9M0laW7","level":3,"time":"2018-09-10T10:02:47+00:00","remoteAddr":"xxx","user":"jan","app":"gallery","method":"GET","url":"\/apps\/gallery\/preview\/231635?width=200&height=200","message":"Exception: Preview generation has failed","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/69.0.3497.81 Safari\/537.36","version":"14.0.0.19"}

@nextcloud-bot
Copy link
Member

GitMate.io thinks possibly related issues are #10473 (Database Deadlock with Postgres), #7749 (Corrupted preview *-max.png blocks generation of other previews), #2364 (Preview generation creates error message), #3088 (Generating preview for RAW files.), and #1732 (Thumbnail/Preview image generation is too slow).

@janLo
Copy link
Author

janLo commented Sep 10, 2018

Issue #10473 seems indeed to be related.

@skjnldsv skjnldsv added the 0. Needs triage Pending check for reproducibility or if it fits our roadmap label Jun 12, 2019
@skjnldsv skjnldsv added 1. to develop Accepted and waiting to be taken care of and removed 0. Needs triage Pending check for reproducibility or if it fits our roadmap 14-feedback labels Jun 14, 2019
@skjnldsv
Copy link
Member

skjnldsv commented Jun 14, 2019

From #10473

I was able to get this fixed (Debian with Nextcloud 15.0.7 , postgres 11.3-1), by using Redis for Transactional File Locking. This results in reducing DB load and hence no more deadlocks.
https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/caching_configuration.html#id2

@abedwardsw
Copy link

for me at least, I used docker with nextcloud 16.0.1 and postgres 11.3 as well as redis. I set the REDIS_HOST parameter and see in the app logs that it detected redis. I was still able to reproduce the issue with this configuration. I have since switched to maria since I noticed in the documentation it says postgres is not recommended for production.

@jknockaert
Copy link
Contributor

Am using 16.0.3 and seeing errors very similar to the one reported here when uploading files over webdav.

@szaimen
Copy link
Contributor

szaimen commented May 26, 2021

I'm closing this issue due to inactivity. If this is still happening please make sure to upgrade to the latest version. After that, feel free to reopen.

@szaimen szaimen closed this as completed May 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop Accepted and waiting to be taken care of bug
Projects
None yet
Development

No branches or pull requests

6 participants