Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gossip: v21.1.8: nil pointer in gcjobnotifier #77425

Closed
cockroach-teamcity opened this issue Mar 7, 2022 · 0 comments · Fixed by #80551
Closed

gossip: v21.1.8: nil pointer in gcjobnotifier #77425

cockroach-teamcity opened this issue Mar 7, 2022 · 0 comments · Fixed by #80551
Assignees
Labels
C-bug Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior. O-sentry Originated from an in-the-wild panic report. T-sql-foundations SQL Foundations Team (formerly SQL Schema + SQL Sessions)

Comments

@cockroach-teamcity
Copy link
Member

cockroach-teamcity commented Mar 7, 2022

This issue was autofiled by Sentry. It represents a crash or reported error on a live cluster with telemetry enabled.

Sentry link: https://sentry.io/organizations/cockroach-labs/issues/3076654295/?referrer=webhooks_plugin

Panic message:

panic.go:969: runtime error: invalid memory address or nil pointer dereference
--
runtime.errorString
panic.go:969: *withstack.withStack (top exception)

Stacktrace (expand for inline code snippets):

/usr/local/go/src/runtime/panic.go#L968-L970 in runtime.gopanic
/usr/local/go/src/runtime/panic.go#L211-L213 in runtime.panicmem
/usr/local/go/src/runtime/signal_unix.go#L741-L743 in runtime.sigpanic

lastCfg := df.lastCfg
df.lastCfg.Values = newCfg.Values
in pkg/gossip.(*SystemConfigDeltaFilter).ForModified
// Initialize the filter with the current values.
n.mu.deltaFilter.ForModified(n.provider.GetSystemConfig(), func(kv roachpb.KeyValue) {})
}
in pkg/sql/gcjob/gcjobnotifier.(*Notifier).AddNotifyee
timer.Reset(0)
gossipUpdateC, cleanup := execCfg.GCJobNotifier.AddNotifyee(ctx)
defer cleanup()
in pkg/sql/gcjob.schemaChangeGCResumer.Resume

cockroach/pkg/jobs/registry.go

Lines 1207 to 1209 in 57b7968

defer jm.CurrentlyRunning.Dec(1)
err = resumer.Resume(resumeCtx, execCtx)
}()
in pkg/jobs.(*Registry).stepThroughStateMachine.func1

cockroach/pkg/jobs/registry.go

Lines 1208 to 1210 in 57b7968

err = resumer.Resume(resumeCtx, execCtx)
}()
if err == nil {
in pkg/jobs.(*Registry).stepThroughStateMachine

cockroach/pkg/jobs/adopt.go

Lines 278 to 280 in 57b7968

// Run the actual job.
err := r.stepThroughStateMachine(ctx, execCtx, resumer, job, status, finalResumeError)
// If the context has been canceled, disregard errors for the sake of logging
in pkg/jobs.(*Registry).runJob

cockroach/pkg/jobs/adopt.go

Lines 219 to 221 in 57b7968

// was one it's been set in the job status already.
_ = r.runJob(resumeCtx, resumer, job, status, job.taskName())
}); err != nil {
in pkg/jobs.(*Registry).resumeJob.func1
f(ctx)
}()
in pkg/util/stop.(*Stopper).RunAsyncTaskEx.func2
/usr/local/go/src/runtime/asm_amd64.s#L1373-L1375 in runtime.goexit

/usr/local/go/src/runtime/panic.go in runtime.gopanic at line 969
/usr/local/go/src/runtime/panic.go in runtime.panicmem at line 212
/usr/local/go/src/runtime/signal_unix.go in runtime.sigpanic at line 742
pkg/gossip/util.go in pkg/gossip.(*SystemConfigDeltaFilter).ForModified at line 48
pkg/sql/gcjob/gcjobnotifier/notifier.go in pkg/sql/gcjob/gcjobnotifier.(*Notifier).AddNotifyee at line 90
pkg/sql/gcjob/gc_job.go in pkg/sql/gcjob.schemaChangeGCResumer.Resume at line 125
pkg/jobs/registry.go in pkg/jobs.(*Registry).stepThroughStateMachine.func1 at line 1208
pkg/jobs/registry.go in pkg/jobs.(*Registry).stepThroughStateMachine at line 1209
pkg/jobs/adopt.go in pkg/jobs.(*Registry).runJob at line 279
pkg/jobs/adopt.go in pkg/jobs.(*Registry).resumeJob.func1 at line 220
pkg/util/stop/stopper.go in pkg/util/stop.(*Stopper).RunAsyncTaskEx.func2 at line 446
/usr/local/go/src/runtime/asm_amd64.s in runtime.goexit at line 1374
Tag Value
Cockroach Release v21.1.8
Cockroach SHA: 57b7968
Platform darwin amd64
Distribution CCL
Environment development
Command start-single-node
Go Version ``
# of CPUs
# of Goroutines

Jira issue: CRDB-13586

@cockroach-teamcity cockroach-teamcity added C-bug Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior. O-sentry Originated from an in-the-wild panic report. labels Mar 7, 2022
@yuzefovich yuzefovich changed the title sentry: panic.go:969: runtime error: invalid memory address or nil pointer dereference -- runtime.errorString panic.go:969: *withstack.withStack (top exception) gossip: v21.1.8: nil pointer in gcjobnotifier Mar 12, 2022
@blathers-crl blathers-crl bot added the T-kv KV Team label Mar 12, 2022
@blathers-crl blathers-crl bot added the T-sql-schema-deprecated Use T-sql-foundations instead label Apr 25, 2022
@mwang1026 mwang1026 removed the T-kv KV Team label Apr 25, 2022
@ajwerner ajwerner self-assigned this Apr 26, 2022
ajwerner added a commit to ajwerner/cockroach that referenced this issue Apr 26, 2022
If a notifier is added before the initial system config, it can result in a
crash. This may be more common in 22.1, where the initial config takes longer
to be populated.

Fixes cockroachdb#77425

Release note (bug fix): Fixes a rare crash which can occur when restarting a
node after dropping tables.
@craig craig bot closed this as completed in 8944fd0 Apr 26, 2022
blathers-crl bot pushed a commit that referenced this issue Apr 26, 2022
If a notifier is added before the initial system config, it can result in a
crash. This may be more common in 22.1, where the initial config takes longer
to be populated.

Fixes #77425

Release note (bug fix): Fixes a rare crash which can occur when restarting a
node after dropping tables.
blathers-crl bot pushed a commit that referenced this issue Apr 26, 2022
If a notifier is added before the initial system config, it can result in a
crash. This may be more common in 22.1, where the initial config takes longer
to be populated.

Fixes #77425

Release note (bug fix): Fixes a rare crash which can occur when restarting a
node after dropping tables.
blathers-crl bot pushed a commit that referenced this issue Apr 26, 2022
If a notifier is added before the initial system config, it can result in a
crash. This may be more common in 22.1, where the initial config takes longer
to be populated.

Fixes #77425

Release note (bug fix): Fixes a rare crash which can occur when restarting a
node after dropping tables.
@exalate-issue-sync exalate-issue-sync bot added T-sql-foundations SQL Foundations Team (formerly SQL Schema + SQL Sessions) and removed T-sql-schema-deprecated Use T-sql-foundations instead labels May 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior. O-sentry Originated from an in-the-wild panic report. T-sql-foundations SQL Foundations Team (formerly SQL Schema + SQL Sessions)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants