Server: Openstack swift cached token has expired and is not renewed

Created on 12 Feb 2019  路  5Comments  路  Source: nextcloud/server

Steps to reproduce

(The issue was not reproduced on another instance)

  1. Create an instance with openstack swift as primary storage with docker container, using redis as caching
  2. After the storage works, wait for the expiration of the token

Expected behaviour

The server renews the identity token.

Actual behaviour

The identity token is not renewed, and the server show "internal error" page.

Clearing the cache make the instance work again:

docker-compose stop
docker-compose rm -v redis
docker-compose up -d
# the redis instance is re-created with a  clean cache

Server configuration

This is my docker-compose file:

services:
  db:
    image: postgres:11
    volumes:
      - "./pgdata:/var/lib/postgresql/data"
  redis:
    image: redis:latest
  app:
    image: "nextcloud:15-apache"
    volumes:
      - "./custom_apps:/var/www/html/custom_apps"
      - "./config:/var/www/html/config"
      - "./data:/var/www/html/data"
    links:
      - db
      - redis
    ports:
      - "127.0.0.1:8025:80"

Operating system:

Debian 9, using docker image nextcloud:15-apache

Web server:

Apache

Database:

Postgresql

PHP version:

PHP 7.2.14 (cli) (built: Feb  6 2019 05:10:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies

Nextcloud version: 15.0.4

Updated from an older Nextcloud/ownCloud or fresh install:

Update from nextcloud 14.0.??

Where did you install Nextcloud from:

Docker image

Signing status:


Signing status

No errors have been found.

List of activated apps:


App list

Enabled:
  - accessibility: 1.1.0
  - activity: 2.8.2
  - calendar: 1.6.4
  - camerarawpreviews: 0.6.3
  - cloud_federation_api: 0.1.0
  - comments: 1.5.0
  - contacts: 3.0.3
  - dav: 1.8.1
  - deck: 0.5.2
  - federatedfilesharing: 1.5.0
  - federation: 1.5.0
  - files: 1.10.0
  - files_external: 1.6.0
  - files_pdfviewer: 1.4.0
  - files_sharing: 1.7.0
  - files_texteditor: 2.7.0
  - files_trashbin: 1.5.0
  - files_versions: 1.8.0
  - files_videoplayer: 1.4.0
  - firstrunwizard: 2.4.0
  - gallery: 18.2.0
  - logreader: 2.0.0
  - lookup_server_connector: 1.3.0
  - nextcloud_announcements: 1.4.0
  - notifications: 2.3.0
  - oauth2: 1.3.0
  - password_policy: 1.5.0
  - previewgenerator: 2.0.0
  - provisioning_api: 1.5.0
  - richdocuments: 3.2.0
  - serverinfo: 1.5.0
  - sharebymail: 1.5.0
  - support: 1.0.0
  - survey_client: 1.3.0
  - systemtags: 1.5.0
  - theming: 1.6.0
  - twofactor_backupcodes: 1.4.1
  - twofactor_totp: 2.1.0
  - updatenotification: 1.5.0
  - workflowengine: 1.5.0
Disabled:
  - admin_audit
  - encryption
  - user_ldap

Nextcloud configuration:


Config report

{
    "system": {
        "objectstore": {
            "class": "OC\\Files\\ObjectStore\\Swift",
            "arguments": {
                "user": {
                    "name": "***REMOVED SENSITIVE VALUE Manually***",
                    "password": "***REMOVED SENSITIVE VALUE Manually***",
                    "domain": {
                        "name": "default"
                    }
                },
                "scope": {
                    "project": {
                        "id": "***REMOVED SENSITIVE VALUE Manually*"
                    }
                },
                "bucket": "***REMOVED SENSITIVE VALUE Manually*",
                "autocreate": true,
                "region": "GRA1",
                "url": "https:\/\/auth.cloud.ovh.net\/v3\/",
                "authUrl": "https:\/\/auth.cloud.ovh.net\/v3",
                "tenantName": "***REMOVED SENSITIVE VALUE Manually*",
                "tenantId": "***REMOVED SENSITIVE VALUE Manually*",
                "serviceName": "swift",
                "urlType": "internal"
            }
        },
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE Manually*"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "15.0.4.0",
        "overwrite.cli.url": "https:\/\/nextcloud.fastre.info",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "memcache.local": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "mail_smtpmode": "smtp",
        "mail_smtpsecure": "tls",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "loglevel": 2,
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "theme": "",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "overwriteprotocol": "https"
    }
}

Are you using external storage, if yes which one:

Yes: openstack swift

Are you using encryption:

No

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

No

Client configuration

Note relevant here.

Logs

Web server error log

Simply show an error 500...

Nextcloud log (data/nextcloud.log)


Nextcloud log

{
    "app": "core",
    "level": 3,
    "message": {
        "Code": 0,
        "CustomMessage": "--",
        "Exception": "RuntimeException",
        "File": "/var/www/html/3rdparty/php-opencloud/openstack/src/Identity/v3/Service.php",
        "Line": 39,
        "Message": "Cached token has expired on \"2019-02-11T21:47:52+0000\".",
        "Trace": [
            "// ... omitted for clarity and confidentiality"
                ],
                "class": "OpenStack\\Identity\\v3\\Service",
                "file": "/var/www/html/lib/private/Files/ObjectStore/SwiftFactory.php",
                "function": "authenticate",
                "line": 178,
                "type": "->"
            },
            {
                "args": [
                    {
                        "__class__": "OpenStack\\Identity\\v3\\Service"
                    },
                    "IdOfTheUser@https://auth.cloud.ovh.net/v3//Password"
                ],
                "class": "OC\\Files\\ObjectStore\\SwiftFactory",
                "file": "/var/www/html/lib/private/Files/ObjectStore/SwiftFactory.php",
                "function": "auth",
                "line": 130,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC\\Files\\ObjectStore\\SwiftFactory",
                "file": "/var/www/html/lib/private/Files/ObjectStore/SwiftFactory.php",
                "function": "getClient",
                "line": 223,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC\\Files\\ObjectStore\\SwiftFactory",
                "file": "/var/www/html/lib/private/Files/ObjectStore/SwiftFactory.php",
                "function": "createContainer",
                "line": 211,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC\\Files\\ObjectStore\\SwiftFactory",
                "file": "/var/www/html/lib/private/Files/ObjectStore/Swift.php",
                "function": "getContainer",
                "line": 59,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC\\Files\\ObjectStore\\Swift",
                "file": "/var/www/html/lib/private/Files/ObjectStore/Swift.php",
                "function": "getContainer",
                "line": 79,
                "type": "->"
            },
            {
                "args": [
                    "urn:oid:166606",
                    null
                ],
                "class": "OC\\Files\\ObjectStore\\Swift",
                "file": "/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
                "function": "writeObject",
                "line": 457,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    null,
                    1
                ],
                "class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
                "file": "/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
                "function": "writeStream",
                "line": 416,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    " "
                ],
                "class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
                "file": "/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
                "function": "file_put_contents",
                "line": 370,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    1549959557
                ],
                "class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
                "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                "function": "touch",
                "line": 354,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    null
                ],
                "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Availability.php",
                "function": "touch",
                "line": 376,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    null
                ],
                "class": "OC\\Files\\Storage\\Wrapper\\Availability",
                "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                "function": "touch",
                "line": 354,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js"
                ],
                "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                "file": "/var/www/html/lib/private/Files/View.php",
                "function": "touch",
                "line": 1152,
                "type": "->"
            },
            {
                "args": [
                    "touch",
                    "/appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    [
                        "touch",
                        "create",
                        "write"
                    ],
                    null
                ],
                "class": "OC\\Files\\View",
                "file": "/var/www/html/lib/private/Files/View.php",
                "function": "basicOperation",
                "line": 567,
                "type": "->"
            },
            {
                "args": [
                    "/appdata_ocntk2fugwux/js/core/merged-template-prepend.js"
                ],
                "class": "OC\\Files\\View",
                "file": "/var/www/html/lib/private/Files/Node/Folder.php",
                "function": "touch",
                "line": 181,
                "type": "->"
            },
            {
                "args": [
                    "merged-template-prepend.js"
                ],
                "class": "OC\\Files\\Node\\Folder",
                "file": "/var/www/html/lib/private/Files/SimpleFS/SimpleFolder.php",
                "function": "newFile",
                "line": 83,
                "type": "->"
            },
            {
                "args": [
                    "merged-template-prepend.js"
                ],
                "class": "OC\\Files\\SimpleFS\\SimpleFolder",
                "file": "/var/www/html/lib/private/Template/JSCombiner.php",
                "function": "newFile",
                "line": 177,
                "type": "->"
            },
            {
                "args": [
                    "/var/www/html/core/js",
                    "merged-template-prepend.js",
                    {
                        "__class__": "OC\\Files\\SimpleFS\\SimpleFolder"
                    }
                ],
                "class": "OC\\Template\\JSCombiner",
                "file": "/var/www/html/lib/private/Template/JSCombiner.php",
                "function": "cache",
                "line": 103,
                "type": "->"
            },
            {
                "args": [
                    "/var/www/html",
                    "core/js/merged-template-prepend.json",
                    "core"
                ],
                "class": "OC\\Template\\JSCombiner",
                "file": "/var/www/html/lib/private/Template/JSResourceLocator.php",
                "function": "process",
                "line": 114,
                "type": "->"
            },
            {
                "args": [
                    "/var/www/html",
                    "core/js/merged-template-prepend.json"
                ],
                "class": "OC\\Template\\JSResourceLocator",
                "file": "/var/www/html/lib/private/Template/JSResourceLocator.php",
                "function": "cacheAndAppendCombineJsonIfExist",
                "line": 70,
                "type": "->"
            },
            {
                "args": [
                    "js/merged-template-prepend"
                ],
                "class": "OC\\Template\\JSResourceLocator",
                "file": "/var/www/html/lib/private/Template/ResourceLocator.php",
                "function": "doFind",
                "line": 78,
                "type": "->"
            },
            {
                "args": [
                    [
                        "vendor/core",
                        "js/merged-template-prepend",
                        "search/js/search",
                        "core/l10n/fr",
                        "files_pdfviewer/l10n/en",
                        "files_pdfviewer/js/previewplugin",
                        "core/js/merged-share-backend",
                        "files_videoplayer/l10n/en",
                        "files_videoplayer/js/viewer",
                        "firstrunwizard/l10n/fr",
                        "firstrunwizard/js/jquery.colorbox",
                        "firstrunwizard/js/firstrunwizard",
                        "gallery/l10n/fr",
                        "notifications/l10n/fr",
                        "notifications/js/notifications",
                        "search/l10n/fr",
                        "search/js/searchprovider",
                        "js/jquery-ui-fixes",
                        "js/files/fileinfo",
                        "js/files/client",
                        "js/contactsmenu",
                        "js/contactsmenu_templates",
                        "files/l10n/fr",
                        "files/js/merged-index",
                        "files_sharing/l10n/fr",
                        "files_sharing/js/app",
                        "files_sharing/js/sharedfilelist",
                        "files_external/l10n/fr",
                        "files_external/js/statusmanager",
                        "files_external/js/templates",
                        "files_external/js/rollingqueue",
                        "files_external/js/app",
                        "files_external/js/mountsfilelist",
                        "files_trashbin/l10n/fr",
                        "files_trashbin/js/app",
                        "files_trashbin/js/filelist",
                        "activity/l10n/fr",
                        "activity/js/activity-sidebar",
                        "js/oc-backbone-webdav",
                        "comments/l10n/fr",
                        "comments/js/merged",
                        "files_versions/l10n/fr",
                        "files_versions/js/merged",
                        "richdocuments/l10n/fr",
                        "richdocuments/js/viewer/viewer",
                        "federatedfilesharing/l10n/fr",
                        "federatedfilesharing/js/external",
                        "files_sharing/js/additionalScripts",
                        "files_texteditor/l10n/fr",
                        "files_texteditor/js/merged",
                        "gallery/js/scripts-for-file-app",
                        "js/systemtags/merged",
                        "systemtags/l10n/fr",
                        "systemtags/js/merged"
                    ]
                ],
                "class": "OC\\Template\\ResourceLocator",
                "file": "/var/www/html/lib/private/TemplateLayout.php",
                "function": "find",
                "line": 322,
                "type": "->"
            },
            {
                "args": [
                    [
                        "vendor/core",
                        "js/merged-template-prepend",
                        "search/js/search",
                        "core/l10n/fr",
                        "files_pdfviewer/l10n/en",
                        "files_pdfviewer/js/previewplugin",
                        "core/js/merged-share-backend",
                        "files_videoplayer/l10n/en",
                        "files_videoplayer/js/viewer",
                        "firstrunwizard/l10n/fr",
                        "firstrunwizard/js/jquery.colorbox",
                        "firstrunwizard/js/firstrunwizard",
                        "gallery/l10n/fr",
                        "notifications/l10n/fr",
                        "notifications/js/notifications",
                        "search/l10n/fr",
                        "search/js/searchprovider",
                        "js/jquery-ui-fixes",
                        "js/files/fileinfo",
                        "js/files/client",
                        "js/contactsmenu",
                        "js/contactsmenu_templates",
                        "files/l10n/fr",
                        "files/js/merged-index",
                        "files_sharing/l10n/fr",
                        "files_sharing/js/app",
                        "files_sharing/js/sharedfilelist",
                        "files_external/l10n/fr",
                        "files_external/js/statusmanager",
                        "files_external/js/templates",
                        "files_external/js/rollingqueue",
                        "files_external/js/app",
                        "files_external/js/mountsfilelist",
                        "files_trashbin/l10n/fr",
                        "files_trashbin/js/app",
                        "files_trashbin/js/filelist",
                        "activity/l10n/fr",
                        "activity/js/activity-sidebar",
                        "js/oc-backbone-webdav",
                        "comments/l10n/fr",
                        "comments/js/merged",
                        "files_versions/l10n/fr",
                        "files_versions/js/merged",
                        "richdocuments/l10n/fr",
                        "richdocuments/js/viewer/viewer",
                        "federatedfilesharing/l10n/fr",
                        "federatedfilesharing/js/external",
                        "files_sharing/js/additionalScripts",
                        "files_texteditor/l10n/fr",
                        "files_texteditor/js/merged",
                        "gallery/js/scripts-for-file-app",
                        "js/systemtags/merged",
                        "systemtags/l10n/fr",
                        "systemtags/js/merged"
                    ]
                ],
                "class": "OC\\TemplateLayout",
                "file": "/var/www/html/lib/private/TemplateLayout.php",
                "function": "findJavascriptFiles",
                "line": 154,
                "type": "::"
            },
            {
                "args": [
                    "error",
                    ""
                ],
                "class": "OC\\TemplateLayout",
                "file": "/var/www/html/lib/private/legacy/template.php",
                "function": "__construct",
                "line": 211,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC_Template",
                "file": "/var/www/html/lib/private/Template/Base.php",
                "function": "fetchPage",
                "line": 132,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC\\Template\\Base",
                "file": "/var/www/html/lib/private/legacy/template.php",
                "function": "printPage",
                "line": 360,
                "type": "->"
            },
            {
                "args": [
                    {
                        "__class__": "RuntimeException"
                    },
                    500
                ],
                "class": "OC_Template",
                "file": "/var/www/html/index.php",
                "function": "printExceptionErrorPage",
                "line": 69,
                "type": "::"
            }
        ]
    },
    "method": "GET",
    "remoteAddr": "188.188.xxx.xxx",
    "reqId": "jbyS49BGI5L2xuNWyTCR",
    "time": "2019-02-12T08:19:17+00:00",
    "url": "/index.php/apps/files/",
    "user": "xxxxxxxx",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0",
    "version": "15.0.4.0"
}

Browser log

Not relevant here

0. Needs triage bug filesystem

Most helpful comment

Fix is in #14175

All 5 comments

cc @icewind1991 @rullzer

FYI, clearing the cache makes the instance working again:

docker-compose stop
docker-compose rm -v redis
docker-compose up -d
# the redis instance is re-created with a  clean cache

(I edited the bug description to add this information)

Fix is in #14175

I face the same problem. Looking forward to the PR being merged.

Fix is in #14175

PR was merged :rocket:

Was this page helpful?
0 / 5 - 0 ratings