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: *barriers.barrierError catch.go:29: *withstack.withStack (top exception) *assert.withAssertionFailure #58927

Closed
cockroach-teamcity opened this issue Jan 13, 2021 · 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/2149649028/?referrer=webhooks_plugin

Panic message:

*barriers.barrierError
catch.go:29: *withstack.withStack (top exception)
*assert.withAssertionFailure

Stacktrace (expand for inline code snippets):

// get reported to Sentry.
err = errors.HandleAsAssertionFailure(err)
}
in pkg/util/errorutil.ShouldCatch
// manipulate locks.
if ok, e := errorutil.ShouldCatch(r); ok {
err = e
in pkg/sql/opt/optbuilder.(*Builder).Build.func1
/usr/local/go/src/runtime/panic.go#L678-L680 in runtime.gopanic
/usr/local/go/src/runtime/panic.go#L198-L200 in runtime.panicmem
/usr/local/go/src/runtime/signal_unix.go#L393-L395 in runtime.sigpanic
switch {
case desc.Dropped() && !flags.IncludeDropped:
return NewInactiveDescriptorError(ErrDescriptorDropped)
in pkg/sql/catalog.FilterDescriptorState
// OFFLINE if the relevant flag is set.
if err := catalog.FilterDescriptorState(desc, flags.CommonLookupFlags); err != nil {
if flags.Required {
in pkg/sql/catalog/catalogkv.UncachedPhysicalAccessor.GetObjectDesc
phyAccessor := catalogkv.UncachedPhysicalAccessor{}
return phyAccessor.GetObjectDesc(
ctx,
in pkg/sql/catalog/descs.(*Collection).getObjectVersion.func1
if avoidCache {
return readObjectFromStore()
}
in pkg/sql/catalog/descs.(*Collection).getObjectVersion
) (*tabledesc.Immutable, error) {
desc, err := tc.getObjectVersion(ctx, txn, tn, flags)
if err != nil {
in pkg/sql/catalog/descs.(*Collection).GetTableVersion
}
table, err := a.tc.GetTableVersion(ctx, txn, &a.tableName, flags)
if table == nil {
in pkg/sql/catalog/accessors.(*CachedPhysicalAccessor).GetObjectDesc
// Fallthrough.
return l.Accessor.GetObjectDesc(ctx, txn, settings, codec, db, schema, object, flags)
}
in pkg/sql/catalog/accessors.(*LogicalSchemaAccessor).GetObjectDesc
lookupFlags.CommonLookupFlags.AvoidCached = p.avoidCachedDescriptors
objDesc, err := sc.GetObjectDesc(ctx, p.txn, p.ExecCfg().Settings, p.ExecCfg().Codec, dbName, scName, tbName, lookupFlags)
in pkg/sql.(*planner).LookupObject
for next, ok := iter.Next(); ok; next, ok = iter.Next() {
if found, objMeta, err := r.LookupObject(ctx, lookupFlags, curDb, next, u.Object()); found || err != nil {
if err == nil {
in pkg/sql/sem/tree.ResolveExisting
) (res tree.NameResolutionResult, prefix tree.ObjectNamePrefix, err error) {
found, prefix, descI, err := tree.ResolveExisting(ctx, un, sc, lookupFlags, sc.CurrentDatabase(), sc.CurrentSearchPath())
if err != nil {
in pkg/sql/catalog/resolver.ResolveExistingObject
un := tn.ToUnresolvedObjectName()
desc, prefix, err := ResolveExistingObject(ctx, sc, un, lookupFlags)
if err != nil || desc == nil {
in pkg/sql/catalog/resolver.ResolveExistingTableObject
lflags := tree.ObjectLookupFlagsWithRequiredTableKind(tree.ResolveAnyTableKind)
desc, err := resolver.ResolveExistingTableObject(ctx, oc.planner, &oc.tn, lflags)
if err != nil {
in pkg/sql.(*optCatalog).ResolveDataSource
tn := name.ToTableName()
dataSource, resName, err := d.catalog.ResolveDataSource(d.ctx, flags, &tn)
if err != nil {
in pkg/sql/delegate.(*delegator).showTableDetails
return d.showTableDetails(n.Name, showCreateQuery)
}
in pkg/sql/delegate.(*delegator).delegateShowCreate
case *tree.ShowCreate:
return d.delegateShowCreate(t)
in pkg/sql/delegate.TryDelegate
// delegate functionality.
newStmt, err := delegate.TryDelegate(b.ctx, b.catalog, b.evalCtx, stmt)
if err != nil {
in pkg/sql/opt/optbuilder.(*Builder).buildStmt
return b.buildStmt(stmt, desiredTypes, inScope)
}
in pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRoot
// and physical properties.
outScope := b.buildStmtAtRoot(b.stmt, nil /* desiredTypes */, b.allocScope())
in pkg/sql/opt/optbuilder.(*Builder).Build
bld := optbuilder.New(ctx, &p.semaCtx, p.EvalContext(), &opc.catalog, f, opc.p.stmt.AST)
if err := bld.Build(); err != nil {
return nil, err
in pkg/sql.(*optPlanningCtx).buildExecMemo
execMemo, err := opc.buildExecMemo(ctx)
if err != nil {
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

pkg/util/errorutil/catch.go in pkg/util/errorutil.ShouldCatch at line 29
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).Build.func1 at line 165
/usr/local/go/src/runtime/panic.go in runtime.gopanic at line 679
/usr/local/go/src/runtime/panic.go in runtime.panicmem at line 199
/usr/local/go/src/runtime/signal_unix.go in runtime.sigpanic at line 394
pkg/sql/catalog/descriptor.go in pkg/sql/catalog.FilterDescriptorState at line 204
pkg/sql/catalog/catalogkv/physical_accessor.go in pkg/sql/catalog/catalogkv.UncachedPhysicalAccessor.GetObjectDesc at line 320
pkg/sql/catalog/descs/collection.go in pkg/sql/catalog/descs.(*Collection).getObjectVersion.func1 at line 783
pkg/sql/catalog/descs/collection.go in pkg/sql/catalog/descs.(*Collection).getObjectVersion at line 852
pkg/sql/catalog/descs/collection.go in pkg/sql/catalog/descs.(*Collection).GetTableVersion at line 760
pkg/sql/catalog/accessors/physical_schema_accessors.go in pkg/sql/catalog/accessors.(*CachedPhysicalAccessor).GetObjectDesc at line 132
pkg/sql/catalog/accessors/logical_schema_accessors.go in pkg/sql/catalog/accessors.(*LogicalSchemaAccessor).GetObjectDesc at line 136
pkg/sql/resolver.go in pkg/sql.(*planner).LookupObject at line 209
pkg/sql/sem/tree/name_resolution.go in pkg/sql/sem/tree.ResolveExisting at line 337
pkg/sql/catalog/resolver/resolver.go in pkg/sql/catalog/resolver.ResolveExistingObject at line 153
pkg/sql/catalog/resolver/resolver.go in pkg/sql/catalog/resolver.ResolveExistingTableObject at line 90
pkg/sql/opt_catalog.go in pkg/sql.(*optCatalog).ResolveDataSource at line 207
pkg/sql/delegate/show_table.go in pkg/sql/delegate.(*delegator).showTableDetails at line 182
pkg/sql/delegate/show_table.go in pkg/sql/delegate.(*delegator).delegateShowCreate at line 50
pkg/sql/delegate/delegate.go in pkg/sql/delegate.TryDelegate at line 53
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).buildStmt at line 328
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRoot at line 229
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).Build at line 200
pkg/sql/plan_opt.go in pkg/sql.(*optPlanningCtx).buildExecMemo at line 512
pkg/sql/plan_opt.go in pkg/sql.(*planner).makeOptimizerPlan at line 195
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
Tag Value
Cockroach Release v20.2.3
Cockroach SHA: 89dd2d1
Platform linux amd64
Distribution CCL
Environment v20.2.3
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 Jan 13, 2021
@yuzefovich
Copy link
Member

dup of #57639

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