Skip to content

[Bug]: Argument max-parts must be an integer between 0 and 1000 #38345

@x4IPx

Description

@x4IPx

⚠️ This issue respects the following points: ⚠️

  • This is a bug, not a question or a configuration/webserver/proxy issue.
  • This issue is not already reported on Github (I've searched it).
  • Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
  • Nextcloud Server is running on 64bit capable CPU, PHP and OS.
  • I agree to follow Nextcloud's Code of Conduct.

Bug description

When trying to upload a file, an error occurs:

Error executing "ListParts" on "https://nxtclddata.storage.yandexcloud.net/urn%3Aoid%3A222895?uploadId=0005FBDF45153A37&max-parts=10000"; AWS HTTP error: Client error: GET https://nxtclddata.storage.yandexcloud.net/urn%3Aoid%3A222895?uploadId=0005FBDF45153A37&max-parts=10000 resulted in a 400 Bad Request response:
<?xml version="1.0" encoding="UTF-8"?>

<Error><Code>InvalidArgument</Code><Message>Argument max-parts must be an integer (truncated...)
InvalidArgument (client): Argument max-parts must be an integer between 0 and 1000 - <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidArgument</Code><Message>Argument max-parts must be an integer between 0 and 1000</Message><Resource>/urn%3Aoid%3A222895?uploadId=0005FBDF45153A37&max-parts=10000</Resource><RequestId>f44441a2a8b0d52d</RequestId><MaxParts>10000</MaxParts></Error>

Yandexcloud technical support said that the limit on the number of parts on their side cannot be changed.
Есть ли возмодность увеличить max-parts на стороне клиента

Steps to reproduce

  1. Open the files section
  2. Drag and drop a file that weighs more than 16 megabytes
  3. We get an error

Expected behavior

The file should upload to nextcloud storage

Installation method

None

Nextcloud Server version

26

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.1

Web server

None

Database engine version

MySQL

Is this bug present after an update or on a fresh install?

None

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

No response

List of activated Apps

Calendar	4.3.1	
Mail	3.0.2	
Nextcloud Office	8.0.0	
Talk	16.0.1	
Activity	2.18.0	
Brute-force settings	2.6.0	
Circles	26.0.0	
Collaborative tags	1.16.0	
Comments	1.16.0	
Contacts	5.2.0	
Contacts Interaction	1.7.0	
Dashboard	7.6.0	
Deleted files	1.16.0	
Federation	1.16.0
File sharing	1.18.0	
First run wizard	2.15.0	
Log Reader	2.11.0	
Monitoring	1.16.0	
Nextcloud announcements	1.15.0	
Notifications	2.14.0	
Password policy	1.16.0	
PDF viewer	2.7.0	
Photos	2.2.0	
Privacy	1.10.0	
Recommendations	1.5.0	
Related Resources	1.1.0-alpha1	
Right click	1.5.0	
Share by mail	1.16.0	
Support	1.9.0	
Text	3.7.2	
Update notification	1.16.0	
Usage survey	1.14.0	
User status	1.6.0	
Versions	1.19.1	
Weather status	1.6.0	
Collabora Online - Built-in CODE Server	22.5.802

Nextcloud Signing status

No response

Nextcloud Logs

{"reqId":"rBFvoAeGA8BMQL8ZteIf","level":3,"time":"2023-05-17T07:11:05+00:00","remoteAddr":"11.11.111.111","user":"v.pupkin","app":"webdav","method":"MOVE","url":"/remote.php/dav/uploads/v.pupkin/web-file-upload-3fdf0138a8e0657374c41f339f85b69a-1684307461741/.file","message":"Error executing \"ListParts\" on \"https://nxtclddata.storage.yandexcloud.net/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&max-parts=10000\"; AWS HTTP error: Client error: `GET https://nxtclddata.storage.yandexcloud.net/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&max-parts=10000` resulted in a `400 Bad Request` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidArgument</Code><Message>Argument max-parts must be an integer (truncated...)\n InvalidArgument (client): Argument max-parts must be an integer between 0 and 1000 - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidArgument</Code><Message>Argument max-parts must be an integer between 0 and 1000</Message><Resource>/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&amp;max-parts=10000</Resource><RequestId>b7c594bd887a728e</RequestId><MaxParts>10000</MaxParts></Error>","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36","version":"26.0.0.11","exception":{"Exception":"Aws\\S3\\Exception\\S3Exception","Message":"Error executing \"ListParts\" on \"https://nxtclddata.storage.yandexcloud.net/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&max-parts=10000\"; AWS HTTP error: Client error: `GET https://nxtclddata.storage.yandexcloud.net/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&max-parts=10000` resulted in a `400 Bad Request` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidArgument</Code><Message>Argument max-parts must be an integer (truncated...)\n InvalidArgument (client): Argument max-parts must be an integer between 0 and 1000 - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidArgument</Code><Message>Argument max-parts must be an integer between 0 and 1000</Message><Resource>/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&amp;max-parts=10000</Resource><RequestId>b7c594bd887a728e</RequestId><MaxParts>10000</MaxParts></Error>","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php","line":97,"function":"parseError","class":"Aws\\WrappedHttpHandler","type":"->","args":["*** sensitive parameters replaced ***",["GuzzleHttp\\Psr7\\Request"],["Aws\\Command"],[]]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"Aws\\{closure}","class":"Aws\\WrappedHttpHandler","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":169,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":[2,"*** sensitive parameters replaced ***",null]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/RejectedPromise.php","line":42,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\RejectedPromise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":159,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":184,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":[true]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":58,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":86,"function":"execute","class":"Aws\\AwsClient","type":"->","args":[["Aws\\Command"]]},{"file":"/var/www/html/lib/private/Files/ObjectStore/S3.php","line":76,"function":"__call","class":"Aws\\AwsClient","type":"->","args":["listParts",[["nxtclddata","urn:oid:222852","0005FBDE63F6EC27",10000]]]},{"file":"/var/www/html/apps/dav/lib/Upload/ChunkingV2Plugin.php","line":223,"function":"getMultipartUploads","class":"OC\\Files\\ObjectStore\\S3","type":"->","args":["urn:oid:222852","0005FBDE63F6EC27"]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMove","class":"OCA\\DAV\\Upload\\ChunkingV2Plugin","type":"->","args":["uploads/v.pupkin/web-file-upload-3fdf0138a8e0657374c41f339f85b69a-1684307461741/.file","files/v.pupkin/\u0414\u0438\u043b\u0435\u0440\u0441\u043a\u0438\u0439 \u041e\u0442\u0434\u0435\u043b/Ru$ (\u043d\u0435 \u0442\u0432\u043e\u0451 - \u043d\u0435 \u0437\u0430\u043b\u0435\u0437\u0430\u0439)/\u041a\u0430\u043f\u0438\u0442\u0430\u043b\u041a\u043e\u043c/\u0439\u043e\u0442\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0442 16.05.2023.xlsx"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":603,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["beforeMove",["uploads/v.pupkin/web-file-upload-3fdf0138a8e0657374c41f339f85b69a-1684307461741/.file","files/v.pupkin/\u0414\u0438\u043b\u0435\u0440\u0441\u043a\u0438\u0439 \u041e\u0442\u0434\u0435\u043b/Ru$ (\u043d\u0435 \u0442\u0432\u043e\u0451 - \u043d\u0435 \u0437\u0430\u043b\u0435\u0437\u0430\u0439)/\u041a\u0430\u043f\u0438\u0442\u0430\u043b\u041a\u043e\u043c/\u0439\u043e\u0442\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0442 16.05.2023.xlsx"]]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpMove","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:MOVE",[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":366,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":171,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php","Line":195,"Previous":{"Exception":"GuzzleHttp\\Exception\\ClientException","Message":"Client error: `GET https://nxtclddata.storage.yandexcloud.net/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&max-parts=10000` resulted in a `400 Bad Request` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidArgument</Code><Message>Argument max-parts must be an integer (truncated...)\n","Code":400,"Trace":[{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":69,"function":"create","class":"GuzzleHttp\\Exception\\RequestException","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":153,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":[1,"*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":159,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":184,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":[true]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":58,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":86,"function":"execute","class":"Aws\\AwsClient","type":"->","args":[["Aws\\Command"]]},{"file":"/var/www/html/lib/private/Files/ObjectStore/S3.php","line":76,"function":"__call","class":"Aws\\AwsClient","type":"->","args":["listParts",[["nxtclddata","urn:oid:222852","0005FBDE63F6EC27",10000]]]},{"file":"/var/www/html/apps/dav/lib/Upload/ChunkingV2Plugin.php","line":223,"function":"getMultipartUploads","class":"OC\\Files\\ObjectStore\\S3","type":"->","args":["urn:oid:222852","0005FBDE63F6EC27"]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMove","class":"OCA\\DAV\\Upload\\ChunkingV2Plugin","type":"->","args":["uploads/v.pupkin/web-file-upload-3fdf0138a8e0657374c41f339f85b69a-1684307461741/.file","files/v.pupkin/\u0414\u0438\u043b\u0435\u0440\u0441\u043a\u0438\u0439 \u041e\u0442\u0434\u0435\u043b/Ru$ (\u043d\u0435 \u0442\u0432\u043e\u0451 - \u043d\u0435 \u0437\u0430\u043b\u0435\u0437\u0430\u0439)/\u041a\u0430\u043f\u0438\u0442\u0430\u043b\u041a\u043e\u043c/\u0439\u043e\u0442\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0442 16.05.2023.xlsx"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":603,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["beforeMove",["uploads/v.pupkin/web-file-upload-3fdf0138a8e0657374c41f339f85b69a-1684307461741/.file","files/v.pupkin/\u0414\u0438\u043b\u0435\u0440\u0441\u043a\u0438\u0439 \u041e\u0442\u0434\u0435\u043b/Ru$ (\u043d\u0435 \u0442\u0432\u043e\u0451 - \u043d\u0435 \u0437\u0430\u043b\u0435\u0437\u0430\u0439)/\u041a\u0430\u043f\u0438\u0442\u0430\u043b\u041a\u043e\u043c/\u0439\u043e\u0442\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0442 16.05.2023.xlsx"]]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpMove","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:MOVE",[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":366,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":171,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php","Line":113},"message":"Error executing \"ListParts\" on \"https://nxtclddata.storage.yandexcloud.net/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&max-parts=10000\"; AWS HTTP error: Client error: `GET https://nxtclddata.storage.yandexcloud.net/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&max-parts=10000` resulted in a `400 Bad Request` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidArgument</Code><Message>Argument max-parts must be an integer (truncated...)\n InvalidArgument (client): Argument max-parts must be an integer between 0 and 1000 - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidArgument</Code><Message>Argument max-parts must be an integer between 0 and 1000</Message><Resource>/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&amp;max-parts=10000</Resource><RequestId>b7c594bd887a728e</RequestId><MaxParts>10000</MaxParts></Error>","exception":{},"CustomMessage":"Error executing \"ListParts\" on \"https://nxtclddata.storage.yandexcloud.net/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&max-parts=10000\"; AWS HTTP error: Client error: `GET https://nxtclddata.storage.yandexcloud.net/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&max-parts=10000` resulted in a `400 Bad Request` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidArgument</Code><Message>Argument max-parts must be an integer (truncated...)\n InvalidArgument (client): Argument max-parts must be an integer between 0 and 1000 - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidArgument</Code><Message>Argument max-parts must be an integer between 0 and 1000</Message><Resource>/urn%3Aoid%3A222852?uploadId=0005FBDE63F6EC27&amp;max-parts=10000</Resource><RequestId>b7c594bd887a728e</RequestId><MaxParts>10000</MaxParts></Error>"}}

Additional info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    0. Needs triagePending check for reproducibility or if it fits our roadmap26-feedbackbug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions