Skip to content

nil pointer dereference when deploying CSI node plugin #27261

@olljanat

Description

@olljanat

Nomad version

Nomad v1.11.0
BuildDate 2025-11-11T16:18:19Z
Revision 9103d93

Operating system and Environment details

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.3 LTS"

Issue

We where testing CSI node plugin deployment to our Nomad environment and managed to get it in state that Nomad UI was unstable and there was this error in log:

Dec 15 11:59:40 server1 nomad[1616110]:     2025-12-15T11:59:40.025Z [INFO]  client.alloc_runner.task_runner: Task event: alloc_id=91d4ced8-81aa-1aa1-82f5-46f02e8fa290 task=z-platform_csi-ntnx-controller type="Plugin became healthy" msg="plugin: nutanix" failed=false
Dec 15 11:59:42 server1 nomad[1616110]: panic: runtime error: invalid memory address or nil pointer dereference
Dec 15 11:59:42 server1 nomad[1616110]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x19717d1]
Dec 15 11:59:42 server1 nomad[1616110]: goroutine 358 [running]:
Dec 15 11:59:42 server1 nomad[1616110]: github.com/hashicorp/nomad/nomad/structs.(*DeploymentState).Copy(...)
Dec 15 11:59:42 server1 nomad[1616110]:         github.com/hashicorp/nomad/nomad/structs/structs.go:10831
Dec 15 11:59:42 server1 nomad[1616110]: github.com/hashicorp/nomad/nomad/structs.(*Deployment).Copy(0xc00880a000)
Dec 15 11:59:42 server1 nomad[1616110]:         github.com/hashicorp/nomad/nomad/structs/structs.go:10677 +0x1b1
Dec 15 11:59:42 server1 nomad[1616110]: github.com/hashicorp/nomad/nomad.evaluatePlanPlacements(0xc008513260, 0xc002cfd590, 0xc0057023f0, {0x434ee28, 0xc000bf0de0})
Dec 15 11:59:42 server1 nomad[1616110]:         github.com/hashicorp/nomad/nomad/plan_apply.go:517 +0x70
Dec 15 11:59:42 server1 nomad[1616110]: github.com/hashicorp/nomad/nomad.evaluatePlan(0xc008513260, 0xc002cfd590, 0xc0057023f0, {0x434ee28, 0xc000bf0de0})
Dec 15 11:59:42 server1 nomad[1616110]:         github.com/hashicorp/nomad/nomad/plan_apply.go:506 +0x274
Dec 15 11:59:42 server1 nomad[1616110]: github.com/hashicorp/nomad/nomad.(*planner).planApply(0xc0008b1040)
Dec 15 11:59:42 server1 nomad[1616110]:         github.com/hashicorp/nomad/nomad/plan_apply.go:165 +0x3bf
Dec 15 11:59:42 server1 nomad[1616110]: created by github.com/hashicorp/nomad/nomad.(*Server).establishLeadership in goroutine 273
Dec 15 11:59:42 server1 nomad[1616110]:         github.com/hashicorp/nomad/nomad/leader.go:407 +0x17f

Reproduction steps

Unfortunately we don't have full reproduction steps. We where testing this CSI plugin but even that started to working after removing job with API and creating it again so this looks like some kind of race condition.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions