-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
storage: v19.2.2: nil pointer in interval_btree #51913
Comments
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
Jul 27, 2020
yuzefovich
changed the title
sentry: panic.go:522: runtime.errorString: runtime error: invalid memory address or nil pointer dereference
storage: v19.2.2: nil pointer in interval_btree
Jul 27, 2020
This is coming from:
We already dereferenced
Given how few places manipulate |
nvanbenschoten
added a commit
to nvanbenschoten/cockroach
that referenced
this issue
Jul 27, 2020
In an effort to track down the bug that triggered cockroachdb#51913, this commit ports the randomized interval btree benchmarks to also be unit tests. This allows us to run invariant checks (see `btree.Verify`) on randomized tree configurations. Doing so revealed a violation of the `isUpperBoundCorrect` invariant. This was determined to be a bug in `node.removeMax`. When removing an item from a grandchild node, we were failing to adjust the upper bound of the child node. It doesn't look like this could cause user-visible effects because the upper bound of a subtree is only ever decreased on removal, so at worst, this caused searches in the tree to do more work than strictly necessary. Still, this is a good bug to fix and it's encouraging that the new randomized testing using the existing invariant validation caught it.
nvanbenschoten
added a commit
to nvanbenschoten/cockroach
that referenced
this issue
Aug 3, 2020
In an effort to track down the bug that triggered cockroachdb#51913, this commit ports the randomized interval btree benchmarks to also be unit tests. This allows us to run invariant checks (see `btree.Verify`) on randomized tree configurations. Doing so revealed a violation of the `isUpperBoundCorrect` invariant. This was determined to be a bug in `node.removeMax`. When removing an item from a grandchild node, we were failing to adjust the upper bound of the child node. It doesn't look like this could cause user-visible effects because the upper bound of a subtree is only ever decreased on removal, so at worst, this caused searches in the tree to do more work than strictly necessary. Still, this is a good bug to fix and it's encouraging that the new randomized testing using the existing invariant validation caught it.
craig bot
pushed a commit
that referenced
this issue
Aug 3, 2020
51865: sql: use the descs.Collection to access types during distributed flows r=rohany a=rohany This commit enables distributed queries to access user defined type metadata during flow setup via the lease manager, so that accesses to this metadata is cached and doesn't have to go through k/v on every access. This is achieved by giving the `FlowContext` a `descs.Collection` is used to access the descriptors through the lease manager. Release note: None 51939: interval/generic: improve randomized testing, fix upper bound bug r=nvanbenschoten a=nvanbenschoten In an effort to track down the bug that triggered #51913, this commit ports the randomized interval btree benchmarks to also be unit tests. This allows us to run invariant checks (see `btree.Verify`) on randomized tree configurations. Doing so revealed a violation of the `isUpperBoundCorrect` invariant. This was determined to be a bug in `node.removeMax`. When removing an item from a grandchild node, we were failing to adjust the upper bound of the child node. It doesn't look like this could cause user-visible effects because the upper bound of a subtree is only ever decreased on removal, so at worst, this caused searches in the tree to do more work than strictly necessary. Still, this is a good bug to fix and it's encouraging that the new randomized testing using the existing invariant validation caught it. 52090: sql: support ALTER TABLE SET SCHEMA command r=rohany a=RichardJCai sql: support ALTER TABLE SET SCHEMA command Release note (sql change): Added support for ALTER TABLE/SEQUENCE/VIEW SET SCHEMA to set the schema of the table to the target schema. One must have DROP privilege on the table and CREATE privilege on the schema to perform the operation. 52230: bulkio: Implement `SHOW SCHEDULES` r=miretskiy a=miretskiy Informs #51850 Informs #51600 Implement `SHOW SCHEDULES` statemen which displays the information on scheduled jobs. Display schedule information, optionally filtered by schedule state (paused or not) and optionally restricted just to the backup schedules: ``` SHOW [RUNNING|PAUSED] SCHEDULES [FOR BACKUP] ``` In addition, it is possible to display information for a specific schedule: ``` SHOW SCHEDULE 123 ``` Release Notes (enterprise change): `SHOW SCHEDULES` displays information about the scheduled jobs. Co-authored-by: Rohan Yadav <rohany@alumni.cmu.edu> Co-authored-by: Nathan VanBenschoten <nvanbenschoten@gmail.com> Co-authored-by: richardjcai <caioftherichard@gmail.com> Co-authored-by: Yevgeniy Miretskiy <yevgeniy@cockroachlabs.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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/1809303514/?referrer=webhooks_plugin
Panic message:
Stacktrace (expand for inline code snippets):
/usr/local/go/src/runtime/panic.go#L521-L523 in runtime.gopanic
cockroach/pkg/storage/store_send.go
Lines 111 to 113 in 3cbd056
/usr/local/go/src/runtime/panic.go#L521-L523 in runtime.gopanic
/usr/local/go/src/runtime/panic.go#L81-L83 in runtime.panicmem
/usr/local/go/src/runtime/signal_unix.go#L389-L391 in runtime.sigpanic
cockroach/pkg/storage/spanlatch/interval_btree.go
Lines 380 to 382 in 3cbd056
cockroach/pkg/storage/spanlatch/interval_btree.go
Lines 702 to 704 in 3cbd056
cockroach/pkg/storage/spanlatch/manager.go
Lines 289 to 291 in 3cbd056
cockroach/pkg/storage/spanlatch/manager.go
Lines 223 to 225 in 3cbd056
cockroach/pkg/storage/spanlatch/manager.go
Lines 203 to 205 in 3cbd056
cockroach/pkg/storage/replica.go
Lines 1262 to 1264 in 3cbd056
cockroach/pkg/storage/replica_write.go
Lines 89 to 91 in 3cbd056
cockroach/pkg/storage/replica.go
Lines 576 to 578 in 3cbd056
cockroach/pkg/storage/replica.go
Lines 524 to 526 in 3cbd056
cockroach/pkg/storage/store_send.go
Lines 227 to 229 in 3cbd056
cockroach/pkg/storage/stores.go
Lines 180 to 182 in 3cbd056
cockroach/pkg/server/node.go
Lines 924 to 926 in 3cbd056
cockroach/pkg/util/stop/stopper.go
Lines 299 to 301 in 3cbd056
cockroach/pkg/server/node.go
Lines 912 to 914 in 3cbd056
cockroach/pkg/server/node.go
Lines 950 to 952 in 3cbd056
cockroach/pkg/rpc/context.go
Lines 541 to 543 in 3cbd056
cockroach/pkg/kv/transport.go
Lines 198 to 200 in 3cbd056
cockroach/pkg/kv/transport.go
Lines 167 to 169 in 3cbd056
cockroach/pkg/kv/dist_sender.go
Lines 1675 to 1677 in 3cbd056
cockroach/pkg/kv/dist_sender.go
Lines 435 to 437 in 3cbd056
cockroach/pkg/kv/dist_sender.go
Lines 517 to 519 in 3cbd056
cockroach/pkg/kv/dist_sender.go
Lines 1446 to 1448 in 3cbd056
cockroach/pkg/kv/dist_sender.go
Lines 1364 to 1366 in 3cbd056
cockroach/pkg/util/stop/stopper.go
Lines 380 to 382 in 3cbd056
v19.2.2
go1.12.12
The text was updated successfully, but these errors were encountered: