Some Storage Driver Testsuite Benchmarks Panic
Steps to reproduce:
Follow the instructions for a minio test environment by following the instructions in docs-gitlab/storage-driver-integration-testing-guide.md
Then run the following command on the release/2.7-gitlab
branch:
go test -timeout 20m -v -cpuprofile profile.out github.com/docker/distribution/registry/storage/driver/s3-aws -args -check.v -check.b
Example output:
=== RUN Test
PASS: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1140: DriverSuite.BenchmarkDelete50Files 100 40584495 ns/op
PASS: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1135: DriverSuite.BenchmarkDelete5Files 100 10364168 ns/op
PASS: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1110: DriverSuite.BenchmarkList50Files 500 3955906 ns/op
PASS: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1105: DriverSuite.BenchmarkList5Files 1000 1287868 ns/op
----------------------------------------------------------------------
PANIC: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1035: DriverSuite.BenchmarkPutGet1GBFiles
... Panic: runtime error: slice bounds out of range [:1073741824] with capacity 134217728 (PC=0x430CF1)
/usr/local/go/src/runtime/panic.go:679
in gopanic
/usr/local/go/src/runtime/panic.go:93
in goPanicSliceAcap
/home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1300
in randomContents
/home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1049
in DriverSuite.benchmarkPutGetFiles
/home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1036
in DriverSuite.BenchmarkPutGet1GBFiles
/usr/local/go/src/reflect/value.go:321
in Value.Call
/usr/local/go/src/runtime/asm_amd64.s:1357
in goexit
----------------------------------------------------------------------
PASS: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1025: DriverSuite.BenchmarkPutGet1KBFiles 500 6027290 ns/op 0.17 MB/s
PASS: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1030: DriverSuite.BenchmarkPutGet1MBFiles 100 24048524 ns/op 43.60 MB/s
PASS: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1020: DriverSuite.BenchmarkPutGetEmptyFiles 500 7281473 ns/op
----------------------------------------------------------------------
PANIC: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1073: DriverSuite.BenchmarkStream1GBFiles
... Panic: runtime error: slice bounds out of range [:1073741824] with capacity 134217728 (PC=0x430CF1)
/usr/local/go/src/runtime/panic.go:679
in gopanic
/usr/local/go/src/runtime/panic.go:93
in goPanicSliceAcap
/home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1300
in randomContents
/home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1089
in DriverSuite.benchmarkStreamFiles
/home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1074
in DriverSuite.BenchmarkStream1GBFiles
/usr/local/go/src/reflect/value.go:321
in Value.Call
/usr/local/go/src/runtime/asm_amd64.s:1357
in goexit
----------------------------------------------------------------------
PASS: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1063: DriverSuite.BenchmarkStream1KBFiles 100 11898568 ns/op 0.09 MB/s
PASS: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1068: DriverSuite.BenchmarkStream1MBFiles 100 32994270 ns/op 31.78 MB/s
----------------------------------------------------------------------
FAIL: /home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1058: DriverSuite.BenchmarkStreamEmptyFiles
/home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1059:
suite.benchmarkStreamFiles(c, 0)
/home/hayley/go/src/github.com/docker/distribution/registry/storage/driver/testsuites/testsuites.go:1094:
c.Assert(err, check.IsNil)
... value s3.requestFailure = s3.requestFailure{RequestFailure:(*awserr.requestError)(0xc0085680c0), hostID:""} ("MalformedXML: The XML you provided was not well-formed or did not validate against our published schema.\n\tstatus code: 400, request id: 15DD3353A2AF6E47, host id: ")
OOPS: 9 passed, 1 FAILED, 2 PANICKED
--- FAIL: Test (54.47s)
=== RUN TestFromParameters
--- PASS: TestFromParameters (0.00s)
=== RUN TestEmptyRootList
--- PASS: TestEmptyRootList (0.01s)
=== RUN TestStorageClass
--- PASS: TestStorageClass (0.01s)
=== RUN TestOverThousandBlobs
--- PASS: TestOverThousandBlobs (4.75s)
=== RUN TestMoveWithMultipartCopy
--- PASS: TestMoveWithMultipartCopy (0.65s)
FAIL
FAIL github.com/docker/distribution/registry/storage/driver/s3-aws 60.285s
FAIL
~backstage Category:Container Registry devopspackage ~"group::package" ~bug golang test