Skip to content

[Bug]: Installation broken when Contacts is present #43731

Closed as not planned
Closed as not planned

Description

@ChristophWurst

⚠️ This issue respects the following points: ⚠️

Bug description

NOCOVERAGE=1 ./autotest.sh sqlite apps/dav/tests/unit/CalDAV no longer works

2024-02-21T16:36:41+00:00 Setup data directory
2024-02-21T16:36:41+00:00 Install background jobs
2024-02-21T16:36:42+00:00 
2024-02-21T16:36:42+00:00 In Router.php line 469:
2024-02-21T16:36:42+00:00                                                                  
2024-02-21T16:36:42+00:00   [ReflectionException (-1)]                                     
2024-02-21T16:36:42+00:00   Class "OCA\Contacts\Controller\PageController" does not exist  
2024-02-21T16:36:42+00:00                                                                  
2024-02-21T16:36:42+00:00 
2024-02-21T16:36:42+00:00 Exception trace:
2024-02-21T16:36:42+00:00   at /home/christoph/workspace/nextcloud/lib/private/Route/Router.php:469
2024-02-21T16:36:42+00:00  ReflectionClass->__construct() at /home/christoph/workspace/nextcloud/lib/private/Route/Router.php:469
2024-02-21T16:36:42+00:00  OC\Route\Router->getAttributeRoutes() at /home/christoph/workspace/nextcloud/lib/private/Route/Router.php:161
2024-02-21T16:36:42+00:00  OC\Route\Router->loadRoutes() at /home/christoph/workspace/nextcloud/lib/private/Route/Router.php:400
2024-02-21T16:36:42+00:00  OC\Route\Router->generate() at /home/christoph/workspace/nextcloud/lib/private/Route/CachingRouter.php:65
2024-02-21T16:36:42+00:00  OC\Route\CachingRouter->generate() at /home/christoph/workspace/nextcloud/lib/private/URLGenerator.php:103
2024-02-21T16:36:42+00:00  OC\URLGenerator->linkToRoute() at /home/christoph/workspace/nextcloud/apps/circles/lib/Model/ModelManager.php:560
2024-02-21T16:36:42+00:00  OCA\Circles\Model\ModelManager->generateLinkToCircle() at /home/christoph/workspace/nextcloud/apps/circles/lib/Model/Circle.php:733
2024-02-21T16:36:42+00:00  OCA\Circles\Model\Circle->getUrl() at /home/christoph/workspace/nextcloud/apps/circles/lib/Model/Circle.php:855
2024-02-21T16:36:42+00:00  OCA\Circles\Model\Circle->jsonSerialize() at n/a:n/a
2024-02-21T16:36:42+00:00  json_encode() at /home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php:1293
2024-02-21T16:36:42+00:00  OCA\Circles\Service\FederatedUserService->cacheSingleCircle() at /home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php:1067
2024-02-21T16:36:42+00:00  OCA\Circles\Service\FederatedUserService->getSingleCircle() at /home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php:979
2024-02-21T16:36:42+00:00  OCA\Circles\Service\FederatedUserService->fillSingleCircleId() at /home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php:574
2024-02-21T16:36:42+00:00  OCA\Circles\Service\FederatedUserService->getAppInitiator() at /home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php:1053
2024-02-21T16:36:42+00:00  OCA\Circles\Service\FederatedUserService->getSingleCircle() at /home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php:979
2024-02-21T16:36:42+00:00  OCA\Circles\Service\FederatedUserService->fillSingleCircleId() at /home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php:533
2024-02-21T16:36:42+00:00  OCA\Circles\Service\FederatedUserService->getLocalFederatedUser() at /home/christoph/workspace/nextcloud/apps/circles/lib/ShareByCircleProvider.php:543
2024-02-21T16:36:42+00:00  OCA\Circles\ShareByCircleProvider->getSharedWith() at /home/christoph/workspace/nextcloud/lib/private/Share20/Manager.php:1407
2024-02-21T16:36:42+00:00  OC\Share20\Manager->getSharedWith() at /home/christoph/workspace/nextcloud/apps/files_sharing/lib/MountProvider.php:69
2024-02-21T16:36:42+00:00  OCA\Files_Sharing\MountProvider->getMountsForUser() at /home/christoph/workspace/nextcloud/lib/private/Files/Config/MountProviderCollection.php:89
2024-02-21T16:36:42+00:00  OC\Files\Config\MountProviderCollection->getMountsFromProvider() at /home/christoph/workspace/nextcloud/lib/private/Files/Config/MountProviderCollection.php:146
2024-02-21T16:36:42+00:00  OC\Files\Config\MountProviderCollection->addMountForUser() at /home/christoph/workspace/nextcloud/lib/private/Files/SetupManager.php:215
2024-02-21T16:36:42+00:00  OC\Files\SetupManager->OC\Files\{closure}() at /home/christoph/workspace/nextcloud/lib/private/Files/SetupManager.php:318
2024-02-21T16:36:42+00:00  OC\Files\SetupManager->setupForUserWith() at /home/christoph/workspace/nextcloud/lib/private/Files/SetupManager.php:214
2024-02-21T16:36:42+00:00  OC\Files\SetupManager->setupForUser() at /home/christoph/workspace/nextcloud/lib/private/legacy/OC_Util.php:110
2024-02-21T16:36:42+00:00  OC_Util::setupFS() at /home/christoph/workspace/nextcloud/lib/private/User/Session.php:561
2024-02-21T16:36:42+00:00  OC\User\Session->prepareUserLogin() at /home/christoph/workspace/nextcloud/lib/private/User/Session.php:405
2024-02-21T16:36:42+00:00  OC\User\Session->completeLogin() at /home/christoph/workspace/nextcloud/lib/private/User/Session.php:633
2024-02-21T16:36:42+00:00  OC\User\Session->loginWithPassword() at /home/christoph/workspace/nextcloud/lib/private/User/Session.php:356
2024-02-21T16:36:42+00:00  OC\User\Session->login() at /home/christoph/workspace/nextcloud/lib/private/Setup.php:429
2024-02-21T16:36:42+00:00  OC\Setup->install() at /home/christoph/workspace/nextcloud/core/Command/Maintenance/Install.php:104
2024-02-21T16:36:42+00:00  OC\Core\Command\Maintenance\Install->execute() at /home/christoph/workspace/nextcloud/3rdparty/symfony/console/Command/Command.php:298
2024-02-21T16:36:42+00:00  Symfony\Component\Console\Command\Command->run() at /home/christoph/workspace/nextcloud/3rdparty/symfony/console/Application.php:1040
2024-02-21T16:36:42+00:00  Symfony\Component\Console\Application->doRunCommand() at /home/christoph/workspace/nextcloud/3rdparty/symfony/console/Application.php:301
2024-02-21T16:36:42+00:00  Symfony\Component\Console\Application->doRun() at /home/christoph/workspace/nextcloud/3rdparty/symfony/console/Application.php:171
2024-02-21T16:36:42+00:00  Symfony\Component\Console\Application->run() at /home/christoph/workspace/nextcloud/lib/private/Console/Application.php:213
2024-02-21T16:36:42+00:00  OC\Console\Application->run() at /home/christoph/workspace/nextcloud/console.php:100
2024-02-21T16:36:42+00:00  require_once() at /home/christoph/workspace/nextcloud/occ:11
2024-02-21T16:36:42+00:00 
2024-02-21T16:36:42+00:00 maintenance:install [--database DATABASE] [--database-name DATABASE-NAME] [--database-host DATABASE-HOST] [--database-port DATABASE-PORT] [--database-user DATABASE-USER] [--database-pass [DATABASE-PASS]] [--database-table-space [DATABASE-TABLE-SPACE]] [--admin-user ADMIN-USER] [--admin-pass ADMIN-PASS] [--admin-email [ADMIN-EMAIL]] [--data-dir DATA-DIR]
2024-02-21T16:36:42+00:00 

