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

sentry: exec_factory_util.go:44: unexpected node type <nil> -- *errutil.leafError: unexpected node type <nil> (1) exec_factory_util.go:44: *withstack.withStack (top exception) *assert.withAssertionFailure conn_executor.go:506: *withstack.withStack (2) *safedetails.withSafeDetails: while executing: ALTER DATABASE _ OWNER TO _ (3) conn_executor.go:506: *withstack.withStack (4) (check the extra data payloads) #57556

Closed
cockroach-teamcity opened this issue Dec 4, 2020 · 1 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.

Comments

@cockroach-teamcity
Copy link
Member

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

Panic message:

exec_factory_util.go:44: unexpected node type
--
*errutil.leafError: unexpected node type (1)
exec_factory_util.go:44: *withstack.withStack (top exception)
*assert.withAssertionFailure
conn_executor.go:506: *withstack.withStack (2)
*safedetails.withSafeDetails: while executing: ALTER DATABASE _ OWNER TO _ (3)
conn_executor.go:506: *withstack.withStack (4)
(check the extra data payloads)

Stacktrace (expand for inline code snippets):

r := recover()
h.ex.closeWrapper(ctx, r)
}()
in pkg/sql.(*Server).ServeConn.func1
/usr/local/go/src/runtime/panic.go#L678-L680 in runtime.gopanic
default:
panic(errors.AssertionFailedf("unexpected node type %T", node))
}
in pkg/sql.constructPlan.func1
}
assignPlan(&res.main, root)
if len(subqueries) > 0 {
in pkg/sql.constructPlan
}
return constructPlan(ef.planner, root, subqueries, cascades, checks)
}
in pkg/sql.(*execFactory).ConstructPlan
var err error
p.WrappedPlan, err = f.wrappedFactory.ConstructPlan(
p.Root.WrappedNode(), wrappedSubqueries, wrappedCascades, wrappedChecks,
in pkg/sql/opt/exec/explain.(*Factory).ConstructPlan
}
return b.factory.ConstructPlan(plan.root, b.subqueries, b.cascades, b.checks)
}
in pkg/sql/opt/exec/execbuilder.(*Builder).Build
bld := execbuilder.New(explainFactory, mem, &opc.catalog, mem.RootExpr(), evalCtx, allowAutoCommit)
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
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
p.autoCommit = os.ImplicitTxn.Get() && !ex.server.cfg.TestingKnobs.DisableAutoCommit
if err := ex.dispatchToExecutionEngine(ctx, p, res); err != nil {
return nil, nil, err
in pkg/sql.(*connExecutor).execStmtInOpenState
} else {
ev, payload, err = ex.execStmtInOpenState(ctx, stmt, res, pinfo)
}
in pkg/sql.(*connExecutor).execStmt
stmtCtx := withStatement(ctx, ex.curStmt)
ev, payload, err = ex.execStmt(stmtCtx, curStmt, stmtRes, nil /* pinfo */)
return err
in pkg/sql.(*connExecutor).execCmd.func1
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(ex.Ctx()); 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
/usr/local/go/src/runtime/asm_amd64.s#L1356-L1358 in runtime.goexit

pkg/sql/conn_executor.go in pkg/sql.(*Server).ServeConn.func1 at line 506
/usr/local/go/src/runtime/panic.go in runtime.gopanic at line 679
pkg/sql/exec_factory_util.go in pkg/sql.constructPlan.func1 at line 44
pkg/sql/exec_factory_util.go in pkg/sql.constructPlan at line 47
pkg/sql/opt_exec_factory.go in pkg/sql.(*execFactory).ConstructPlan at line 1026
pkg/sql/opt/exec/explain/explain_factory.go in pkg/sql/opt/exec/explain.(*Factory).ConstructPlan at line 151
pkg/sql/opt/exec/execbuilder/builder.go in pkg/sql/opt/exec/execbuilder.(*Builder).Build at line 141
pkg/sql/plan_opt.go in pkg/sql.(*optPlanningCtx).runExecBuilder at line 581
pkg/sql/plan_opt.go in pkg/sql.(*planner).makeOptimizerPlan at line 265
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).makeExecPlan at line 901
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).dispatchToExecutionEngine at line 780
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmtInOpenState at line 639
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmt at line 114
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd.func1 at line 1465
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd at line 1467
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).run at line 1391
pkg/sql/conn_executor.go in pkg/sql.(*Server).ServeConn at line 508
pkg/sql/pgwire/conn.go in pkg/sql/pgwire.(*conn).processCommandsAsync.func1 at line 626
/usr/local/go/src/runtime/asm_amd64.s in runtime.goexit at line 1357
Tag Value
Cockroach Release v20.2.2
Cockroach SHA: 92d9495
Platform linux amd64
Distribution CCL
Environment v20.2.2
Command server
Go Version ``
# of CPUs
# of Goroutines
@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 Dec 4, 2020
@jordanlewis
Copy link
Member

Dupe of #56861

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.
Projects
None yet
Development

No branches or pull requests

2 participants