cockroachdb / cockroachdb/cockroach

Sentry: encoded_datum.go:190: invalid datum type given: STRING, expected STRING(191) COLLATE und_u_ks_level1 (1) Wraps: (2) assertion failure Wraps: (3) attached stack trace -- stack trace: | gith...

Open
#175,602 1 comment 0 reactions 0 assignees View on GitHub
branch-release-26.3 C-bug O-sentry X-blathers-untriaged
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/7739285949/?referrer=webhooks_plugin](https://cockroach-labs.sentry.io/issues/7739285949/?referrer=webhooks_plugin)

Panic Message:

```
encoded_datum.go:190: invalid datum type given: STRING, expected STRING(191) COLLATE und_u_ks_level1
(1)
Wraps: (2) assertion failure
Wraps: (3) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql/rowenc.DatumToEncDatum
| pkg/sql/rowenc/encoded_datum.go:190
| github.com/cockroachdb/cockroach/pkg/sql.(*planNodeToRowSource).Next
| pkg/sql/plan_node_to_row_source.go:232
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*Columnarizer).Next
| pkg/sql/colexec/columnarizer.go:244
| github.com/cockroachdb/cockroach/pkg/sql/colexec/colexecutils.(*BatchSchemaSubsetEnforcer).Next
| pkg/sql/colexec/colexecutils/operator.go:223
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*bufferOp).advance
| pkg/sql/colexec/buffer.go:45
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*caseOp).Next
| pkg/sql/colexec/case.go:193
| github.com/cockroachdb/cockroach/pkg/sql/colexec/colexecbase.(*simpleProjectOp).Next
| pkg/sql/colexec/colexecbase/simple_project.go:114
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*Materializer).next
| pkg/sql/colexec/materializer.go:248
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*Materializer).nextAdapter
| pkg/sql/colexec/materializer.go:276
| github.com/cockroachdb/cockroach/pkg/sql/colexecerror.CatchVectorizedRuntimeError
| pkg/sql/colexecerror/error.go:162
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*Materializer).Next
| pkg/sql/colexec/materializer.go:282
| github.com/cockroachdb/cockroach/pkg/sql.(*rowSourceToPlanNode).Next
| pkg/sql/row_source_to_plan_node.go:80
| github.com/cockroachdb/cockroach/pkg/sql.(*insertNode).processBatch
| pkg/sql/insert.go:311
| github.com/cockroachdb/cockroach/pkg/sql.(*insertNode).startExec
| pkg/sql/insert.go:285
| github.com/cockroachdb/cockroach/pkg/sql.startExec
| pkg/sql/plan.go:566
| github.com/cockroachdb/cockroach/pkg/sql.(*planNodeToRowSource).Start
| pkg/sql/plan_node_to_row_source.go:210
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*FlowCoordinator).Start.func1
| pkg/sql/colflow/flow_coordinator.go:113
| github.com/cockroachdb/cockroach/pkg/sql/colexecerror.CatchVectorizedRuntimeError
| pkg/sql/colexecerror/error.go:162
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*FlowCoordinator).Start
| pkg/sql/colflow/flow_coordinator.go:112
| github.com/cockroachdb/cockroach/pkg/sql/execinfra.(*ProcessorBaseNoHelper).Run
| pkg/sql/execinfra/processorsbase.go:776
| github.com/cockroachdb/cockroach/pkg/sql/flowinfra.(*FlowBase).Run
| pkg/sql/flowinfra/flow.go:593
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*vectorizedFlow).Run
| pkg/sql/colflow/vectorized_flow.go:302
| github.com/cockroachdb/cockroach/pkg/sql.(*DistSQLPlanner).Run
| pkg/sql/distsql_running.go:1091
| github.com/cockroachdb/cockroach/pkg/sql.(*DistSQLPlanner).PlanAndRun
| pkg/sql/distsql_running.go:2408
| github.com/cockroachdb/cockroach/pkg/sql.(*DistSQLPlanner).PlanAndRunAll.func3
| pkg/sql/distsql_running.go:2107
| github.com/cockroachdb/cockroach/pkg/sql.(*DistSQLPlanner).PlanAndRunAll
| pkg/sql/distsql_running.go:2110
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execWithDistSQLEngine
| pkg/sql/conn_executor_exec.go:3845
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execCopyIn.func5
| pkg/sql/conn_executor.go:3616
| github.com/cockroachdb/cockroach/pkg/sql.(*copyMachine).insertRowsInternal
| pkg/sql/copy_from.go:1298
| github.com/cockroachdb/cockroach/pkg/sql.(*copyMachine).insertRows
| pkg/sql/copy_from.go:1172
| github.com/cockroachdb/cockroach/pkg/sql.(*copyMachine).processCopyData
| pkg/sql/copy_from.go:742
| github.com/cockroachdb/cockroach/pkg/sql.(*copyMachine).run
| pkg/sql/copy_from.go:652
Wraps: (4) invalid datum type given: STRING, expected STRING(191) COLLATE und_u_ks_level1
Error types: (1) *colexecerror.notInternalError (2) *assert.withAssertionFailure (3) *withstack.withStack (4) *errutil.leafError
-- report composition:
*errutil.leafError: invalid datum type given: STRING, expected STRING(191) COLLATE und_u_ks_level1
encoded_datum.go:190: *withstack.withStack (top exception)
*assert.withAssertionFailure
*colexecerror.notInternalError
```

Stacktrace (expand for inline code snippets):

[pkg/sql/copy_from.go#L651-L653](pkg/sql/copy_from.go#L651-L653)
[pkg/sql/copy_from.go#L741-L743](pkg/sql/copy_from.go#L741-L743)
[pkg/sql/copy_from.go#L1171-L1173](pkg/sql/copy_from.go#L1171-L1173)
[pkg/sql/copy_from.go#L1297-L1299](pkg/sql/copy_from.go#L1297-L1299)
[pkg/sql/conn_executor.go#L3615-L3617](pkg/sql/conn_executor.go#L3615-L3617)
[pkg/sql/conn_executor_exec.go#L3844-L3846](pkg/sql/conn_executor_exec.go#L3844-L3846)
[pkg/sql/distsql_running.go#L2109-L2111](pkg/sql/distsql_running.go#L2109-L2111)
[pkg/sql/distsql_running.go#L2106-L2108](pkg/sql/distsql_running.go#L2106-L2108)
[pkg/sql/distsql_running.go#L2407-L2409](pkg/sql/distsql_running.go#L2407-L2409)
[pkg/sql/distsql_running.go#L1090-L1092](pkg/sql/distsql_running.go#L1090-L1092)
[pkg/sql/colflow/vectorized_flow.go#L301-L303](pkg/sql/colflow/vectorized_flow.go#L301-L303)
[pkg/sql/flowinfra/flow.go#L592-L594](pkg/sql/flowinfra/flow.go#L592-L594)
[pkg/sql/execinfra/processorsbase.go#L775-L777](pkg/sql/execinfra/processorsbase.go#L775-L777)
[pkg/sql/colflow/flow_coordinator.go#L111-L113](pkg/sql/colflow/flow_coordinator.go#L111-L113)
[pkg/sql/colexecerror/error.go#L161-L163](pkg/sql/colexecerror/error.go#L161-L163)
[pkg/sql/colflow/flow_coordinator.go#L112-L114](pkg/sql/colflow/flow_coordinator.go#L112-L114)
[pkg/sql/plan_node_to_row_source.go#L209-L211](pkg/sql/plan_node_to_row_source.go#L209-L211)
[pkg/sql/plan.go#L565-L567](pkg/sql/plan.go#L565-L567)
[pkg/sql/insert.go#L284-L286](pkg/sql/insert.go#L284-L286)
[pkg/sql/insert.go#L310-L312](pkg/sql/insert.go#L310-L312)
[pkg/sql/row_source_to_plan_node.go#L79-L81](pkg/sql/row_source_to_plan_node.go#L79-L81)
[pkg/sql/colexec/materializer.go#L281-L283](pkg/sql/colexec/materializer.go#L281-L283)
[pkg/sql/colexecerror/error.go#L161-L163](pkg/sql/colexecerror/error.go#L161-L163)
[pkg/sql/colexec/materializer.go#L275-L277](pkg/sql/colexec/materializer.go#L275-L277)
[pkg/sql/colexec/materializer.go#L247-L249](pkg/sql/colexec/materializer.go#L247-L249)
[pkg/sql/colexec/colexecbase/simple_project.go#L113-L115](pkg/sql/colexec/colexecbase/simple_project.go#L113-L115)
[pkg/sql/colexec/case.go#L192-L194](pkg/sql/colexec/case.go#L192-L194)
[pkg/sql/colexec/buffer.go#L44-L46](pkg/sql/colexec/buffer.go#L44-L46)
[pkg/sql/colexec/colexecutils/operator.go#L222-L224](pkg/sql/colexec/colexecutils/operator.go#L222-L224)
[pkg/sql/colexec/columnarizer.go#L243-L245](pkg/sql/colexec/columnarizer.go#L243-L245)
[pkg/sql/plan_node_to_row_source.go#L231-L233](pkg/sql/plan_node_to_row_source.go#L231-L233)
[pkg/sql/rowenc/encoded_datum.go#L189-L191](pkg/sql/rowenc/encoded_datum.go#L189-L191)

```
pkg/sql/copy_from.go in pkg/sql.(*copyMachine).run at line 652
pkg/sql/copy_from.go in pkg/sql.(*copyMachine).processCopyData at line 742
pkg/sql/copy_from.go in pkg/sql.(*copyMachine).insertRows at line 1172
pkg/sql/copy_from.go in pkg/sql.(*copyMachine).insertRowsInternal at line 1298
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCopyIn.func5 at line 3616
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execWithDistSQLEngine at line 3845
pkg/sql/distsql_running.go in pkg/sql.(*DistSQLPlanner).PlanAndRunAll at line 2110
pkg/sql/distsql_running.go in pkg/sql.(*DistSQLPlanner).PlanAndRunAll.func3 at line 2107
pkg/sql/distsql_running.go in pkg/sql.(*DistSQLPlanner).PlanAndRun at line 2408
pkg/sql/distsql_running.go in pkg/sql.(*DistSQLPlanner).Run at line 1091
pkg/sql/colflow/vectorized_flow.go in pkg/sql/colflow.(*vectorizedFlow).Run at line 302
pkg/sql/flowinfra/flow.go in pkg/sql/flowinfra.(*FlowBase).Run at line 593
pkg/sql/execinfra/processorsbase.go in pkg/sql/execinfra.(*ProcessorBaseNoHelper).Run at line 776
pkg/sql/colflow/flow_coordinator.go in pkg/sql/colflow.(*FlowCoordinator).Start at line 112
pkg/sql/colexecerror/error.go in pkg/sql/colexecerror.CatchVectorizedRuntimeError at line 162
pkg/sql/colflow/flow_coordinator.go in pkg/sql/colflow.(*FlowCoordinator).Start.func1 at line 113
pkg/sql/plan_node_to_row_source.go in pkg/sql.(*planNodeToRowSource).Start at line 210
pkg/sql/plan.go in pkg/sql.startExec at line 566
pkg/sql/insert.go in pkg/sql.(*insertNode).startExec at line 285
pkg/sql/insert.go in pkg/sql.(*insertNode).processBatch at line 311
pkg/sql/row_source_to_plan_node.go in pkg/sql.(*rowSourceToPlanNode).Next at line 80
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).Next at line 282
pkg/sql/colexecerror/error.go in pkg/sql/colexecerror.CatchVectorizedRuntimeError at line 162
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).nextAdapter at line 276
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).next at line 248
pkg/sql/colexec/colexecbase/simple_project.go in pkg/sql/colexec/colexecbase.(*simpleProjectOp).Next at line 114
pkg/sql/colexec/case.go in pkg/sql/colexec.(*caseOp).Next at line 193
pkg/sql/colexec/buffer.go in pkg/sql/colexec.(*bufferOp).advance at line 45
pkg/sql/colexec/colexecutils/operator.go in pkg/sql/colexec/colexecutils.(*BatchSchemaSubsetEnforcer).Next at line 223
pkg/sql/colexec/columnarizer.go in pkg/sql/colexec.(*Columnarizer).Next at line 244
pkg/sql/plan_node_to_row_source.go in pkg/sql.(*planNodeToRowSource).Next at line 232
pkg/sql/rowenc/encoded_datum.go in pkg/sql/rowenc.DatumToEncDatum at line 190
```

### Tags

| Tag | Value |
| --- | --- |
| Command | start-single-node |
| Environment | v26.3.1 |
| Go Version | go1.26.6 |
| Platform | linux amd64 |
| Distribution | CCL |
| Cockroach Release | v26.3.1 |
| Cockroach SHA | 3a0a7b8176595bd32687c34a2210e166c5535af4 |
| # of CPUs | 4 |
| # of Goroutines | 418 |

Jira issue: CRDB-68491

Contributor guide

Open the contributing guide

Research direction

Start at DatumToEncDatum in pkg/sql/rowenc/encoded_datum.go:190 and trace the COPY execution path through pkg/sql/copy_from.go. Inspect the listed SQL execution and vectorized execution files, then establish a regression test for the STRING versus collated STRING failure. Done means the reported assertion no longer occurs and the regression coverage passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, sql
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.