Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

archive/tar: TestSparseFiles failing on freebsd/arm, dragonfly, linux/arm64 & darwin/arm{,64} builders #21964

Closed
paulzhol opened this issue Sep 21, 2017 · 8 comments
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@paulzhol
Copy link
Member

CL http://golang.org/cl/60871 seems to break the TestSparseFiles on several builders.

freebsd/arm: https://build.golang.org/log/d5465c11f07a45a575e0d5f90edb93385976921d

##### Testing packages.
--- FAIL: TestSparseFiles (5.64s)
    --- FAIL: TestSparseFiles/EmptyFile (0.00s)
    	tar_test.go:887: unexpected DetectSparseHoles error: seek /tmp/170811634: inappropriate ioctl for device
    --- FAIL: TestSparseFiles/BigData (0.14s)
    	tar_test.go:887: unexpected DetectSparseHoles error: seek /tmp/453717748: inappropriate ioctl for device
    --- FAIL: TestSparseFiles/BigHole (0.11s)
    	tar_test.go:887: unexpected DetectSparseHoles error: seek /tmp/475467334: inappropriate ioctl for device
    --- FAIL: TestSparseFiles/DataFront (0.04s)
    	tar_test.go:887: unexpected DetectSparseHoles error: seek /tmp/640727400: inappropriate ioctl for device
    --- FAIL: TestSparseFiles/HoleFront (0.03s)
    	tar_test.go:887: unexpected DetectSparseHoles error: seek /tmp/680997594: inappropriate ioctl for device
    --- FAIL: TestSparseFiles/DataMiddle (0.03s)
    	tar_test.go:887: unexpected DetectSparseHoles error: seek /tmp/222536476: inappropriate ioctl for device
    --- FAIL: TestSparseFiles/HoleMiddle (0.03s)
    	tar_test.go:887: unexpected DetectSparseHoles error: seek /tmp/011264686: inappropriate ioctl for device
    --- FAIL: TestSparseFiles/Multiple (5.24s)
    	tar_test.go:887: unexpected DetectSparseHoles error: seek /tmp/866477072: inappropriate ioctl for device
2017/09/21 02:04:09 seek /tmp/sparse.db269341743: inappropriate ioctl for device
FAIL	archive/tar	6.561s

dragonfly: https://build.golang.org/log/7079bb8d9b5553d9ee6587560812df471af58a95

##### Testing packages.
--- FAIL: TestSparseFiles (1.11s)
    --- FAIL: TestSparseFiles/BigHole (0.01s)
    	tar_test.go:894: len(SparseHoles) = 0, want 1
    --- FAIL: TestSparseFiles/DataFront (0.01s)
    	tar_test.go:894: len(SparseHoles) = 0, want 1
    --- FAIL: TestSparseFiles/HoleFront (0.01s)
    	tar_test.go:894: len(SparseHoles) = 0, want 1
    --- FAIL: TestSparseFiles/DataMiddle (0.01s)
    	tar_test.go:894: len(SparseHoles) = 0, want 2
    --- FAIL: TestSparseFiles/HoleMiddle (0.01s)
    	tar_test.go:894: len(SparseHoles) = 0, want 1
    --- FAIL: TestSparseFiles/Multiple (1.07s)
    	tar_test.go:894: len(SparseHoles) = 0, want 100
FAIL
FAIL	archive/tar	1.307s

linux/arm64: https://build.golang.org/log/691dfacb6da3ff462aaa292d2bce151440408087

##### Testing packages.
--- FAIL: TestSparseFiles (1.18s)
    --- FAIL: TestSparseFiles/BigHole (0.01s)
    	tar_test.go:894: len(SparseHoles) = 0, want 1
    --- FAIL: TestSparseFiles/DataFront (0.01s)
    	tar_test.go:894: len(SparseHoles) = 0, want 1
    --- FAIL: TestSparseFiles/HoleFront (0.01s)
    	tar_test.go:894: len(SparseHoles) = 0, want 1
    --- FAIL: TestSparseFiles/DataMiddle (0.01s)
    	tar_test.go:894: len(SparseHoles) = 0, want 2
    --- FAIL: TestSparseFiles/HoleMiddle (0.01s)
    	tar_test.go:894: len(SparseHoles) = 0, want 1
    --- FAIL: TestSparseFiles/Multiple (1.10s)
    	tar_test.go:894: len(SparseHoles) = 0, want 100
FAIL
FAIL	archive/tar	1.456s

darwin/arm: https://build.golang.org/log/081b996733347f0034878dd469647683a3f62423

Process 211 exited with status = 1 (0x00000001) 
go_darwin_arm_exec: test timeout (test completion)
FAIL	archive/tar	417.943s
ok  	archive/zip	37.189s

darwin/arm64: https://build.golang.org/log/1c6312d2a564b04606e6b59c5f4fd2a3f2a8c5ed

Process 212 exited with status = 1 (0x00000001) 
go_darwin_arm_exec: test timeout (test completion)
FAIL	archive/tar	395.515s
ok  	archive/zip	26.254s
@mundaym
Copy link
Member

mundaym commented Sep 21, 2017

I think this is a duplicate of #21958.

@mundaym
Copy link
Member

mundaym commented Sep 21, 2017

Some of these failures look different though. Will CL 65191 fix all of these @dsnet?

@paulzhol
Copy link
Member Author

The inappropriate ioctl for device on freebsd/arm looks the same as the original report on darwin/amd64.
Not sure if len(SparseHoles) = 0, want 1 is caused by the same issue though.

@dsnet
Copy link
Member

dsnet commented Sep 21, 2017

freebsd/arm is a duplicate of #21958.
dragonfly and linux/arm64 probably indicate that the underlying FS doesn't support sparse files and I should just whitelist those.

The darwin errors are more surprising.

@gopherbot
Copy link

Change https://golang.org/cl/65270 mentions this issue: archive/tar: perform test for hole-detection on specific builders

@dsnet
Copy link
Member

dsnet commented Sep 21, 2017

It seems that the trybots don't run darwin-arm. I'll have to figure out a way to test that. That failure seems real.
All the others failures are just indicative of the underlying FS not supporting sparse files, for which CL 65191 and CL 65270 should address.

@dsnet dsnet self-assigned this Sep 21, 2017
gopherbot pushed a commit that referenced this issue Sep 21, 2017
The test for hole-detection is heavily dependent on whether the
OS and underlying FS provides support for it.
Even on Linux, which has support for SEEK_HOLE and SEEK_DATA,
the underlying filesystem may not have support for it.
In order to avoid an ever-changing game of whack-a-mole,
we whitelist the specific builders that we expect the test to pass on.

Updates #21964

Change-Id: I7334e8532c96cc346ea83aabbb81b719685ad7e5
Reviewed-on: https://go-review.googlesource.com/65270
Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
@dsnet dsnet added NeedsFix The path to resolution is known, but the work has not been done. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Sep 21, 2017
@dsnet dsnet added this to the Go1.10 milestone Sep 21, 2017
@dsnet
Copy link
Member

dsnet commented Sep 21, 2017

CL 65191 and CL 65270 have been submitted which should address everything except darwin-arm. Will investigate that when I get access to a builder.

@gopherbot gopherbot removed the NeedsFix The path to resolution is known, but the work has not been done. label Sep 21, 2017
@dsnet
Copy link
Member

dsnet commented Sep 21, 2017

Everything but darwin-arm is happy again on the dashboard. Closing this, and opening #21970 to track darwin-arm separately.

@dsnet dsnet closed this as completed Sep 21, 2017
@golang golang locked and limited conversation to collaborators Sep 21, 2018
@rsc rsc unassigned dsnet Jun 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

4 participants