Skip to content

GHES 3.19: HTTP 500 when viewing all PRs created by Renovate in GitHub #798

@ErikHumphrey

Description

@ErikHumphrey

After updating renovate-ce to 13.1.0 and GitHub Enterprise Server to 3.19.0 (see release notes), I'm experiencing the following catastrophic issues:

  • Pull requests created by Renovate are created successfully, but inaccessible in the UI, consistently resulting in an HTTP 500 error. They're still accessible via the API or pull/100.patch or pull/100.diff URLs.
  • (timestamp) | Client: (ip) | Status: 500 (Crash) | Time: 595ms | Request: GET (owner/repo)/pull/100
  • Thought maybe database schema mismatch, but the column isn't missing.
  • Loaded the PR itself by Rails console, and I can load its body, internal id, merge base, SHA, etc. just fine.
  • Removing branch protection rules or review requests using the Rails console (not through the UI) temporarily alleviates this issue but branch protection rules must be kept disabled else new PRs will 500
    protection = repo.protected_branches.find_by(name: branch_name)
    protection.destroy 
  • Certain Renovate pull requests do not appear in a repo's" Pull requests" search listing but can be loaded if visited directly by link
    • Could be an Elasticsearch indexing issue
  • Certain pull requests that are "closed" appear under an is:open search
  • The pull requests interface does not load at all in GitHub Mobile (uses GraphQL queries).
    • The HTTP response for this is 200 OK (that's how GraphQL works).
  • Jenkins integration with GHES also encounters more issues with PRs than normal, or doesn't create pipelines on PR creation, requiring a manual scan

    Checking pull request #100 Waiting for GitHub to create a merge commit for pull request 100. Retrying 3 more times... FATAL: Failed to recompute children... org.kohsuke.github.HttpException

This could be a GHES bug, but it could also indicate incompatibility between the current version of Renovate and the new version of GHES. As a third-party application, t's outside the scope of GitHub Support.

The error I get in GHES exceptions.log feels like the UI rendering bug / crash to me.

NoMethodError: undefined method 'bot' for nil Location: RuleEngine::PullRequestStrictReviewRule#check_reviews

Attempted fixes

  • Comment out CODEOWNERS
  • Delete and recreate the organization Team listed in CODEOWNERS
  • Check database for corrupted tables, zombie users in teams, etc.
  • Delete review requests on the Renovate PRs
  • Change commit author of Renovate PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions