Skip to content

sentry: relational.go:110: column 201 not in input (1) assertion failure Wraps: (2) attached stack trace -- stack trace: | github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*execPlan).getNode... #92610

@cockroach-teamcity

Description

@cockroach-teamcity

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/3773717358/?referrer=webhooks_plugin

Panic message:

relational.go:110: column 201 not in input
(1) assertion failure
Wraps: (2) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*execPlan).getNodeColumnOrdinal
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:110
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).needProjection
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:2600
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).ensureColumns
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:2611
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildMutationInput
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/mutation.go:60
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildInsert
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/mutation.go:88
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:276
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).build
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/builder.go:234
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).Build
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/builder.go:194
| github.com/cockroachdb/cockroach/pkg/sql.(*optPlanningCtx).runExecBuilder
| github.com/cockroachdb/cockroach/pkg/sql/plan_opt.go:635
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).makeOptimizerPlan
| github.com/cockroachdb/cockroach/pkg/sql/plan_opt.go:291
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).makeExecPlan
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:1359
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).dispatchToExecutionEngine
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:1047
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmtInOpenState
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:692
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmt
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:144
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execPortal
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:232
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execCmd.func2
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1969
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execCmd
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1971
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).run
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1817
| github.com/cockroachdb/cockroach/pkg/sql.(*Server).ServeConn
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:763
| github.com/cockroachdb/cockroach/pkg/sql/pgwire.(*conn).processCommandsAsync.func1
| github.com/cockroachdb/cockroach/pkg/sql/pgwire/conn.go:727
| runtime.goexit
| GOROOT/src/runtime/asm_amd64.s:1581
Wraps: (3) column 201 not in input
Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.leafError
-- report composition:
*errutil.leafError: column 201 not in input
relational.go:110: *withstack.withStack (top exception)
*assert.withAssertionFailure

Stacktrace (expand for inline code snippets):

if !ok {
panic(errors.AssertionFailedf("column %d not in input", redact.Safe(col)))
}
in pkg/sql/opt/exec/execbuilder.(*execPlan).getNodeColumnOrdinal
if col != 0 {
cols = append(cols, input.getNodeColumnOrdinal(col))
}
in pkg/sql/opt/exec/execbuilder.(*Builder).needProjection
) (execPlan, error) {
cols, needProj := b.needProjection(input, colList)
if !needProj {
in pkg/sql/opt/exec/execbuilder.(*Builder).ensureColumns
input, err = b.ensureColumns(input, colList, inputExpr.ProvidedPhysical().Ordering)
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).buildMutationInput
colList = appendColsWhenPresent(colList, ins.PartialIndexPutCols)
input, err := b.buildMutationInput(ins, ins.Input, colList, &ins.MutationPrivate)
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).buildInsert
case *memo.InsertExpr:
ep, err = b.buildInsert(t)
in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
return b.buildRelational(rel)
}
in pkg/sql/opt/exec/execbuilder.(*Builder).build
func (b *Builder) Build() (_ exec.Plan, err error) {
plan, err := b.build(b.e)
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).Build
)
plan, err := bld.Build()
if err != nil {
in pkg/sql.(*optPlanningCtx).runExecBuilder
// If we got here, we did not create a plan above.
return opc.runExecBuilder(
&p.curPlan,
in pkg/sql.(*planner).makeOptimizerPlan
func (ex *connExecutor) makeExecPlan(ctx context.Context, planner *planner) error {
if err := planner.makeOptimizerPlan(ctx); err != nil {
log.VEventf(ctx, 1, "optimizer plan failed: %v", err)
in pkg/sql.(*connExecutor).makeExecPlan
// between here and there needs to happen even if there's an error.
err := ex.makeExecPlan(ctx, planner)
// We'll be closing the plan manually below after execution; this
in pkg/sql.(*connExecutor).dispatchToExecutionEngine
if err := ex.dispatchToExecutionEngine(stmtCtx, p, res); err != nil {
stmtThresholdSpan.Finish()
in pkg/sql.(*connExecutor).execStmtInOpenState
} else {
ev, payload, err = ex.execStmtInOpenState(ctx, parserStmt, prepared, pinfo, res, canAutoCommit)
}
in pkg/sql.(*connExecutor).execStmt
}
ev, payload, err = ex.execStmt(ctx, portal.Stmt.Statement, portal.Stmt, pinfo, stmtRes, canAutoCommit)
// Portal suspension is supported via a "side" state machine
in pkg/sql.(*connExecutor).execPortal
canAutoCommit := ex.implicitTxn() && tcmd.FollowedBySync
ev, payload, err = ex.execPortal(ctx, portal, portalName, stmtRes, pinfo, canAutoCommit)
return err
in pkg/sql.(*connExecutor).execCmd.func2
return err
}()
// Note: we write to ex.statsCollector.phaseTimes, instead of ex.phaseTimes,
in pkg/sql.(*connExecutor).execCmd
var err error
if err = ex.execCmd(); err != nil {
if errors.IsAny(err, io.EOF, errDrainingComplete) {
in pkg/sql.(*connExecutor).run
}()
return h.ex.run(ctx, s.pool, reserved, cancel)
}
in pkg/sql.(*Server).ServeConn
reservedOwned = false // We're about to pass ownership away.
retErr = sqlServer.ServeConn(ctx, connHandler, reserved, cancelConn)
}()
in pkg/sql/pgwire.(*conn).processCommandsAsync.func1
GOROOT/src/runtime/asm_amd64.s#L1580-L1582 in runtime.goexit

pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*execPlan).getNodeColumnOrdinal at line 110
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).needProjection at line 2600
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).ensureColumns at line 2611
pkg/sql/opt/exec/execbuilder/mutation.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildMutationInput at line 60
pkg/sql/opt/exec/execbuilder/mutation.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildInsert at line 88
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational at line 276
pkg/sql/opt/exec/execbuilder/builder.go in pkg/sql/opt/exec/execbuilder.(*Builder).build at line 234
pkg/sql/opt/exec/execbuilder/builder.go in pkg/sql/opt/exec/execbuilder.(*Builder).Build at line 194
pkg/sql/plan_opt.go in pkg/sql.(*optPlanningCtx).runExecBuilder at line 635
pkg/sql/plan_opt.go in pkg/sql.(*planner).makeOptimizerPlan at line 291
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).makeExecPlan at line 1359
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).dispatchToExecutionEngine at line 1047
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmtInOpenState at line 692
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmt at line 144
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execPortal at line 232
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd.func2 at line 1969
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd at line 1971
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).run at line 1817
pkg/sql/conn_executor.go in pkg/sql.(*Server).ServeConn at line 763
pkg/sql/pgwire/conn.go in pkg/sql/pgwire.(*conn).processCommandsAsync.func1 at line 727
GOROOT/src/runtime/asm_amd64.s in runtime.goexit at line 1581
Tag Value
Cockroach Release v22.1.6
Cockroach SHA: 760a825
Platform linux amd64
Distribution CCL
Environment v22.1.6
Command server
Go Version ``
# of CPUs
# of Goroutines

Jira issue: CRDB-21883

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.O-sentryOriginated from an in-the-wild panic report.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions