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

WebDAV remote connection to PowerFolder doesn't fetch existing files, multiple PHP Errors #11242

Closed
ChargingBulle opened this issue Sep 16, 2018 · 8 comments
Labels

Comments

@ChargingBulle
Copy link

ChargingBulle commented Sep 16, 2018

TL;DR Remote via WebDAV. remote files are not downloaded. Files added on my side sync. Maybe lasttimestamp-issue?

image
image

Steps to reproduce

  1. Add WebDAV remote via user + password
  2. HTTPS enabled
  3. remote get's "green circle". Everything seems to work.

Expected behaviour

Expected4) Examine: either [progress with scanning folder structure is happening] or [some progress bar that reports "hey we're still scanning the remote]

Actual behaviour

Actual4) Examine: Folder is empty
Actual5) add a file and check powerfolder remote, the file is properly synced from my instance to theirs
Actual6) delete the same file and check again: also workd
Actual7) Think "oh well maybe it needs a while to discover all files and folders on the remote"
Actual8) wait >24 hours
Actual9) still empty folder. Remote is still green. Check log. See PHP errors. Report bug.

Server configuration detail

Operating system: Linux 4.14.52-v7+ #1123 SMP Wed Jun 27 17:35:49 BST 2018 armv7l

Webserver: lighttpd/1.4.45 (fpm-fcgi)

Database: mysql 10.1.23

PHP version:

7.0.27-0+deb9u1
Modules loaded: Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, session, standard, cgi-fcgi, mysqlnd, PDO, xml, apcu, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, iconv, igbinary, intl, json, exif, mcrypt, mysqli, pdo_mysql, Phar, posix, readline, redis, shmop, SimpleXML, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xmlreader, xmlwriter, xsl, zip, Zend OPcache

Nextcloud version: 13.0.6 - 13.0.6.1

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

Where did you install Nextcloud from: DietPi Pre-Configured Software

Signing status

Array
(
)

List of activated apps
Enabled:
 - activity: 2.6.1
 - calendar: 1.6.1
 - comments: 1.3.0
 - contacts: 2.1.5
 - dav: 1.4.7
 - drawio: 0.9.0
 - federatedfilesharing: 1.3.1
 - federation: 1.3.0
 - files: 1.8.0
 - files_external: 1.4.1
 - files_pdfviewer: 1.2.1
 - files_rightclick: 0.8.4
 - files_sharing: 1.5.0
 - files_texteditor: 2.5.1
 - files_trashbin: 1.3.0
 - files_versions: 1.6.0
 - files_videoplayer: 1.2.0
 - firstrunwizard: 2.2.1
 - gallery: 18.0.0
 - issuetemplate: 0.4.0
 - logreader: 2.0.0
 - lookup_server_connector: 1.1.0
 - metadata: 0.7.0
 - nextcloud_announcements: 1.2.0
 - notifications: 2.1.2
 - oauth2: 1.1.1
 - password_policy: 1.3.0
 - provisioning_api: 1.3.0
 - serverinfo: 1.3.0
 - sharebymail: 1.3.0
 - survey_client: 1.1.0
 - systemtags: 1.3.0
 - theming: 1.4.5
 - twofactor_backupcodes: 1.2.3
 - updatenotification: 1.3.0
 - workflowengine: 1.3.0
Disabled:
 - admin_audit
 - encryption
 - user_external
 - user_ldap

Configuration (config/config.php)
{
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "***REMOVED SENSITIVE VALUE***",
        "localhost"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "overwritehost": "***REMOVED SENSITIVE VALUE***",
    "overwriteprotocol": "https",
    "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
    "htaccess.RewriteBase": "\/",
    "dbtype": "mysql",
    "version": "13.0.6.1",
    "memcache.local": "\\OC\\Memcache\\APCu",
    "filelocking.enabled": true,
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 0
    },
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "mysql.utf8mb4": true,
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "maintenance": false,
    "mail_smtpmode": "smtp",
    "mail_smtpauthtype": "LOGIN",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpauth": 1,
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpsecure": "tls",
    "theme": "",
    "loglevel": 0,
    "mail_smtpport": "587",
    "updater.secret": "***REMOVED SENSITIVE VALUE***"
}

