cockroachdb / cockroachdb/cockroach
Sentry: panic.go:791: interface conversion: tree.Datum is tree.dNull, not *tree.DString (1) attached stack trace -- stack trace: | runtime.gopanic | GOROOT/src/runtime/panic.go:791 | runtime....
- Dominant language
- Go
- Stars
- 32.5k
- Forks
- 4.1k
- PR merge metrics
- PR metrics pending
Description
This issue was auto filed by Sentry. It represents a crash or reported error on a live cluster with telemetry enabled.
Sentry Link: [https://cockroach-labs.sentry.io/issues/7676170668/?referrer=webhooks_plugin](https://cockroach-labs.sentry.io/issues/7676170668/?referrer=webhooks_plugin)
Panic Message:
```
panic.go:791: interface conversion: tree.Datum is tree.dNull, not *tree.DString
(1) attached stack trace
-- stack trace:
| runtime.gopanic
| GOROOT/src/runtime/panic.go:791
| runtime.panicdottypeE
| GOROOT/src/runtime/iface.go:275
| runtime.panicdottypeI
| GOROOT/src/runtime/iface.go:285
| github.com/cockroachdb/cockroach/pkg/jobs.(*Registry).Start.func3.(*Registry).servePauseAndCancelRequests.1
| pkg/jobs/adopt.go:502
| github.com/cockroachdb/cockroach/pkg/sql.(*internalDBWithOverrides).Txn.func1
| pkg/sql/internal.go:2126
| github.com/cockroachdb/cockroach/pkg/sql.(*InternalDB).Txn.func1
| pkg/sql/internal.go:1966
| github.com/cockroachdb/cockroach/pkg/sql.(*InternalDB).txn.func4
| pkg/sql/internal.go:2053
| github.com/cockroachdb/cockroach/pkg/kv.(*Txn).exec
| pkg/kv/txn.go:1127
| github.com/cockroachdb/cockroach/pkg/kv.runTxn
| pkg/kv/db.go:1075
| github.com/cockroachdb/cockroach/pkg/kv.(*DB).TxnWithAdmissionControl
| pkg/kv/db.go:1038
| github.com/cockroachdb/cockroach/pkg/kv.(*DB).Txn
| pkg/kv/db.go:1013
| github.com/cockroachdb/cockroach/pkg/sql.(*InternalDB).txn
| pkg/sql/internal.go:2040
| github.com/cockroachdb/cockroach/pkg/sql.(*InternalDB).Txn
| pkg/sql/internal.go:1967
| github.com/cockroachdb/cockroach/pkg/sql.(*internalDBWithOverrides).Txn
| pkg/sql/internal.go:2122
| github.com/cockroachdb/cockroach/pkg/jobs.(*Registry).servePauseAndCancelRequests
| pkg/jobs/adopt.go:482
| github.com/cockroachdb/cockroach/pkg/jobs.(*Registry).Start.func3
| pkg/jobs/registry.go:985
| github.com/cockroachdb/cockroach/pkg/jobs.(*Registry).Start.func4
| pkg/jobs/registry.go:992
| github.com/cockroachdb/cockroach/pkg/jobs.(*Registry).withSession
| pkg/jobs/registry.go:940
| github.com/cockroachdb/cockroach/pkg/jobs.(*Registry).Start.(*Registry).Start.func1.func11
| pkg/jobs/registry.go:956
| github.com/cockroachdb/cockroach/pkg/jobs.(*Registry).Start.func8
| pkg/jobs/registry.go:1074
| github.com/cockroachdb/cockroach/pkg/util/stop.(*Stopper).RunAsyncTaskEx.func2
| pkg/util/stop/stopper.go:507
| runtime.goexit
| src/runtime/asm_amd64.s:1700
Wraps: (2) interface conversion: tree.Datum is tree.dNull, not *tree.DString
Error types: (1) *withstack.withStack (2) *runtime.TypeAssertionError
-- report composition:
*runtime.TypeAssertionError
panic.go:791: *withstack.withStack (top exception)
```
Stacktrace (expand for inline code snippets):
[src/runtime/asm_amd64.s#L1699-L1701](src/runtime/asm_amd64.s#L1699-L1701)
[pkg/util/stop/stopper.go#L506-L508](pkg/util/stop/stopper.go#L506-L508)
[pkg/jobs/registry.go#L1073-L1075](pkg/jobs/registry.go#L1073-L1075)
[pkg/jobs/registry.go#L955-L957](pkg/jobs/registry.go#L955-L957)
[pkg/jobs/registry.go#L939-L941](pkg/jobs/registry.go#L939-L941)
[pkg/jobs/registry.go#L991-L993](pkg/jobs/registry.go#L991-L993)
[pkg/jobs/registry.go#L984-L986](pkg/jobs/registry.go#L984-L986)
[pkg/jobs/adopt.go#L481-L483](pkg/jobs/adopt.go#L481-L483)
[pkg/sql/internal.go#L2121-L2123](pkg/sql/internal.go#L2121-L2123)
[pkg/sql/internal.go#L1966-L1968](pkg/sql/internal.go#L1966-L1968)
[pkg/sql/internal.go#L2039-L2041](pkg/sql/internal.go#L2039-L2041)
[pkg/kv/db.go#L1012-L1014](pkg/kv/db.go#L1012-L1014)
[pkg/kv/db.go#L1037-L1039](pkg/kv/db.go#L1037-L1039)
[pkg/kv/db.go#L1074-L1076](pkg/kv/db.go#L1074-L1076)
[pkg/kv/txn.go#L1126-L1128](pkg/kv/txn.go#L1126-L1128)
[pkg/sql/internal.go#L2052-L2054](pkg/sql/internal.go#L2052-L2054)
[pkg/sql/internal.go#L1965-L1967](pkg/sql/internal.go#L1965-L1967)
[pkg/sql/internal.go#L2125-L2127](pkg/sql/internal.go#L2125-L2127)
[pkg/jobs/adopt.go#L501-L503](pkg/jobs/adopt.go#L501-L503)
[GOROOT/src/runtime/iface.go#L284-L286](GOROOT/src/runtime/iface.go#L284-L286)
[GOROOT/src/runtime/iface.go#L274-L276](GOROOT/src/runtime/iface.go#L274-L276)
[GOROOT/src/runtime/panic.go#L790-L792](GOROOT/src/runtime/panic.go#L790-L792)
```
src/runtime/asm_amd64.s in runtime.goexit at line 1700
pkg/util/stop/stopper.go in pkg/util/stop.(*Stopper).RunAsyncTaskEx.func2 at line 507
pkg/jobs/registry.go in pkg/jobs.(*Registry).Start.func8 at line 1074
pkg/jobs/registry.go in pkg/jobs.(*Registry).Start.(*Registry).Start.func1.func11 at line 956
pkg/jobs/registry.go in pkg/jobs.(*Registry).withSession at line 940
pkg/jobs/registry.go in pkg/jobs.(*Registry).Start.func4 at line 992
pkg/jobs/registry.go in pkg/jobs.(*Registry).Start.func3 at line 985
pkg/jobs/adopt.go in pkg/jobs.(*Registry).servePauseAndCancelRequests at line 482
pkg/sql/internal.go in pkg/sql.(*internalDBWithOverrides).Txn at line 2122
pkg/sql/internal.go in pkg/sql.(*InternalDB).Txn at line 1967
pkg/sql/internal.go in pkg/sql.(*InternalDB).txn at line 2040
pkg/kv/db.go in pkg/kv.(*DB).Txn at line 1013
pkg/kv/db.go in pkg/kv.(*DB).TxnWithAdmissionControl at line 1038
pkg/kv/db.go in pkg/kv.runTxn at line 1075
pkg/kv/txn.go in pkg/kv.(*Txn).exec at line 1127
pkg/sql/internal.go in pkg/sql.(*InternalDB).txn.func4 at line 2053
pkg/sql/internal.go in pkg/sql.(*InternalDB).Txn.func1 at line 1966
pkg/sql/internal.go in pkg/sql.(*internalDBWithOverrides).Txn.func1 at line 2126
pkg/jobs/adopt.go in pkg/jobs.(*Registry).Start.func3.(*Registry).servePauseAndCancelRequests.1 at line 502
GOROOT/src/runtime/iface.go in runtime.panicdottypeI at line 285
GOROOT/src/runtime/iface.go in runtime.panicdottypeE at line 275
GOROOT/src/runtime/panic.go in runtime.gopanic at line 791
```
### Tags
| Tag | Value |
| --- | --- |
| Command | server |
| Environment | v25.2.20 |
| Go Version | go1.23.12 X:nocoverageredesign |
| Platform | linux amd64 |
| Distribution | CCL |
| Cockroach Release | v25.2.20 |
| Cockroach SHA | 38afacf970e63c9387d47f7555c2bb02b4d5cb02 |
| # of CPUs | 8 |
| # of Goroutines | 1561 |
Jira issue: CRDB-66753
Contributor guide
Research direction
Start in pkg/jobs/adopt.go around lines 482 and 502, where Registry.servePauseAndCancelRequests runs inside the job registry flow shown in pkg/jobs/registry.go. Trace the datum handling that reaches the reported type assertion and verify the pause or cancel request path completes without panicking when the value is tree.dNull.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100