Pydio Cells : cannot create folders / empty files nor delete anything

Hello @charles

Thanks for looking into this again. Below, you’ll find the log messages generated when trying to create an empty file (EmptyTestFile) in an “ordinary” workspace (test-workspace) associated to a datastore linked to a local folder:

{"level":"error","ts":"2018-08-30T14:17:21+02:00","logger":"pydio.rest.frontend","msg":"message=Error executing \"PutObject\" on \"https://my.cells.instance.com/io/test-workspace/EmptyTestFile\"; AWS HTTP error: Client error response [url] https://my.cells.instance.com/io/test-workspace/EmptyTestFile [status code] 400 [reason phrase] Bad Request Unable to parse error information from response - Error parsing XML: String could not be parsed as XML","SpanRootUuid":"306f11af-f81b-5511-648a-e42a21d7eed3","SpanParentUuid":"306f11af-f81b-5511-648a-e42a21d7eed3","SpanUuid":"a54cb7af-ac4e-11e8-87ec-005056a27e07","RemoteAddress":"192.168.XXX.YYY","UserAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36","ContentType":"application/json","HttpProtocol":"HTTP/1.1","UserName":"admin","UserUuid":"809c07ec-9b62-11e8-b97b-005056a27e07","GroupPath":"/","Profile":"admin","Roles":"ROOT_GROUP,809c07ec-9b62-11e8-b97b-005056a27e07","FrontIp":"192.168.XXX.YYY","UserId":"admin","WorkspaceId":"23537802740ab49ab197c530cd0df24b","Source":"StreamWrapper.php l.738","Nodes":[]}
{"level":"error","ts":"2018-08-30T14:17:21+02:00","logger":"pydio.rest.frontend","msg":"message=[404] Error connecting to the API (https://my.cells.instance.com/a/meta/get/test-workspace%2FEmptyTestFile)","SpanRootUuid":"306f11af-f81b-5511-648a-e42a21d7eed3","SpanParentUuid":"306f11af-f81b-5511-648a-e42a21d7eed3","SpanUuid":"a55ec88f-ac4e-11e8-87ec-005056a27e07","RemoteAddress":"192.168.XXX.YYY","UserAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36","ContentType":"application/json","HttpProtocol":"HTTP/1.1","UserName":"admin","UserUuid":"809c07ec-9b62-11e8-b97b-005056a27e07","GroupPath":"/","Profile":"admin","Roles":"ROOT_GROUP,809c07ec-9b62-11e8-b97b-005056a27e07","FrontIp":"192.168.XXX.YYY","UserId":"admin","WorkspaceId":"23537802740ab49ab197c530cd0df24b","Source":"ApiClient.php l.295","Nodes":[]}
{"level":"error","ts":"2018-08-30T14:17:21+02:00","logger":"pydio.rest.frontend","msg":"message=Only variables should be assigned by reference","SpanRootUuid":"306f11af-f81b-5511-648a-e42a21d7eed3","SpanParentUuid":"306f11af-f81b-5511-648a-e42a21d7eed3","SpanUuid":"a5629bff-ac4e-11e8-87ec-005056a27e07","RemoteAddress":"192.168.XXX.YYY","UserAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36","ContentType":"application/json","HttpProtocol":"HTTP/1.1","UserName":"admin","UserUuid":"809c07ec-9b62-11e8-b97b-005056a27e07","GroupPath":"/","Profile":"admin","Roles":"ROOT_GROUP,809c07ec-9b62-11e8-b97b-005056a27e07","FrontIp":"192.168.XXX.YYY","UserId":"admin","WorkspaceId":"23537802740ab49ab197c530cd0df24b","Source":"SapiMiddleware.php l.118","Nodes":[]}
{"level":"error","ts":"2018-08-30T14:17:21+02:00","logger":"pydio.rest.frontend","msg":"message=ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush","SpanRootUuid":"306f11af-f81b-5511-648a-e42a21d7eed3","SpanParentUuid":"306f11af-f81b-5511-648a-e42a21d7eed3","SpanUuid":"a5676855-ac4e-11e8-87ec-005056a27e07","RemoteAddress":"192.168.XXX.YYY","UserAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36","ContentType":"application/json","HttpProtocol":"HTTP/1.1","UserName":"admin","UserUuid":"809c07ec-9b62-11e8-b97b-005056a27e07","GroupPath":"/","Profile":"admin","Roles":"ROOT_GROUP,809c07ec-9b62-11e8-b97b-005056a27e07","FrontIp":"192.168.XXX.YYY","UserId":"admin","WorkspaceId":"23537802740ab49ab197c530cd0df24b","Source":"ShutdownScheduler.php l.157","Nodes":[]}

I’ll PM you shortly regarding access to the Cells instance.

Cheers,

Mark

mmm, the first line seems already more interesting. And the following ones are strange. What PHP version are you using exactly?

PHP 7.1.8 according to the PHP configuration as displayed by the Cells settings dashboard (I’ll increase the max upload size once the instance is stabilized) :

Client : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
Crypto Extension Detected : OpenSSL
DOM Enabled : Yes
GD Enabled : Yes
Upload Max Size : 2M
Memory Limit : 128M
Max execution time : 30
Safe Mode : 0
Safe Mode GID : 0
Xml parser enabled : 1
Server OS : Linux
Session Save Path : /var/opt/rh/rh-php71/lib/php/session
Session Save Path Writeable : Yes
PHP Version : 7.1.8
Locale : fr_FR.UTF-8
Directory Separator : /
PHP Opcode Cache extension loaded : Yes
PHP INTL extension loaded : Yes
PHP Output Buffer disabled : No
PHP File Uploads enabled : Yes
Magic quotes disabled : Yes
Upload Tmp Dir Writeable : Yes
PHP Upload Max Size : 2097152
PHP Post Max Size : 8388608
Users enabled : Yes
Guest enabled : No
Writeable Folders : [<b>cache</b>:true,<br> <b>data</b>:true]
Zlib Enabled : Yes

Still no luck with that. And there is nothing more in the log, just BEFORE the first line you sent?
Are you behind a proxy ? is the cells main URL the same as the one you access from frontend (https://my.cells.instance.com) ?
Charles

wait, i’m trying to read your thread from scratch … Currently you still can upload a file ?

Yes. I can even successfully upload directories.

and very small files as well (<1KB) ? Creating empty file is in fact creating a file with just one character in it (a space) as object store does not support really empty files. I wonder if this character is trimmed at some point

FYI: I just successfully uploaded à 20 byte file.

I’m sorry right now i’m running out of ideas.
You have to give us a bit more time to try to reproduce that (or if you can maybe build a similar set up on a staging env that we could access ?)…
Just to re-summarize your case, had you previously tested WITHOUT the Reverse Proxy? I’m still in doubt whether this is linked or not.
Charles

Hello Charles,

I did not test without the Reverse Proxy. But I agree with you that this is a prime suspect. If I can find another suitable machine, I’ll install a test intance of Cells without proxy. But I’m afraid this won’t happen until a couple of days.

FWIW : I created a one-character file containing only a space character. I could upload it without any problem into one of my workspaces.

Cheers,

Mark

Hello @charles,

I wanted to share some (interesting?) new info about this pending bug.

In the Configuration Panel, all the endpoints are defined using the public address of the cells instance as base URL (i.e https://my-public.pydio.com/io for the S3 endpoint). As the bug seems S3 related, I changed this endpoint configuration to use the internal IP address. The S3 Endpoint then becomes something like :

https://192.168.XXX.YYY:7070/io

An lo and behold, this allows me to create files and directories (although deleting stuff still doesn’t work).
But : with this configuration, file upload stops working. Indeed, it looks as if the browser tries to access the S3 Rest endpoint directly using the OPTIONS HTTP method.

What I get from all this is that the S3 endpoint is used in two different ways;

  1. When creating empty files or directories: wrapped in a POST call made by index.php (for which the non-proxied IP is OK, because the PHP is parsed on the server)

  2. When uploading files or directories: through calls made directly by the browser (for which the public S3 endpoint is mandatory)

Is the remaining question then: why does the call wrapped in the index.php POST fail when using the public S3 endpoint?

As usual, any insights on this problem are highly appreciated.

Cheers,

Mark

Any progress with this S3 bug? I can use the Upload option to upload files and folders, but when I click on New Folder or File, I get the Access Denied error. Thanks. Martin

1 Like

@martinw, please do not “wake up” old threads, they are hard to read…
Can you post a dedicated thread explaining your issue, your setup, a way to reproduce, etc?
Thanks a lot in advance!