Are you using external storage, if yes which one: PowerFolder via WebDAV (https://powerfolder.com/)

Are you using encryption: No.

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

Client configuration

Firefox 62.0 (32 Bit Edition)

Logs

Browser log

Webbrowser works normal

there's a warning

Content Security Policy: Directive ‘child-src’ has been deprecated. Please use directive ‘worker-src’ to control workers, or directive ‘frame-src’ to control frames respectively.

followed by two errors

Content Security Policy: The page’s settings blocked the loading of a resource at self (“script-src”). Source: (function (NAVIGATOR, OBJECT) {

    OBJ.... 
Content Security Policy: The page’s settings blocked the loading of a resource at self (“script-src”). Source: (function (DOCUMENT, dispatchEvent, CUST....

but those two seem to be unrelated to the issue

Upon entering the webdav folder a PROPFIND request is issued. You can see the whole questest in HAR format here:
(3,87 MB) https://github.com/nextcloud/server/files/2386720/firefoxrequest.txt

NextCloud log
Undefined index: {DAV:}getlastmodified at /var/www/nextcloud/lib/private/Files/Storage/DAV.php#582 (2x)

Undefined index: {DAV:}getlastmodified at /var/www/nextcloud/lib/private/Files/Storage/DAV.php#799 (2x)

Undefined index: {DAV:}status at /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Xml/Element/Response.php#236

Undefined offset: 1 at /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Xml/Element/Response.php#237

Undefined index: {DAV:}status at /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Xml/Element/Response.php#236

Undefined offset: 1 at /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Xml/Element/Response.php#237

Undefined index: {DAV:}getlastmodified at /var/www/nextcloud/lib/private/Files/Storage/DAV.php#582

Complete log (debug level, whole day. incl. one midnight cronjobs, nc upgrade and one remote share)
(1,96 MB) https://github.com/nextcloud/server/files/2386699/log.txt

@nextcloud-bot
Copy link
Member

GitMate.io thinks possibly related issues are #3738 (Webdav), #6784 (Php error?), #681 (WebDAV: "409 Parent node does not exist" when using remote.php/webdav/ to upload files), #4201 (Multiple Errors), and #8795 (webdav link should point to remote.php/dav/files/).

@ChargingBulle
Copy link
Author

problem persist

@linuxrrze
Copy link

Powerfolder had (and has) a long list of (webdav) problems.

One of them is webdav folders being shown as empty even if they contain files.
Even using different webdav clients to access the folder gives the same error -> server issue.
To make things worse, it works sometimes, but once it doesn't there is some kind of server-side-caching mechanism, that prevents a simple reload to "fix" the issue.

Bug has been reported to Powerfolder but is not fixed (yet).

@ChargingBulle
Copy link
Author

Thanks for the quick answer.
I'll ping my PF admin and maybe pivot away from PowerFolder to either Alfresco (which supports WebDAV bestter as far as I know) or self-hosted NextCloud.

We're pivoting away from the big cyan box and tbh pivoting again would be a toughs sell 🤕
Any chance to get PowerFolder working via FTP / Briding / ... ?

@linuxrrze
Copy link

Based on our experience I wouldn't count on Powerfolder implementing an additional new protocol without a paying customer forcing them to do it. And even if they did I wouldn't dare using it in production (at least for a few years).

And a general note: I think it's a bad idea to use one sync & share solution (that's accessible via webdav) as a storage backend for another sync & share product. My guess is, that performance will be far from optimal.

@ChargingBulle
Copy link
Author

We're using the academic-tier of PowerFolder. I arranged the creation of an NextCloud instance using university hardware. Maybe I can pivot other students to use NC instead of PF.
That way I can sync university NextCloud with my personal NextCloud (yay for federation!)

It's trivial to deduct what university I go to. According to my internet searches on PowerFolder instances we're basically the only people in the world who seriously use PowerFolder 😒.

My recommendation: don't. The Web UI is horrible and the overall featureset and design is not competitive when compared to NextCloud/Dropbox/basically-anything-that-stores-data.

Disclaimer: this is my personal opinion on PF and I'm not a statement from my uni and/or any roles I hold at my uni.

@linuxrrze
Copy link

Maybe sometime in the future federated file exchange between different vendors will be possible:

https://wiki.geant.org/display/OCM/Open+Cloud+Mesh

I'd love to see that!

@MorrisJobke
Copy link
Member

And a general note: I think it's a bad idea to use one sync & share solution (that's accessible via webdav) as a storage backend for another sync & share product. My guess is, that performance will be far from optimal.

👍

Powerfolder had (and has) a long list of (webdav) problems.

Correct. I would close this ticket here for now as @JonasDralle tries to move away anyways.

Thanks for the feedback nevertheless.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants