Skip to content

Commit

Permalink
gocryptfs -speed: call testing.Init() to not panic
Browse files Browse the repository at this point in the history
Looks like I should have been calling testing.Init()
all along. From https://pkg.go.dev/testing#Init :

> Init is only needed when calling functions such as
> Benchmark without using "go test".

Panic only affected without_openssl builds and looks
like this:

  $ ./gocryptfs -speed
  gocryptfs v2.4.0-2-g8b1c4b0-dirty without_openssl; go-fuse v2.3.0; 2023-09-15 go1.21.1 linux/amd64
  cpu: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz; with AES acceleration
  AES-GCM-256-OpenSSL             panic: runtime error: invalid memory address or nil pointer dereference
  [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x5a5d20]

  goroutine 7 [running]:
  testing.(*common).decorate(0x40d625?, {0xc00001c150, 0x2a}, 0x830601?)
          testing/testing.go:772 +0xa0
  [...]

Fixes: #789
Relates-to: golang/go#62666
  • Loading branch information
rfjakob committed Sep 15, 2023
1 parent 7fff33a commit 3a65627
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions internal/speed/speed.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ func Run() {
{name: cryptocore.BackendXChaCha20Poly1305OpenSSL.String(), f: bStupidXchacha, preferred: stupidgcm.PreferOpenSSLXchacha20poly1305()},
{name: cryptocore.BackendXChaCha20Poly1305.String(), f: bXchacha20poly1305, preferred: !stupidgcm.PreferOpenSSLXchacha20poly1305()},
}
testing.Init()
for _, b := range bTable {
fmt.Printf("%-26s\t", b.name)
mbs := mbPerSec(testing.Benchmark(b.f))
Expand Down

0 comments on commit 3a65627

Please sign in to comment.