Owncloud 10.0.3 not Responding (Infinite Loop error)

10

#1

Steps to reproduce

  1. Install fresh copy of owncloud
  2. Login after setup
  3. Owncloud attempts to load up but after a few stops responding and dies

Expected behaviour

Owncloud should just load up fine and be accessible

Actual behavior

Owncloud displays a blank white box in front of the files app and the files app also loads a files app inside of itself. Entire page stops responding and Chrome alerts that the page is no longer responding with the option to kill the tab.

Server configuration

Operating system:
Red Hat Enterprise 7.4 (Maipo)

Web server:
Nginx/1.10.2

Database:
Remote MySQL database
Server version: 5.7.19 MySQL Community Server (GPL)

PHP version:
5.6.31

ownCloud version: (see ownCloud admin page)
10.0.3

Updated from an older ownCloud or fresh install:
Fresh install

Where did you install ownCloud from:
https://download.owncloud.org/community/owncloud-10.0.3.tar.bz2

Signing status (ownCloud 9.0 and above):

No errors have been found

The content of config/config.php:

{
    "system": {
        "instanceid": "ocaq0h01coli",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "owncloud.mydomain.com"
        ],
        "datadirectory": "\/media\/opt\/data\/",
        "overwrite.cli.url": "http:\/\/owncloud.mydomain.com",
        "dbtype": "mysql",
        "version": "10.0.3.3",
        "dbname": "owncloud",
        "dbhost": "192.168.0.134",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "logtimezone": "UTC",
        "installed": true
    }
}

List of activated apps:

Enabled:
  - comments: 0.3.0
  - configreport: 0.1.1
  - dav: 0.3.0
  - federatedfilesharing: 0.3.1
  - federation: 0.1.0
  - files: 1.5.1
  - files_external: 0.7.1
  - files_sharing: 0.10.1
  - files_trashbin: 0.9.1
  - files_versions: 1.3.0
  - files_videoplayer: 0.9.8
  - firstrunwizard: 1.1
  - market: 0.2.2
  - notifications: 0.3.1
  - provisioning_api: 0.5.0
  - systemtags: 0.3.0
  - templateeditor: 0.1
  - updatenotification: 0.2.1

Disabled:
  - encryption
  - external
  - files_antivirus
  - theme-example
  - user_external

Are you using external storage, if yes which one: local/smb/sftp/...
No

Are you using encryption: yes/no
No

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

Client configuration

Browser:
Google Chrome 61.0.3163.100 (Official Build) (64-bit)

Operating system:
Gentoo Linux

Logs

Web server error log

Error log is empty,

Access Log:

72.0.129.xx - - [10/Oct/2017:11:07:45 -0400] "GET / HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:45 -0400] "GET /apps/files/ HTTP/1.1" 200 30079 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:46 -0400] "GET /apps/files/cron.php HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:46 -0400] "GET /apps/files/undefined/img/notifications.svg HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:47 -0400] "GET /apps/files/ocs/v2.php/apps/notifications/api/v1/notifications?format=json HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:47 -0400] "GET /apps/files/index.php/apps/firstrunwizard/wizard.php HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:47 -0400] "GET /apps/files/core/search/templates/part.results.html HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:47 -0400] "GET /apps/files/ HTTP/1.1" 200 30079 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:47 -0400] "GET /apps/files/ HTTP/1.1" 200 30077 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:48 -0400] "GET /apps/files/ HTTP/1.1" 200 30077 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:48 -0400] "GET /apps/files/ HTTP/1.1" 200 30079 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:48 -0400] "GET /apps/files/ HTTP/1.1" 200 30079 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
72.0.129.xx - - [10/Oct/2017:11:07:48 -0400] "GET /apps/files/ HTTP/1.1" 200 30079 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"

ownCloud log (data/owncloud.log)

Empty

Browser log

[browser.log](https://github.com/owncloud/core/files/1372446/browser.log)

Nginx Config

     server {
	listen	80;
	listen  [::]:80;
	server_name owncloud.mydomain.com;
	index index.html index.htm index.php;

  # Path to the root of your installation
    root /var/webapps/owncloud/;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    # The following 2 rules are only needed for the user_webfinger app.
    # Uncomment it if you're planning to use this app.
    #rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
    #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

    location = /.well-known/carddav {
        return 301 $scheme://$host/remote.php/dav;
    }
    location = /.well-known/caldav {
        return 301 $scheme://$host/remote.php/dav;
    }

    # set max upload size
    client_max_body_size 512M;
    fastcgi_buffers 64 4K;

    # Disable gzip to avoid the removal of the ETag header
    # Enabling gzip would also make your server vulnerable to BREACH
    # if no additional measures are done. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773332
    gzip off;

    # Uncomment if your server is build with the ngx_pagespeed module
    # This module is currently not supported.
    #pagespeed off;

    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;

    location / {
        rewrite ^ /index.php$uri;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
        return 404;
    }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
        return 404;
    }

    location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name; # necessary for owncloud to detect the contextroot https://github.com/owncloud/core/blob/v10.0.0/lib/private/AppFramework/Http/Request.php#L603
        fastcgi_param PATH_INFO $fastcgi_path_info;
       # fastcgi_param HTTPS on;
        fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
        fastcgi_param front_controller_active true;
        fastcgi_read_timeout 180; # increase default timeout e.g. for long running carddav/ caldav syncs with 1000+ entries
        fastcgi_pass php-handler;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off; #Available since NGINX 1.7.11
    }

    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
        try_files $uri $uri/ =404;
        index index.php;
    }

    # Adding the cache control header for js and css files
    # Make sure it is BELOW the PHP block
    location ~ \.(?:css|js)$ {
        try_files $uri /index.php$uri$is_args$args;
        add_header Cache-Control "max-age=15778463";
        # Add headers to serve security related headers (It is intended to have those duplicated to the ones above)
        # Before enabling Strict-Transport-Security headers please read into this topic first.
        #add_header Strict-Transport-Security "max-age=15552000; includeSubDomains";
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        # Optional: Don't log access to assets
        access_log off;
    }

    location ~ \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg|map)$ {
        add_header Cache-Control "public, max-age=7200";
        try_files $uri /index.php$uri$is_args$args;
        # Optional: Don't log access to other assets
        access_log off;
    }

}

#2

Still have yet to find a solution but I have determined that Owncloud is encountering an infinite loop. Can somebody please look at my nginx config and tell me if I am missing anything? This is Owncloud's default configuration given in the documentation for 10.0.3.


#3

Nginx isn't officially supported as web server as far as I know. I'd recommend you to switch to apache if possible. Note that I'm not saying that ownCloud won't work with Nginx, but it will be more difficult to help you.

You can check the ".htaccess" file that comes with ownCloud to check the setup for apache. That might help you to check if something is missing in your configuration for nginx.

The only thing I see is that quite a bunch of requests are returning with a 302 HTTP code, which is something that shouldn't happen. You might want to start investigating that.