-
Notifications
You must be signed in to change notification settings - Fork 4.1k
sql: v22.1.1: unexpected type *tree.DEnum for key value with jsonb_build_object #84368
Description
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/3423641475/?referrer=webhooks_plugin
Panic message:
builtins.go:9176: jsonb_build_object(): unexpected type *tree.DEnum for key value
(1)
Wraps: (2) keys: [jsonb_build_object()]
Wraps: (3) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree.(*FuncExpr).MaybeWrapError
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree/eval.go:4354
| [...repeated from below...]
Wraps: (4) jsonb_build_object()
Wraps: (5) assertion failure
Wraps: (6) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql/sem/builtins.asJSONBuildObjectKey
| github.com/cockroachdb/cockroach/pkg/sql/sem/builtins/builtins.go:9176
| github.com/cockroachdb/cockroach/pkg/sql/sem/builtins.glob..func227
| github.com/cockroachdb/cockroach/pkg/sql/sem/builtins/builtins.go:7630
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*defaultBuiltinFuncOperator).Next.func1
| github.com/cockroachdb/cockroach/pkg/sql/colexec/builtin_funcs.go:80
| github.com/cockroachdb/cockroach/pkg/sql/colmem.(*Allocator).PerformOperation
| github.com/cockroachdb/cockroach/pkg/sql/colmem/allocator.go:301
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*defaultBuiltinFuncOperator).Next
| github.com/cockroachdb/cockroach/pkg/sql/colexec/builtin_funcs.go:58
| github.com/cockroachdb/cockroach/pkg/sql/colexec/colexecbase.(*simpleProjectOp).Next
| github.com/cockroachdb/cockroach/pkg/sql/colexec/colexecbase/simple_project.go:125
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*batchInfoCollector).next
| github.com/cockroachdb/cockroach/pkg/sql/colflow/stats.go:99
| github.com/cockroachdb/cockroach/pkg/sql/colexecerror.CatchVectorizedRuntimeError
| github.com/cockroachdb/cockroach/pkg/sql/colexecerror/error.go:91
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*batchInfoCollector).Next
| github.com/cockroachdb/cockroach/pkg/sql/colflow/stats.go:107
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*BatchFlowCoordinator).nextAdapter
| github.com/cockroachdb/cockroach/pkg/sql/colflow/flow_coordinator.go:240
| github.com/cockroachdb/cockroach/pkg/sql/colexecerror.CatchVectorizedRuntimeError
| github.com/cockroachdb/cockroach/pkg/sql/colexecerror/error.go:91
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*BatchFlowCoordinator).next
| github.com/cockroachdb/cockroach/pkg/sql/colflow/flow_coordinator.go:244
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*BatchFlowCoordinator).Run
| github.com/cockroachdb/cockroach/pkg/sql/colflow/flow_coordinator.go:287
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*vectorizedFlow).Run
| github.com/cockroachdb/cockroach/pkg/sql/colflow/vectorized_flow.go:260
| github.com/cockroachdb/cockroach/pkg/sql.(*DistSQLPlanner).Run
| github.com/cockroachdb/cockroach/pkg/sql/distsql_running.go:597
| github.com/cockroachdb/cockroach/pkg/sql.(*DistSQLPlanner).PlanAndRun
| github.com/cockroachdb/cockroach/pkg/sql/distsql_running.go:1445
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execWithDistSQLEngine
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:1467
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).dispatchToExecutionEngine
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:1143
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmtInOpenState
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:686
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmt
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:143
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execPortal
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:231
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execCmd.func2
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1952
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execCmd
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1954
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).run
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1800
| github.com/cockroachdb/cockroach/pkg/sql.(*Server).ServeConn
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:748
| github.com/cockroachdb/cockroach/pkg/sql/pgwire.(*conn).processCommandsAsync.func1
| github.com/cockroachdb/cockroach/pkg/sql/pgwire/conn.go:724
| runtime.goexit
| GOROOT/src/runtime/asm_amd64.s:1581
Wraps: (7) unexpected type *tree.DEnum for key value
Error types: (1) *colexecerror.notInternalError (2) *telemetrykeys.withTelemetry (3) *withstack.withStack (4) *errutil.withPrefix (5) *assert.withAssertionFailure (6) *withstack.withStack (7) *errutil.leafError
-- report composition:
*errutil.leafError: unexpected type *tree.DEnum for key value
builtins.go:9176: *withstack.withStack (top exception)
*assert.withAssertionFailure
*errutil.withPrefix: jsonb_build_object()
eval.go:4354: *withstack.withStack (1)
*telemetrykeys.withTelemetry: jsonb_build_object()
*colexecerror.notInternalError
(check the extra data payloads)
Stacktrace (expand for inline code snippets):
cockroach/pkg/sql/sem/tree/eval.go
Lines 4353 to 4355 in 242d13b
| // Otherwise, wrap it with context. | |
| newErr := errors.Wrapf(err, "%s()", errors.Safe(fName)) | |
| // Count function errors as it flows out of the system. We need to handle |
cockroach/pkg/sql/colexec/builtin_funcs.go
Lines 81 to 83 in 242d13b
| if err != nil { | |
| colexecerror.ExpectedError(b.funcExpr.MaybeWrapError(err)) | |
| } |
cockroach/pkg/sql/colmem/allocator.go
Lines 300 to 302 in 242d13b
| // caused by this approach is ok. | |
| operation() | |
| after := getVecsMemoryFootprint(destVecs) |
cockroach/pkg/sql/colexec/builtin_funcs.go
Lines 57 to 59 in 242d13b
| } | |
| b.allocator.PerformOperation( | |
| []coldata.Vec{output}, |
cockroach/pkg/sql/colexec/colexecbase/simple_project.go
Lines 124 to 126 in 242d13b
| func (d *simpleProjectOp) Next() coldata.Batch { | |
| batch := d.Input.Next() | |
| if batch.Length() == 0 { |
cockroach/pkg/sql/colflow/stats.go
Lines 98 to 100 in 242d13b
| func (bic *batchInfoCollector) next() { | |
| bic.batch = bic.Operator.Next() | |
| } |
cockroach/pkg/sql/colexecerror/error.go
Lines 90 to 92 in 242d13b
| }() | |
| operation() | |
| return retErr |
cockroach/pkg/sql/colflow/stats.go
Lines 106 to 108 in 242d13b
| // execution time (e.g. in the statement bundle). | |
| err := colexecerror.CatchVectorizedRuntimeError(bic.next) | |
| bic.stopwatch.Stop() |
cockroach/pkg/sql/colflow/flow_coordinator.go
Lines 239 to 241 in 242d13b
| func (f *BatchFlowCoordinator) nextAdapter() { | |
| f.batch = f.input.Root.Next() | |
| } |
cockroach/pkg/sql/colexecerror/error.go
Lines 90 to 92 in 242d13b
| }() | |
| operation() | |
| return retErr |
cockroach/pkg/sql/colflow/flow_coordinator.go
Lines 243 to 245 in 242d13b
| func (f *BatchFlowCoordinator) next() error { | |
| return colexecerror.CatchVectorizedRuntimeError(f.nextAdapter) | |
| } |
cockroach/pkg/sql/colflow/flow_coordinator.go
Lines 286 to 288 in 242d13b
| for status == execinfra.NeedMoreRows { | |
| err := f.next() | |
| if err != nil { |
cockroach/pkg/sql/colflow/vectorized_flow.go
Lines 259 to 261 in 242d13b
| log.VEvent(ctx, 1, "running the batch flow coordinator in the flow's goroutine") | |
| f.batchFlowCoordinator.Run(ctx) | |
| } |
cockroach/pkg/sql/distsql_running.go
Lines 596 to 598 in 242d13b
| // TODO(radu): this should go through the flow scheduler. | |
| flow.Run(ctx, func() {}) | |
cockroach/pkg/sql/distsql_running.go
Lines 1444 to 1446 in 242d13b
| recv.expectedRowsRead = int64(physPlan.TotalEstimatedScannedRows) | |
| runCleanup := dsp.Run(ctx, planCtx, txn, physPlan, recv, evalCtx, nil /* finishedSetupFn */) | |
| return func() { |
cockroach/pkg/sql/conn_executor_exec.go
Lines 1466 to 1468 in 242d13b
| // the planner whether or not to plan remote table readers. | |
| cleanup := ex.server.cfg.DistSQLPlanner.PlanAndRun( | |
| ctx, evalCtx, planCtx, planner.txn, planner.curPlan.main, recv, |
cockroach/pkg/sql/conn_executor_exec.go
Lines 1142 to 1144 in 242d13b
| ex.sessionTracing.TraceExecStart(ctx, "distributed") | |
| stats, err := ex.execWithDistSQLEngine( | |
| ctx, planner, stmt.AST.StatementReturnType(), res, distribute, progAtomic, |
cockroach/pkg/sql/conn_executor_exec.go
Lines 685 to 687 in 242d13b
| if err := ex.dispatchToExecutionEngine(stmtCtx, p, res); err != nil { | |
| stmtThresholdSpan.Finish() |
cockroach/pkg/sql/conn_executor_exec.go
Lines 142 to 144 in 242d13b
| } else { | |
| ev, payload, err = ex.execStmtInOpenState(ctx, parserStmt, prepared, pinfo, res, canAutoCommit) | |
| } |
cockroach/pkg/sql/conn_executor_exec.go
Lines 230 to 232 in 242d13b
| } | |
| ev, payload, err = ex.execStmt(ctx, portal.Stmt.Statement, portal.Stmt, pinfo, stmtRes, canAutoCommit) | |
| // Portal suspension is supported via a "side" state machine |
cockroach/pkg/sql/conn_executor.go
Lines 1951 to 1953 in 242d13b
| canAutoCommit := ex.implicitTxn() && tcmd.FollowedBySync | |
| ev, payload, err = ex.execPortal(ctx, portal, portalName, stmtRes, pinfo, canAutoCommit) | |
| return err |
cockroach/pkg/sql/conn_executor.go
Lines 1953 to 1955 in 242d13b
| return err | |
| }() | |
| // Note: we write to ex.statsCollector.phaseTimes, instead of ex.phaseTimes, |
cockroach/pkg/sql/conn_executor.go
Lines 1799 to 1801 in 242d13b
| var err error | |
| if err = ex.execCmd(); err != nil { | |
| if errors.IsAny(err, io.EOF, errDrainingComplete) { |
cockroach/pkg/sql/conn_executor.go
Lines 747 to 749 in 242d13b
| }() | |
| return h.ex.run(ctx, s.pool, reserved, cancel) | |
| } |
cockroach/pkg/sql/pgwire/conn.go
Lines 723 to 725 in 242d13b
| reservedOwned = false // We're about to pass ownership away. | |
| retErr = sqlServer.ServeConn(ctx, connHandler, reserved, cancelConn) | |
| }() |
GOROOT/src/runtime/asm_amd64.s#L1580-L1582 in runtime.goexit
pkg/sql/sem/tree/eval.go in pkg/sql/sem/tree.(*FuncExpr).MaybeWrapError at line 4354
pkg/sql/colexec/builtin_funcs.go in pkg/sql/colexec.(*defaultBuiltinFuncOperator).Next.func1 at line 82
pkg/sql/colmem/allocator.go in pkg/sql/colmem.(*Allocator).PerformOperation at line 301
pkg/sql/colexec/builtin_funcs.go in pkg/sql/colexec.(*defaultBuiltinFuncOperator).Next at line 58
pkg/sql/colexec/colexecbase/simple_project.go in pkg/sql/colexec/colexecbase.(*simpleProjectOp).Next at line 125
pkg/sql/colflow/stats.go in pkg/sql/colflow.(*batchInfoCollector).next at line 99
pkg/sql/colexecerror/error.go in pkg/sql/colexecerror.CatchVectorizedRuntimeError at line 91
pkg/sql/colflow/stats.go in pkg/sql/colflow.(*batchInfoCollector).Next at line 107
pkg/sql/colflow/flow_coordinator.go in pkg/sql/colflow.(*BatchFlowCoordinator).nextAdapter at line 240
pkg/sql/colexecerror/error.go in pkg/sql/colexecerror.CatchVectorizedRuntimeError at line 91
pkg/sql/colflow/flow_coordinator.go in pkg/sql/colflow.(*BatchFlowCoordinator).next at line 244
pkg/sql/colflow/flow_coordinator.go in pkg/sql/colflow.(*BatchFlowCoordinator).Run at line 287
pkg/sql/colflow/vectorized_flow.go in pkg/sql/colflow.(*vectorizedFlow).Run at line 260
pkg/sql/distsql_running.go in pkg/sql.(*DistSQLPlanner).Run at line 597
pkg/sql/distsql_running.go in pkg/sql.(*DistSQLPlanner).PlanAndRun at line 1445
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execWithDistSQLEngine at line 1467
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).dispatchToExecutionEngine at line 1143
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmtInOpenState at line 686
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmt at line 143
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execPortal at line 231
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd.func2 at line 1952
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd at line 1954
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).run at line 1800
pkg/sql/conn_executor.go in pkg/sql.(*Server).ServeConn at line 748
pkg/sql/pgwire/conn.go in pkg/sql/pgwire.(*conn).processCommandsAsync.func1 at line 724
GOROOT/src/runtime/asm_amd64.s in runtime.goexit at line 1581
| Tag | Value |
|---|---|
| Cockroach Release | v22.1.1 |
| Cockroach SHA: | 242d13b |
| Platform | linux amd64 |
| Distribution | CCL |
| Environment | v22.1.1 |
| Command | mt start-sql |
| Go Version | `` |
| # of CPUs | |
| # of Goroutines |
Jira issue: CRDB-17619
Metadata
Metadata
Assignees
Labels
Type
Projects
Status