Skip to content

Saw a panic during one test build of my application on @v2.0.6 #5225

@ajroetker

Description

@ajroetker

This is during some pretty mundane NewIndexedBatch followed by Sets, followed by a Commit. Haven't been able to reproduce.

fatal error: sync: unlock of unlocked mutex

goroutine 39 [running]:
internal/sync.fatal({0x102f14209?, 0x140001036c0?})
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/panic.go:1056 +0x20
internal/sync.(*Mutex).unlockSlow(0x1400017aea8, 0xffffffff)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/internal/sync/mutex.go:204 +0x38
internal/sync.(*Mutex).Unlock(...)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/internal/sync/mutex.go:198
sync.(*Mutex).Unlock(...)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/sync/mutex.go:65
panic({0x10310a660?, 0x14009d0c018?})
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/panic.go:783 +0x120
github.com/cockroachdb/pebble/v2.(*DB).rotateWAL(0x1400017ad88)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/db.go:2684 +0x324
github.com/cockroachdb/pebble/v2.(*DB).makeRoomForWrite(0x1400017ad88, 0x1400021e1e0)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/db.go:2559 +0x68
github.com/cockroachdb/pebble/v2.(*DB).commitWrite.func1(0x1400017ad88, 0x140000374d8, 0x14010880000?, 0x140000374d0)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/db.go:977 +0xb4
github.com/cockroachdb/pebble/v2.(*DB).commitWrite(0x1400017ad88, 0x1400021e1e0, 0x1400021e2e0, 0x1400021e338)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/db.go:979 +0x1b0
github.com/cockroachdb/pebble/v2.(*commitPipeline).prepare(0x1401348c000, 0x1400021e1e0, 0xa0?, 0x9f?)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/commit.go:468 +0x1a4
github.com/cockroachdb/pebble/v2.(*commitPipeline).Commit(0x1401348c000, 0x1400021e1e0, 0x1, 0x0)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/commit.go:317 +0xa8
github.com/cockroachdb/pebble/v2.(*DB).applyInternal(0x1400017ad88, 0x1400021e1e0, 0x1400002b980?, 0x0)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/db.go:878 +0x1ac
github.com/cockroachdb/pebble/v2.(*DB).Apply(...)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/db.go:807
github.com/cockroachdb/pebble/v2.(*Batch).Commit(...)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/batch.go:1491
...
goroutine 1 [chan receive]:
testing.(*T).Run(0x14000103180, {0x102f0b0df?, 0x14000185b38?}, 0x103183eb8)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/testing/testing.go:2005 +0x378
testing.runTests.func1(0x14000103180)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/testing/testing.go:2477 +0x38
testing.tRunner(0x14000103180, 0x14000185c68)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/testing/testing.go:1934 +0xc8
testing.runTests(0x14000141140, {0x10361e900, 0x16, 0x16}, {0x14000121900?, 0x7?, 0x103629fa0?})
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/testing/testing.go:2475 +0x3b8
testing.(*M).Run(0x14000262140)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/testing/testing.go:2337 +0x530
main.main()
	_testmain.go:105 +0x80

goroutine 38 [chan receive]:
testing.(*T).Run(0x14000103340, {0x140002700c0?, 0x1400006cec8?}, 0x14000236fc0)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/testing/testing.go:2005 +0x378
github.com/antflydb/antfly/lib/vectorindex.TestCalculateRecall(0x14000103340)
	/Users/ajroetker/go/src/github.com/antflydb/antfly/lib/vectorindex/index_test.go:247 +0xb28
testing.tRunner(0x14000103340, 0x103183eb8)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/testing/testing.go:1934 +0xc8
created by testing.(*T).Run in goroutine 1
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/testing/testing.go:1997 +0x364

goroutine 382 [chan receive]:
github.com/cockroachdb/pebble/v2.(*cleanupManager).mainLoop(0x1400c9b0630)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/obsolete_files.go:172 +0x100
github.com/cockroachdb/pebble/v2.openCleanupManager.func1.1({0x1031910d8?, 0x140000ae1b0?})
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/obsolete_files.go:96 +0x20
runtime/pprof.Do({0x103190f08?, 0x103651dc0?}, {{0x14000121860?, 0x1029a5f38?, 0xdd4?}}, 0x14009e94fb8)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/pprof/runtime.go:51 +0x78
github.com/cockroachdb/pebble/v2.openCleanupManager.func1()
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/obsolete_files.go:95 +0x54
created by github.com/cockroachdb/pebble/v2.openCleanupManager in goroutine 39
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/obsolete_files.go:94 +0x204

goroutine 383 [chan receive]:
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop.func1({0x1031910d8?, 0x140000ae180?})
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:399 +0x78
runtime/pprof.Do({0x103190f08?, 0x103651dc0?}, {{0x140001218a0?, 0x0?, 0x0?}}, 0x140007aaf98)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/pprof/runtime.go:51 +0x78
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop(0x0?)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:397 +0x50
created by github.com/cockroachdb/pebble/v2.(*tableCacheShard).init in goroutine 39
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:389 +0xdc

