Skip to content

log: prevent deadlock on error when multiple critical errors go to the same buffered sink #72454

@knz

Description

@knz

This is follow up work to #70330.

This is a likely bug identified in (*bufferSink) accumulator(): when multiple logging calls require a synchronous output concurrently, the errorCh field is overwritten in a data race and can cause a deadlock for the log calls waiting for their error.

Epic CRDB-6669

Jira issue: CRDB-11162

Metadata

Metadata

Assignees

Labels

A-loggingIn and around the logging infrastructure.C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions