Skip to content

GitHub PullRequestComment: invalid memory address or nil pointer dereference #405

@soutar

Description

@soutar

What should happen:
A comment is created or updated on the related pull request

What actually happens:
No comment is created or updated and the following error is logged by notifications-engine

Recovered from panic: runtime error: invalid memory address or nil pointer dereference
goroutine 125 [running]:
runtime/debug.Stack()
	/usr/local/go/src/runtime/debug/stack.go:26 +0x5e
github.com/argoproj/notifications-engine/pkg/controller.(*notificationController).processQueueItem.func1()
	/go/pkg/mod/github.com/argoproj/[email protected]/pkg/controller/controller.go:273 +0x54
panic({0x4721040?, 0x95fb5d0?})
	/usr/local/go/src/runtime/panic.go:783 +0x132
github.com/argoproj/notifications-engine/pkg/services.(*pullRequestsServiceAdapter).ListPullRequestsWithCommit(0xc000b326d0, {0x66c4d00, 0x9a3b7a0}, {0xc000cc3548, 0x7}, {0xc000cc3550, 0xc}, {0xc000d18c90, 0x28}, 0x0)
	/go/pkg/mod/github.com/argoproj/[email protected]/pkg/services/github.go:712 +0x62
github.com/argoproj/notifications-engine/pkg/services.gitHubService.Send({{0x66c6da8?, 0xc000b32170?}}, {{0xc000cc34d0, 0x17}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...}, ...)
	/go/pkg/mod/github.com/argoproj/[email protected]/pkg/services/github.go:590 +0xdf7
github.com/argoproj/notifications-engine/pkg/api.(*api).Send(0xc000b34640, 0xc000e586c0, {0xc00156c6a0, 0x1, 0x1}, {{0xc001106e74?, 0x1?}, {0x0?, 0xc001106e74?}})
	/go/pkg/mod/github.com/argoproj/[email protected]/pkg/api/api.go:71 +0x427
github.com/argoproj/notifications-engine/pkg/controller.(*notificationController).processResourceWithAPI(0xc0003e5650, {0x66cd600, 0xc000b34640}, {0x671d720, 0xc000b32090}, 0xc0008cb810, 0xc000e71c10)
	/go/pkg/mod/github.com/argoproj/[email protected]/pkg/controller/controller.go:232 +0xb45
github.com/argoproj/notifications-engine/pkg/controller.(*notificationController).processResource(0xc0003e5650, {0x66cd600?, 0xc000b34640?}, {0x671d720, 0xc000b32090}, 0xc0008cb810, 0xc000e71c10)
	/go/pkg/mod/github.com/argoproj/[email protected]/pkg/controller/controller.go:354 +0x5a
github.com/argoproj/notifications-engine/pkg/controller.(*notificationController).processQueueItem(0xc0003e5650)
	/go/pkg/mod/github.com/argoproj/[email protected]/pkg/controller/controller.go:319 +0x6d0
github.com/argoproj/notifications-engine/pkg/controller.(*notificationController).Run.func1()
	/go/pkg/mod/github.com/argoproj/[email protected]/pkg/controller/controller.go:177 +0x25
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1({0x0?, 0x0?})
	/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/backoff.go:233 +0x13
k8s.io/apimachinery/pkg/util/wait.BackoffUntilWithContext.func1({0x66c4f68?, 0xc0011243f0?}, 0x41cff4?)
	/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/backoff.go:255 +0x51
k8s.io/apimachinery/pkg/util/wait.BackoffUntilWithContext({0x66c4f68, 0xc0011243f0}, 0xc000e71f50, {0x66798e0, 0xc00152a210}, 0x1)
	/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/backoff.go:256 +0xe5
k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0xc001144750?, {0x66798e0?, 0xc00152a210?}, 0x50?, 0x1?)
	/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/backoff.go:233 +0x46
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc00152e100, 0x3b9aca00, 0x0, 0x1, 0xc0011243f0)
	/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/backoff.go:210 +0x7f
k8s.io/apimachinery/pkg/util/wait.Until(...)
	/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/backoff.go:163
created by github.com/argoproj/notifications-engine/pkg/controller.(*notificationController).Run in goroutine 124
	/go/pkg/mod/github.com/argoproj/[email protected]/pkg/controller/controller.go:176 +0xcf

Versions observed:

  • Argo CD v3.2.0 (quay.io/argoproj/argocd:v3.2.0)
  • notifications-engine v0.4.1-0.20250908182349-da04400446ff (da04400)

Example configuration:

template.app-deployed: |
  github:
    pullRequestComment:
      content: |
        Application {{.app.metadata.name}} is now running new version of deployments manifests.
        See more here: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true
      commentTag: "continuous-delivery/{{.app.metadata.name}}"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions