all goroutines are asleep - deadlock
kung-foo opened this issue · 4 comments
kung-foo commented
$ s2d -verify backfill-2024-01-20-part1.tsv.s2
Decompressing backfill-2024-01-20-part1.tsv.s2 -> (verify)fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan receive]:
A8bLpkf9.(*ZTAjQ8Mt1sN).DecodeConcurrent(0xc0000c4a00, {0x70f6c0?, 0x95b7c0}, 0x400000?)
VfKozfd0P.go:4 +0xbf3
main.main.func2(0xc000092e70, {0x69afa0, 0x8}, 0x0, 0x0, 0x0, 0xc0000c4a00)
i1KAe4bJ0v.go:1 +0xa9d
main.main()
OuTLN3Athff.go:4 +0x10d9
goroutine 6 [select]:
SKLy2Y0xu9.(*oz9lVfO4HX).lJlFJs.func1()
nzSkYK29lib.go:4 +0x105
created by SKLy2Y0xu9.(*oz9lVfO4HX).lJlFJs in goroutine 1
yC74qrhkyO3u.go:4 +0x2ba
goroutine 7 [chan receive]:
A8bLpkf9.(*ZTAjQ8Mt1sN).DecodeConcurrent.func3()
S235yXH9.go:3 +0x118
created by A8bLpkf9.(*ZTAjQ8Mt1sN).DecodeConcurrent in goroutine 1
dQoqsu.go:2 +0x4ac
$ dpkg-deb --info s2_package__linux_amd64.deb
new Debian package, version 2.0.
size 14053886 bytes: control archive=412 bytes.
1 bytes, 0 lines conffiles
231 bytes, 9 lines control
145 bytes, 3 lines md5sums
Package: compress
Version: 1.17.5
Section:
Priority: optional
Architecture: amd64
Maintainer: Klaus Post <klauspost@gmail.com>
Installed-Size: 22152
Homepage: https://github.com/klauspost/compress
Description: S2 Compression Tool
I don't have a shareable reproducer since the file above contains customer data.
klauspost commented
@kung-foo Is this is a regression, or does it happen on older versions? Does adding --cpu=10
change this?
kung-foo commented
Looks to happen on older versions as well. Tried v1.17.4 and v1.16.7. cpu=10 or cpu=1 had no effect.
Weirdly if I go install ...
it (latest) then the command just hangs
klauspost commented
Ok! I will dig a bit deeper! Thanks for the report and double checking!
klauspost commented
Got it reproduced. Will send a fix!