goroutine 384 [chan receive]:
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop.func1({0x1031910d8?, 0x140000ae210?})
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:399 +0x78
runtime/pprof.Do({0x103190f08?, 0x103651dc0?}, {{0x140001218a0?, 0x9cc000bc1ca0003a?, 0x854000bba700003d?}}, 0x14009e95f98)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/pprof/runtime.go:51 +0x78
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop(0xb16000bccf0000bc?)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:397 +0x50
created by github.com/cockroachdb/pebble/v2.(*tableCacheShard).init in goroutine 39
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:389 +0xdc

goroutine 385 [chan receive]:
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop.func1({0x1031910d8?, 0x140000ae1e0?})
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:399 +0x78
runtime/pprof.Do({0x103190f08?, 0x103651dc0?}, {{0x140001218a0?, 0x0?, 0x0?}}, 0x1400005df98)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/pprof/runtime.go:51 +0x78
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop(0x0?)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:397 +0x50
created by github.com/cockroachdb/pebble/v2.(*tableCacheShard).init in goroutine 39
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:389 +0xdc

goroutine 498 [chan receive]:
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop.func1({0x1031910d8?, 0x140000ae2d0?})
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:399 +0x78
runtime/pprof.Do({0x103190f08?, 0x103651dc0?}, {{0x140001218a0?, 0x0?, 0x0?}}, 0x1400005e798)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/pprof/runtime.go:51 +0x78
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop(0x0?)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:397 +0x50
created by github.com/cockroachdb/pebble/v2.(*tableCacheShard).init in goroutine 39
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:389 +0xdc

goroutine 499 [chan receive]:
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop.func1({0x1031910d8?, 0x14016077a70?})
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:399 +0x78
runtime/pprof.Do({0x103190f08?, 0x103651dc0?}, {{0x140001218a0?, 0x0?, 0x0?}}, 0x1400005ef98)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/pprof/runtime.go:51 +0x78
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop(0x0?)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:397 +0x50
created by github.com/cockroachdb/pebble/v2.(*tableCacheShard).init in goroutine 39
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:389 +0xdc

goroutine 500 [chan receive]:
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop.func1({0x1031910d8?, 0x140000ae270?})
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:399 +0x78
runtime/pprof.Do({0x103190f08?, 0x103651dc0?}, {{0x140001218a0?, 0x0?, 0x0?}}, 0x1400005f798)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/pprof/runtime.go:51 +0x78
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop(0x0?)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:397 +0x50
created by github.com/cockroachdb/pebble/v2.(*tableCacheShard).init in goroutine 39
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:389 +0xdc

goroutine 501 [chan receive]:
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop.func1({0x1031910d8?, 0x140000ae240?})
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:399 +0x78
runtime/pprof.Do({0x103190f08?, 0x103651dc0?}, {{0x140001218a0?, 0x0?, 0x0?}}, 0x1400005ff98)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/pprof/runtime.go:51 +0x78
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop(0x0?)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:397 +0x50
created by github.com/cockroachdb/pebble/v2.(*tableCacheShard).init in goroutine 39
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:389 +0xdc

goroutine 502 [chan receive]:
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop.func1({0x1031910d8?, 0x140000ae2a0?})
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:399 +0x78
runtime/pprof.Do({0x103190f08?, 0x103651dc0?}, {{0x140001218a0?, 0x0?, 0x0?}}, 0x14000107798)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/pprof/runtime.go:51 +0x78
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop(0x0?)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:397 +0x50
created by github.com/cockroachdb/pebble/v2.(*tableCacheShard).init in goroutine 39
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:389 +0xdc

goroutine 503 [chan receive]:
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop.func1({0x1031910d8?, 0x14016077aa0?})
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:399 +0x78
runtime/pprof.Do({0x103190f08?, 0x103651dc0?}, {{0x140001218a0?, 0x0?, 0x0?}}, 0x14000107f98)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/pprof/runtime.go:51 +0x78
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop(0x0?)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:397 +0x50
created by github.com/cockroachdb/pebble/v2.(*tableCacheShard).init in goroutine 39
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:389 +0xdc

goroutine 504 [chan receive]:
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop.func1({0x1031910d8?, 0x140000ae300?})
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:399 +0x78
runtime/pprof.Do({0x103190f08?, 0x103651dc0?}, {{0x140001218a0?, 0x14000049808?, 0x140001f1600?}}, 0x14000105f98)
	/opt/homebrew/Cellar/go/1.25.0/libexec/src/runtime/pprof/runtime.go:51 +0x78
github.com/cockroachdb/pebble/v2.(*tableCacheShard).releaseLoop(0x1400010c700?)
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:397 +0x50
created by github.com/cockroachdb/pebble/v2.(*tableCacheShard).init in goroutine 39
	/Users/ajroetker/go/pkg/mod/github.com/cockroachdb/pebble/[email protected]/table_cache.go:389 +0xdc
exit status 2

Jira issue: PEBBLE-1151

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions