Skip to content

[Bug]: Call to a member function jsonSerialize() on null #51713

@wiegell

Description

@wiegell

⚠️ This issue respects the following points: ⚠️

Bug description

I get a null error in the cloud_federation_api app after upgrading to v31. I have no interest in the federation app and tried disabling both the cloud_federation_api and the federation app via the occ command, but that is not allowed.
The web UI is inaccessible due to this error:
Image

Steps to reproduce

  1. Upgrade to v31
  2. Go to web UI

Expected behavior

No error

Nextcloud Server version

31

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.3

Web server

Nginx

Database engine version

MariaDB

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

Upgraded to a MAJOR version (ex. 31 to 32)

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

{
    "system": {
        "forcessl": true,
        "overwriteprotocol": " https",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "overwritewebroot": "\/nextcloud",
        "overwrite.cli.url": "https:\/\/raddoc.net\/nextcloud",
        "trusted_domains": [
            "raddoc.net"
        ],
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "31.0.2.1",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "enable_previews": true,
        "enabledPreviewProviders": {
            "0": "OC\\Preview\\TXT",
            "3": "OC\\Preview\\PDF",
            "6": "OC\\Preview\\Image",
            "7": "OC\\Preview\\Photoshop",
            "8": "OC\\Preview\\TIFF",
            "9": "OC\\Preview\\SVG",
            "10": "OC\\Preview\\Font",
            "12": "OC\\Preview\\Movie",
            "13": "OC\\Preview\\MKV",
            "14": "OC\\Preview\\MP4",
            "15": "OC\\Preview\\AVI"
        },
        "installed": true,
        "log_type": "file",
        "logfile": "\/var\/log\/nextcloud.log",
        "logfilemode": 416,
        "loglevel": "0",
        "logdateformat": "F d, Y H:i:s",
        "updater.secret": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "music.lastfm_api_key": "c29a7c80783f9b8c478eecd3ef45436e",
        "filelocking.enabled": true,
        "memcache.locking": "\\OC\\Memcache\\APCu",
        "upgrade.disable-web": true
    }
}

List of activated Apps

Enabled:
  - activity: 4.0.0
  - app_api: 5.0.2
  - bruteforcesettings: 4.0.0
  - circles: 31.0.0
  - cloud_federation_api: 1.14.0
  - comments: 1.21.0
  - dashboard: 7.11.0
  - dav: 1.33.0
  - federatedfilesharing: 1.21.0
  - federation: 1.21.0
  - files: 2.3.1
  - files_automatedtagging: 2.0.0
  - files_downloadlimit: 4.0.0
  - files_external: 1.23.0
  - files_reminders: 1.4.0
  - files_sharing: 1.23.1
  - files_trashbin: 1.21.0
  - files_versions: 1.24.0
  - groupfolders: 19.0.4
  - logreader: 4.0.0
  - lookup_server_connector: 1.19.0
  - music: 2.1.2
  - notifications: 4.0.0
  - oauth2: 1.19.1
  - photos: 4.0.0-dev.1
  - previewgenerator: 5.8.0
  - profile: 1.0.0
  - provisioning_api: 1.21.0
  - related_resources: 2.0.0
  - settings: 1.14.0
  - spreed: 21.0.1
  - systemtags: 1.21.1
  - text: 5.0.0
  - theming: 2.6.1
  - twofactor_backupcodes: 1.20.0
  - user_status: 1.11.0
  - viewer: 4.0.0
  - weather_status: 1.11.0
  - webhook_listeners: 1.2.0
  - workflow_script: 2.0.0
  - workflowengine: 2.13.0
Disabled:
  - admin_audit: 1.21.0
  - contactsinteraction: 1.12.0 (installed 1.0.0)
  - encryption: 2.19.0
  - files_pdfviewer: 4.0.0 (installed 1.8.0)
  - files_rightclick: 1.6.0 (installed 1.6.0)
  - firstrunwizard: 4.0.0 (installed 2.8.0)
  - flow_notifications: 1.2.0 (installed 1.2.0)
  - nextcloud_announcements: 3.0.0 (installed 1.8.0)
  - password_policy: 3.0.0 (installed 1.9.1)
  - privacy: 3.0.0 (installed 1.3.0)
  - recommendations: 4.0.0 (installed 0.7.0)
  - serverinfo: 3.0.0 (installed 1.9.0)
  - sharebymail: 1.21.0 (installed 1.9.0)
  - support: 3.0.0 (installed 1.2.1)
  - survey_client: 3.0.0 (installed 1.7.0)
  - suspicious_login: 9.0.1
  - twofactor_nextcloud_notification: 5.0.0
  - twofactor_totp: 13.0.0-dev.0
  - updatenotification: 1.21.0 (installed 1.9.0)
  - user_ldap: 1.22.0

Nextcloud Signing status

Cannot due to error

Nextcloud Logs

{"reqId":"sYS62gHkEAFViTrCISgP","level":0,"time":"March 25, 2025 23:41:19","remoteAddr":"192.168.0.1","user":false,"app":"bruteForce","method":"GET","url":"/nextcloud/index.php","message":"The loading of lazy AppConfig values have been triggered by app \"bruteForce\"","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36","version":"31.0.2.1","exception":{"Exception":"RuntimeException","Message":"The loading of lazy AppConfig values have been triggered by app \"bruteForce\"","Code":0,"Trace":[{"file":"/app/www/public/lib/private/AppConfig.php","line":1193,"function":"loadConfig","class":"OC\\AppConfig","type":"->"},{"file":"/app/www/public/lib/private/AppConfig.php","line":106,"function":"loadConfigAll","class":"OC\\AppConfig","type":"->"},{"file":"/app/www/public/lib/private/Security/Ip/BruteforceAllowList.php","line":39,"function":"getKeys","class":"OC\\AppConfig","type":"->"},{"file":"/app/www/public/lib/private/Security/Bruteforce/Throttler.php","line":86,"function":"isBypassListed","class":"OC\\Security\\Ip\\BruteforceAllowList","type":"->"},{"file":"/app/www/public/lib/private/Security/Bruteforce/Throttler.php","line":112,"function":"isBypassListed","class":"OC\\Security\\Bruteforce\\Throttler","type":"->"},{"file":"/app/www/public/lib/private/Security/Bruteforce/Throttler.php","line":129,"function":"getAttempts","class":"OC\\Security\\Bruteforce\\Throttler","type":"->"},{"file":"/app/www/public/core/Controller/LoginController.php","line":153,"function":"getDelay","class":"OC\\Security\\Bruteforce\\Throttler","type":"->"},{"file":"/app/www/public/lib/private/AppFramework/Http/Dispatcher.php","line":200,"function":"showLoginForm","class":"OC\\Core\\Controller\\LoginController","type":"->"},{"file":"/app/www/public/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/app/www/public/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/app/www/public/lib/private/Route/Router.php","line":307,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/app/www/public/lib/base.php","line":1025,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/app/www/public/index.php","line":24,"function":"handleRequest","class":"OC","type":"::"}],"File":"/app/www/public/lib/private/AppConfig.php","Line":1208,"message":"The loading of lazy AppConfig values have been triggered by app \"bruteForce\"","exception":{},"CustomMessage":"The loading of lazy AppConfig values have been triggered by app \"bruteForce\""}}
{"reqId":"sYS62gHkEAFViTrCISgP","level":2,"time":"March 25, 2025 23:41:19","remoteAddr":"192.168.0.1","user":false,"app":"cloud_federation_api","method":"GET","url":"/nextcloud/index.php","message":"cannot generate local signatory","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36","version":"31.0.2.1","exception":{"Exception":"NCU\\Security\\Signature\\Exceptions\\IdentityNotFoundException","Message":"cannot extract identity from  https://raddoc.net/nextcloud/ocm/shares","Code":0,"Trace":[{"file":"/app/www/public/lib/private/Security/Signature/SignatureManager.php","line":284,"function":"extractIdentityFromUri","class":"NCU\\Security\\Signature\\Model\\Signatory","type":"::"},{"file":"/app/www/public/lib/private/OCM/OCMSignatoryManager.php","line":127,"function":"extractIdentityFromUri","class":"OC\\Security\\Signature\\SignatureManager","type":"->"},{"file":"/app/www/public/lib/private/OCM/OCMSignatoryManager.php","line":93,"function":"generateKeyId","class":"OC\\OCM\\OCMSignatoryManager","type":"->"},{"file":"/config/www/nextcloud/apps/cloud_federation_api/lib/Capabilities.php","line":82,"function":"getLocalSignatory","class":"OC\\OCM\\OCMSignatoryManager","type":"->"},{"file":"/app/www/public/lib/private/CapabilitiesManager.php","line":61,"function":"getCapabilities","class":"OCA\\CloudFederationAPI\\Capabilities","type":"->"},{"file":"/app/www/public/lib/private/Template/JSConfigHelper.php","line":137,"function":"getCapabilities","class":"OC\\CapabilitiesManager","type":"->"},{"file":"/app/www/public/lib/private/TemplateLayout.php","line":239,"function":"getConfig","class":"OC\\Template\\JSConfigHelper","type":"->"},{"file":"/app/www/public/lib/private/legacy/OC_Template.php","line":120,"function":"__construct","class":"OC\\TemplateLayout","type":"->"},{"file":"/app/www/public/lib/public/AppFramework/Http/TemplateResponse.php","line":189,"function":"fetchPage","class":"OC_Template","type":"->"},{"file":"/app/www/public/lib/private/AppFramework/Http/Dispatcher.php","line":159,"function":"render","class":"OCP\\AppFramework\\Http\\TemplateResponse","type":"->"},{"file":"/app/www/public/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/app/www/public/lib/private/Route/Router.php","line":307,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/app/www/public/lib/base.php","line":1025,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/app/www/public/index.php","line":24,"function":"handleRequest","class":"OC","type":"::"}],"File":"/app/www/public/lib/unstable/Security/Signature/Model/Signatory.php","Line":190,"message":"cannot generate local signatory","exception":{},"CustomMessage":"cannot generate local signatory"}}
{"reqId":"sYS62gHkEAFViTrCISgP","level":3,"time":"March 25, 2025 23:41:19","remoteAddr":"192.168.0.1","user":false,"app":"index","method":"GET","url":"/nextcloud/index.php","message":"Call to a member function jsonSerialize() on null","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36","version":"31.0.2.1","exception":{"Exception":"Error","Message":"Call to a member function jsonSerialize() on null","Code":0,"Trace":[{"file":"/config/www/nextcloud/apps/cloud_federation_api/lib/Capabilities.php","line":90,"function":"jsonSerialize","class":"OC\\OCM\\Model\\OCMProvider","type":"->"},{"file":"/app/www/public/lib/private/CapabilitiesManager.php","line":61,"function":"getCapabilities","class":"OCA\\CloudFederationAPI\\Capabilities","type":"->"},{"file":"/app/www/public/lib/private/Template/JSConfigHelper.php","line":137,"function":"getCapabilities","class":"OC\\CapabilitiesManager","type":"->"},{"file":"/app/www/public/lib/private/TemplateLayout.php","line":239,"function":"getConfig","class":"OC\\Template\\JSConfigHelper","type":"->"},{"file":"/app/www/public/lib/private/legacy/OC_Template.php","line":120,"function":"__construct","class":"OC\\TemplateLayout","type":"->"},{"file":"/app/www/public/lib/public/AppFramework/Http/TemplateResponse.php","line":189,"function":"fetchPage","class":"OC_Template","type":"->"},{"file":"/app/www/public/lib/private/AppFramework/Http/Dispatcher.php","line":159,"function":"render","class":"OCP\\AppFramework\\Http\\TemplateResponse","type":"->"},{"file":"/app/www/public/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/app/www/public/lib/private/Route/Router.php","line":307,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/app/www/public/lib/base.php","line":1025,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/app/www/public/index.php","line":24,"function":"handleRequest","class":"OC","type":"::"}],"File":"/app/www/public/lib/private/OCM/Model/OCMProvider.php","Line":239,"message":"Call to a member function jsonSerialize() on null","exception":{},"CustomMessage":"Call to a member function jsonSerialize() on null"}}

Additional info

The error can be worked around by hacking the Capabilities.php and returning an empty array at once in getCapabilities

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions