nextcloud / nextcloud/contacts

Address Book HTTP 500 Error

Open
#3,822 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage bug feature: contacts
Dominant language
JavaScript
Stars
642
Forks
220
Avg merge
14h 39m
Merged PRs (30d)
51

Description

Describe the bug

On my family's Nextcloud server, we have a large address book shared between everyone in the household. Recently, it sort of disappeared. It still shows up in Evolution but fails to sync with this error:

Failed to get properties: HTTP error code 500 (Internal Server Error)

When I try to pull it up directly in Nextcloud, it doesn't show up at all under Contacts. Since Evolution is still getting some feedback, I assume the address book is still there but it's having troubles processing something in the address book.

Steps to reproduce
  1. Go to Contacts
  2. The contacts in the address book are missing.
  3. Click "Contacts settings"
  4. The address book isn't listed
Expected behavior

Address Book to show in Contacts and sync to Evolution.

Actual behavior

Address Book and its entries do not show up in Contacts or sync to Evolution

Contact version

5.5.2

Operating system

Linux 6.1.0-18-arm64 aarch64 (Debian Bookworm)

PHP engine version

Other

Web server

Apache (supported)

Database

PostgreSQL

Additional info

PHP: 8.2.7

My nextcloud.log is spammed with this message, I'm not sure if it's relevant:

{"reqId":"OaEnfdCWFe0gCnoCGq2E","level":1,"time":"February 23, 2024 22:18:30","remoteAddr":"Removed","user":"--","app":"no app in context","method":"REPORT","url":"/remote.php/caldav/calendars/Removed/Removed/","message":"Unable to generate a URL for the named route "polls.page.index" as such route does not exist.","userAgent":"Evolution/3.44.4","version":"28.0.1.1","exception":{"Exception":"Symfony\Component\Routing\Exception\RouteNotFoundException","Message":"Unable to generate a URL for the named route "polls.page.index" as such route does not exist.","Code":0,"Trace":[{"file":"/mnt/Removed/nextcloud/site/lib/private/Route/Router.php","line":380,"function":"generate","class":"Symfony\Component\Routing\Generator\UrlGenerator","type":"->"},{"file":"/mnt/Removed/nextcloud/site/lib/private/Route/CachingRouter.php","line":65,"function":"generate","class":"OC\Route\Router","type":"->"},{"file":"/mnt/Removed/nextcloud/site/lib/private/URLGenerator.php","line":103,"function":"generate","class":"OC\Route\CachingRouter","type":"->"},{"file":"/mnt/Removed/nextcloud/site/lib/private/NavigationManager.php","line":374,"function":"linkToRoute","class":"OC\URLGenerator","type":"->"},{"file":"/mnt/Removed/nextcloud/site/lib/private/NavigationManager.php","line":131,"function":"init","class":"OC\NavigationManager","type":"->"},{"file":"/mnt/Removed/nextcloud/site/apps/theming/lib/ThemingDefaults.php","line":199,"function":"getAll","class":"OC\NavigationManager","type":"->"},{"file":"/mnt/Removed/nextcloud/site/lib/private/legacy/OC_Defaults.php","line":271,"function":"getShortFooter","class":"OCA\Theming\ThemingDefaults","type":"->"},{"file":"/mnt/Removed/nextcloud/site/lib/public/Defaults.php","line":176,"function":"getLongFooter","class":"OC_Defaults","type":"->"},{"file":"/mnt/Removed/nextcloud/site/core/templates/layout.guest.php","line":51,"function":"getLongFooter","class":"OCP\Defaults","type":"->"},{"file":"/mnt/Removed/nextcloud/site/lib/private/Template/Base.php","line":180,"args":["/mnt/Removed/nextcloud/site/core/templates/layout.guest.php"],"function":"include"},{"file":"/mnt/Removed/nextcloud/site/lib/private/Template/Base.php","line":150,"function":"load","class":"OC\Template\Base","type":"->"},{"file":"/mnt/Removed/nextcloud/site/lib/private/legacy/OC_Template.php","line":139,"function":"fetchPage","class":"OC\Template\Base","type":"->"},{"file":"/mnt/Removed/nextcloud/site/lib/private/legacy/OC_Template.php","line":170,"function":"fetchPage","class":"OC_Template","type":"->"},{"file":"/mnt/Removed/nextcloud/site/lib/private/Template/Base.php","line":132,"function":"fetchPage","class":"OC_Template","type":"->"},{"file":"/mnt/Removed/nextcloud/site/lib/private/legacy/OC_Template.php","line":258,"function":"printPage","class":"OC\Template\Base","type":"->"},{"file":"/mnt/Removed/nextcloud/site/remote.php","line":85,"function":"printErrorPage","class":"OC_Template","type":"::"},{"file":"/mnt/Removed/nextcloud/site/remote.php","line":174,"function":"handleException"}],"File":"/mnt/Removed/nextcloud/site/3rdparty/symfony/routing/Generator/UrlGenerator.php","Line":144,"message":"Unable to generate a URL for the named route "polls.page.index" as such route does not exist.","exception":{},"CustomMessage":"Unable to generate a URL for the named route "polls.page.index" as such route does not exist."}}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the missing address book in Contacts and the Evolution REPORT request, then compare the failure with the trace through lib/private/Route/Router.php, lib/private/NavigationManager.php, and remote.php. The issue is resolved when the address book appears under Contacts and synchronizes without an HTTP 500 error.

Written by the indexing model from the issue text.

Assessment

Tech stack
apache, javascript, php, postgresql
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.