Probably caused by #42801

Steps to reproduce

  1. Clone Contacts
  2. Run tests

Expected behavior

Tests run

Installation method

None

Nextcloud Server version

master

Operating system

None

PHP engine version

None

Web server

None

Database engine version

None

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

None

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

No response

List of activated Apps

No response

Nextcloud Signing status

No response

Nextcloud Logs

No response

Additional info

No response

Activity

  1. ChristophWurst commented on Feb 21, 2024

    @ChristophWurst
    MemberAuthor

    df6175c is the first bad commit

    bisect confirms :)

  2. DaphneMuller commented on Feb 21, 2024

    @DaphneMuller
    Contributor

    @ChristophWurst what is the impact of this, does this have to be fixed this week or would next week be fine

  3. ChristophWurst commented on Feb 21, 2024

    @ChristophWurst
    MemberAuthor

    Developers can't run tests. So possible blocker for any backend work in server.

  4. provokateurin commented on Feb 21, 2024

    @provokateurin
    Member

    But how did the CI on my PR pass then?

  5. ChristophWurst commented on Feb 21, 2024

    @ChristophWurst
    MemberAuthor

    I think it's because server CI doesn't check out additional apps.

  6. ChristophWurst commented on Feb 22, 2024

    @ChristophWurst
    MemberAuthor

    The error seems to be specific to Contacts because Circles generates a route for Contacts, which is not enabled by default.

  7. changed the title [-][Bug]: Autotest is broken[/-] [+][Bug]: Installation broken when Contacts is present[/+] on Feb 22, 2024
  8. ChristophWurst commented on Feb 22, 2024

    @ChristophWurst
    MemberAuthor

    image

    Installation of Nextcloud 29 is not possible if apps/contacts exists. The autotest fails because it sets up a fresh installation of Nextcloud.

    {
      "reqId": "ElVb1z6nD3QbMPqDLuQj",
      "level": 3,
      "time": "2024-02-22T07:22:01+00:00",
      "remoteAddr": "127.0.0.1",
      "user": "admin",
      "app": "index",
      "method": "POST",
      "url": "/index.php",
      "message": "Class \"OCA\\Contacts\\Controller\\PageController\" does not exist",
      "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0",
      "version": "29.0.0.5",
      "exception": {
        "Exception": "ReflectionException",
        "Message": "Class \"OCA\\Contacts\\Controller\\PageController\" does not exist",
        "Code": -1,
        "Trace": [
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/Route/Router.php",
            "line": 469,
            "function": "__construct",
            "class": "ReflectionClass",
            "type": "->",
            "args": [
              "OCA\\Contacts\\Controller\\PageController"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/Route/Router.php",
            "line": 161,
            "function": "getAttributeRoutes",
            "class": "OC\\Route\\Router",
            "type": "->",
            "args": [
              "contacts"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/Route/Router.php",
            "line": 400,
            "function": "loadRoutes",
            "class": "OC\\Route\\Router",
            "type": "->",
            "args": [
              "contacts"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/Route/CachingRouter.php",
            "line": 65,
            "function": "generate",
            "class": "OC\\Route\\Router",
            "type": "->",
            "args": [
              "contacts.contacts.directcircle",
              [
                "WmnwCuUU19vnquCSoGIBPNpbXMgwK4P"
              ],
              "*** sensitive parameters replaced ***"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/URLGenerator.php",
            "line": 103,
            "function": "generate",
            "class": "OC\\Route\\CachingRouter",
            "type": "->",
            "args": [
              "contacts.contacts.directcircle",
              [
                "WmnwCuUU19vnquCSoGIBPNpbXMgwK4P"
              ]
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/circles/lib/Model/ModelManager.php",
            "line": 560,
            "function": "linkToRoute",
            "class": "OC\\URLGenerator",
            "type": "->",
            "args": [
              "contacts.contacts.directcircle",
              [
                "WmnwCuUU19vnquCSoGIBPNpbXMgwK4P"
              ]
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/circles/lib/Model/Circle.php",
            "line": 733,
            "function": "generateLinkToCircle",
            "class": "OCA\\Circles\\Model\\ModelManager",
            "type": "->",
            "args": [
              "WmnwCuUU19vnquCSoGIBPNpbXMgwK4P"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/circles/lib/Model/Circle.php",
            "line": 855,
            "function": "getUrl",
            "class": "OCA\\Circles\\Model\\Circle",
            "type": "->",
            "args": []
          },
          {
            "function": "jsonSerialize",
            "class": "OCA\\Circles\\Model\\Circle",
            "type": "->",
            "args": []
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php",
            "line": 1293,
            "function": "json_encode",
            "args": [
              [
                "OCA\\Circles\\Model\\Circle"
              ]
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php",
            "line": 1067,
            "function": "cacheSingleCircle",
            "class": "OCA\\Circles\\Service\\FederatedUserService",
            "type": "->",
            "args": [
              [
                "OCA\\Circles\\Model\\FederatedUser"
              ],
              [
                "OCA\\Circles\\Model\\Circle"
              ]
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php",
            "line": 979,
            "function": "getSingleCircle",
            "class": "OCA\\Circles\\Service\\FederatedUserService",
            "type": "->",
            "args": [
              [
                "OCA\\Circles\\Model\\FederatedUser"
              ],
              true
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php",
            "line": 574,
            "function": "fillSingleCircleId",
            "class": "OCA\\Circles\\Service\\FederatedUserService",
            "type": "->",
            "args": [
              [
                "OCA\\Circles\\Model\\FederatedUser"
              ]
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php",
            "line": 1053,
            "function": "getAppInitiator",
            "class": "OCA\\Circles\\Service\\FederatedUserService",
            "type": "->",
            "args": [
              "circles",
              10001,
              "Circles"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php",
            "line": 979,
            "function": "getSingleCircle",
            "class": "OCA\\Circles\\Service\\FederatedUserService",
            "type": "->",
            "args": [
              [
                "OCA\\Circles\\Model\\FederatedUser"
              ],
              true
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/circles/lib/Service/FederatedUserService.php",
            "line": 533,
            "function": "fillSingleCircleId",
            "class": "OCA\\Circles\\Service\\FederatedUserService",
            "type": "->",
            "args": [
              [
                "OCA\\Circles\\Model\\FederatedUser"
              ],
              true
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/circles/lib/ShareByCircleProvider.php",
            "line": 543,
            "function": "getLocalFederatedUser",
            "class": "OCA\\Circles\\Service\\FederatedUserService",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/Share20/Manager.php",
            "line": 1407,
            "function": "getSharedWith",
            "class": "OCA\\Circles\\ShareByCircleProvider",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***",
              7,
              null,
              -1,
              0
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/apps/files_sharing/lib/MountProvider.php",
            "line": 69,
            "function": "getSharedWith",
            "class": "OC\\Share20\\Manager",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***",
              7,
              null,
              -1
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/Files/Config/MountProviderCollection.php",
            "line": 89,
            "function": "getMountsForUser",
            "class": "OCA\\Files_Sharing\\MountProvider",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***",
              [
                "OC\\Files\\Storage\\StorageFactory"
              ]
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/Files/Config/MountProviderCollection.php",
            "line": 146,
            "function": "getMountsFromProvider",
            "class": "OC\\Files\\Config\\MountProviderCollection",
            "type": "->",
            "args": [
              [
                "OCA\\Files_Sharing\\MountProvider"
              ],
              "*** sensitive parameters replaced ***",
              [
                "OC\\Files\\Storage\\StorageFactory"
              ]
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/Files/SetupManager.php",
            "line": 215,
            "function": "addMountForUser",
            "class": "OC\\Files\\Config\\MountProviderCollection",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***",
              [
                "OC\\Files\\Mount\\Manager"
              ],
              [
                "Closure"
              ]
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/Files/SetupManager.php",
            "line": 318,
            "function": "OC\\Files\\{closure}",
            "class": "OC\\Files\\SetupManager",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/Files/SetupManager.php",
            "line": 214,
            "function": "setupForUserWith",
            "class": "OC\\Files\\SetupManager",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***",
              [
                "Closure"
              ]
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/legacy/OC_Util.php",
            "line": 110,
            "function": "setupForUser",
            "class": "OC\\Files\\SetupManager",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/User/Session.php",
            "line": 561,
            "function": "setupFS",
            "class": "OC_Util",
            "type": "::",
            "args": [
              "*** sensitive parameters replaced ***"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/User/Session.php",
            "line": 405,
            "function": "prepareUserLogin",
            "class": "OC\\User\\Session",
            "type": "->",
            "args": [
              true,
              "*** sensitive parameters replaced ***"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/User/Session.php",
            "line": 633,
            "function": "completeLogin",
            "class": "OC\\User\\Session",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/User/Session.php",
            "line": 356,
            "function": "loginWithPassword",
            "class": "OC\\User\\Session",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/private/Setup.php",
            "line": 429,
            "function": "login",
            "class": "OC\\User\\Session",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/core/Controller/SetupController.php",
            "line": 68,
            "function": "install",
            "class": "OC\\Setup",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/lib/base.php",
            "line": 992,
            "function": "run",
            "class": "OC\\Core\\Controller\\SetupController",
            "type": "->",
            "args": [
              "*** sensitive parameters replaced ***"
            ]
          },
          {
            "file": "/home/christoph/workspace/nextcloud/index.php",
            "line": 49,
            "function": "handleRequest",
            "class": "OC",
            "type": "::",
            "args": []
          }
        ],
        "File": "/home/christoph/workspace/nextcloud/lib/private/Route/Router.php",
        "Line": 469,
        "message": "Class \"OCA\\Contacts\\Controller\\PageController\" does not exist",
        "exception": {},
        "CustomMessage": "Class \"OCA\\Contacts\\Controller\\PageController\" does not exist"
      }
    }
  9. added this to the Nextcloud 29 milestone on Feb 22, 2024
  10. DaphneMuller commented on Feb 22, 2024

    @DaphneMuller
    Contributor

    okay, I will find someone in the team to look at this

  11. ChristophWurst commented on Feb 22, 2024

    @ChristophWurst
    MemberAuthor

    It appears Circles was fixed to avoid generating a route for Contacts when it's not enabled. After pulling latest circles master the problem is gone.

    Sorry for the noise

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions