Nextcloud version: 29.0.4
Operating system and version: Ubuntu 24.04 (Arm)
Apache or nginx version (eg, Apache 2.4.25): ??? (on snap, couldn’t find this quickly)
PHP version (eg, 8.3): 8.2.20
The issue you are facing:
Orphaned 300MB file in s3
Is this the first time you’ve seen this error?: Y
Steps to replicate it:
- Copy big file into nextcloud
- Kill mysql at some point during the upload
So I know this is a me problem for causing the issue, my sever had too little RAM it seemed (900MB isn’t enough, 1.8GB is running sooooo much better)
I reconciled what was in s3 with what was in the oc_filecache table, and found a single orphan (In this case, I mean a file that is in S3 but has no cooresponding record in oc_filecache). It’s pretty obvious what happened via the log below, mysql died.
Is there a method or administrative script that can reconcile the oc_filecache with the storage location and print files needing to be purged, and possibly files that are striaght up missing?
This would be helpful to have a first party way of identifying these things.
Lastly, my guess is it is safe for me to just aws s3 rm
this file, since it unknown to nextcloud (It was a test file anyway, confirming my cloud based hosting solution before onboarding my family to it).
The output of your Nextcloud log in Admin > Logging:
{
"reqId": "MoyEI9r5VfoQMKm43cVv",
"level": 3,
"time": "2024-08-31T16:44:00+00:00",
"remoteAddr": "a.b.c.d",
"user": "hardingt",
"app": "objectstore",
"method": "PUT",
"url": "/remote.php/dav/uploads/hardingt/3397290417/00001",
"message": "Could not create object urn:oid:1983 for uploads/3397290417/00001",
"userAgent": "Mozilla/5.0 (Windows) mirall/3.13.23.12-Win64 (build 20240708) (Nextcloud, windows-10.0.19045 ClientArchitecture: x86_64 OsArchitecture: x86_64)",
"version": "29.0.4.1",
"exception": {
"Exception": "Doctrine\\DBAL\\Exception\\ConnectionLost",
"Message": "An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away",
"Code": 2006,
"Trace": [
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Connection.php",
"line": 1943,
"function": "convert",
"class": "Doctrine\\DBAL\\Driver\\API\\MySQL\\ExceptionConverter",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Connection.php",
"line": 1885,
"function": "handleDriverException",
"class": "Doctrine\\DBAL\\Connection",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Connection.php",
"line": 1213,
"function": "convertExceptionDuringQuery",
"class": "Doctrine\\DBAL\\Connection",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php",
"line": 292,
"function": "executeStatement",
"class": "Doctrine\\DBAL\\Connection",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/DB/Connection.php",
"line": 373,
"function": "executeStatement",
"class": "Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
"line": 393,
"function": "executeStatement",
"class": "OC\\DB\\Connection",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/DB/QueryBuilder/QueryBuilder.php",
"line": 280,
"function": "execute",
"class": "Doctrine\\DBAL\\Query\\QueryBuilder",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/Cache/Cache.php",
"line": 386,
"function": "execute",
"class": "OC\\DB\\QueryBuilder\\QueryBuilder",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
"line": 532,
"function": "update",
"class": "OC\\Files\\Cache\\Cache",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"function": "OC\\Files\\ObjectStore\\{closure}",
"class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/icewind/streams/src/CountWrapper.php",
"line": 100,
"function": "call_user_func"
},
{
"function": "stream_close",
"class": "Icewind\\Streams\\CountWrapper",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
"line": 539,
"function": "fclose",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 653,
"function": "writeStream",
"class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 653,
"function": "writeStream",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Connector/Sabre/File.php",
"line": 250,
"function": "writeStream",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Connector/Sabre/Directory.php",
"line": 148,
"function": "put",
"class": "OCA\\DAV\\Connector\\Sabre\\File",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Upload/UploadFolder.php",
"line": 51,
"function": "createFile",
"class": "OCA\\DAV\\Connector\\Sabre\\Directory",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1098,
"function": "createFile",
"class": "OCA\\DAV\\Upload\\UploadFolder",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
"line": 504,
"function": "createFile",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
"line": 89,
"function": "httpPut",
"class": "Sabre\\DAV\\CorePlugin",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 472,
"function": "emit",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 253,
"function": "invokeMethod",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 321,
"function": "start",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Server.php",
"line": 383,
"function": "exec",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/appinfo/v2/remote.php",
"line": 35,
"function": "exec",
"class": "OCA\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/remote.php",
"line": 172,
"args": [
"/snap/nextcloud/43563/htdocs/apps/dav/appinfo/v2/remote.php"
],
"function": "require_once"
}
],
"File": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php",
"Line": 104,
"Previous": {
"Exception": "Doctrine\\DBAL\\Driver\\PDO\\Exception",
"Message": "SQLSTATE[HY000]: General error: 2006 MySQL server has gone away",
"Code": 2006,
"Trace": [
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php",
"line": 132,
"function": "new",
"class": "Doctrine\\DBAL\\Driver\\PDO\\Exception",
"type": "::"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Connection.php",
"line": 1207,
"function": "execute",
"class": "Doctrine\\DBAL\\Driver\\PDO\\Statement",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php",
"line": 292,
"function": "executeStatement",
"class": "Doctrine\\DBAL\\Connection",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/DB/Connection.php",
"line": 373,
"function": "executeStatement",
"class": "Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
"line": 393,
"function": "executeStatement",
"class": "OC\\DB\\Connection",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/DB/QueryBuilder/QueryBuilder.php",
"line": 280,
"function": "execute",
"class": "Doctrine\\DBAL\\Query\\QueryBuilder",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/Cache/Cache.php",
"line": 386,
"function": "execute",
"class": "OC\\DB\\QueryBuilder\\QueryBuilder",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
"line": 532,
"function": "update",
"class": "OC\\Files\\Cache\\Cache",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"function": "OC\\Files\\ObjectStore\\{closure}",
"class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/icewind/streams/src/CountWrapper.php",
"line": 100,
"function": "call_user_func"
},
{
"function": "stream_close",
"class": "Icewind\\Streams\\CountWrapper",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
"line": 539,
"function": "fclose",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 653,
"function": "writeStream",
"class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 653,
"function": "writeStream",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Connector/Sabre/File.php",
"line": 250,
"function": "writeStream",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Connector/Sabre/Directory.php",
"line": 148,
"function": "put",
"class": "OCA\\DAV\\Connector\\Sabre\\File",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Upload/UploadFolder.php",
"line": 51,
"function": "createFile",
"class": "OCA\\DAV\\Connector\\Sabre\\Directory",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1098,
"function": "createFile",
"class": "OCA\\DAV\\Upload\\UploadFolder",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
"line": 504,
"function": "createFile",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
"line": 89,
"function": "httpPut",
"class": "Sabre\\DAV\\CorePlugin",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 472,
"function": "emit",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 253,
"function": "invokeMethod",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 321,
"function": "start",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Server.php",
"line": 383,
"function": "exec",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/appinfo/v2/remote.php",
"line": 35,
"function": "exec",
"class": "OCA\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/remote.php",
"line": 172,
"args": [
"/snap/nextcloud/43563/htdocs/apps/dav/appinfo/v2/remote.php"
],
"function": "require_once"
}
],
"File": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php",
"Line": 28,
"Previous": {
"Exception": "PDOException",
"Message": "SQLSTATE[HY000]: General error: 2006 MySQL server has gone away",
"Code": "HY000",
"Trace": [
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php",
"line": 130,
"function": "execute",
"class": "PDOStatement",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Connection.php",
"line": 1207,
"function": "execute",
"class": "Doctrine\\DBAL\\Driver\\PDO\\Statement",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php",
"line": 292,
"function": "executeStatement",
"class": "Doctrine\\DBAL\\Connection",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/DB/Connection.php",
"line": 373,
"function": "executeStatement",
"class": "Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
"line": 393,
"function": "executeStatement",
"class": "OC\\DB\\Connection",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/DB/QueryBuilder/QueryBuilder.php",
"line": 280,
"function": "execute",
"class": "Doctrine\\DBAL\\Query\\QueryBuilder",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/Cache/Cache.php",
"line": 386,
"function": "execute",
"class": "OC\\DB\\QueryBuilder\\QueryBuilder",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
"line": 532,
"function": "update",
"class": "OC\\Files\\Cache\\Cache",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"function": "OC\\Files\\ObjectStore\\{closure}",
"class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/icewind/streams/src/CountWrapper.php",
"line": 100,
"function": "call_user_func"
},
{
"function": "stream_close",
"class": "Icewind\\Streams\\CountWrapper",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
"line": 539,
"function": "fclose",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 653,
"function": "writeStream",
"class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 653,
"function": "writeStream",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Connector/Sabre/File.php",
"line": 250,
"function": "writeStream",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Connector/Sabre/Directory.php",
"line": 148,
"function": "put",
"class": "OCA\\DAV\\Connector\\Sabre\\File",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Upload/UploadFolder.php",
"line": 51,
"function": "createFile",
"class": "OCA\\DAV\\Connector\\Sabre\\Directory",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1098,
"function": "createFile",
"class": "OCA\\DAV\\Upload\\UploadFolder",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
"line": 504,
"function": "createFile",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
"line": 89,
"function": "httpPut",
"class": "Sabre\\DAV\\CorePlugin",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 472,
"function": "emit",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 253,
"function": "invokeMethod",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 321,
"function": "start",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/lib/Server.php",
"line": 383,
"function": "exec",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/apps/dav/appinfo/v2/remote.php",
"line": 35,
"function": "exec",
"class": "OCA\\DAV\\Server",
"type": "->"
},
{
"file": "/snap/nextcloud/43563/htdocs/remote.php",
"line": 172,
"args": [
"/snap/nextcloud/43563/htdocs/apps/dav/appinfo/v2/remote.php"
],
"function": "require_once"
}
],
"File": "/snap/nextcloud/43563/htdocs/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php",
"Line": 130
}
},
"message": "Could not create object urn:oid:1983 for uploads/3397290417/00001",
"exception": {},
"CustomMessage": "Could not create object urn:oid:1983 for uploads/3397290417/00001"
}
}