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

runtime: finalizer did not run #19805

Closed
cherrymui opened this issue Mar 31, 2017 · 8 comments

Comments

Projects
None yet
6 participants
@cherrymui
Copy link
Contributor

commented Mar 31, 2017

After CL https://go-review.googlesource.com/c/37520/ checked in, there are a couple of failures on the build dashboard. The failures are mostly related to finalizers, but may also include others like wrong number of goroutines. For example:

--- FAIL: TestStackGrowth (20.69s)
	stack_test.go:114: finalizer did not run
--- FAIL: TestEmptySlice (4.06s)
	mfinal_test.go:185: finalizer of next object in memory didn't run
--- FAIL: TestEmptyString (4.06s)
	mfinal_test.go:217: finalizer of next string in memory didn't run
--- FAIL: TestNumGoroutine (0.05s)
	proc_test.go:382: NumGoroutine=10, but found 11 goroutines in stack dump: goroutine 127528 [running]:

The failure is sporadic.

linux-mips64le:
https://build.golang.org/log/0b5c6130c6b1662e36a7956577ec677c1b80d7d4
https://build.golang.org/log/bbd7a380874739987ab10150d325ba55123f0ad6
freebsd-arm:
https://build.golang.org/log/e06e99f7bb6d15834d3ced9cd62f490666a3531a
https://build.golang.org/log/2c63f9ced656ef095edabe6178298749fbac5cd1
plan9-386:
https://build.golang.org/log/c69f2dd74ebf3c7a571ca902bb66fde0f9a4bb81

The linux-mips64le builder is single core. I wonder whether the other two builders are also single core. Not sure whether this is related.

cc @aclements

@bradfitz bradfitz added this to the Go1.9 milestone Mar 31, 2017

@aclements

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

I think freebsd-arm is unrelated to CL 37520. It's been failing pretty regularly since mid-January (fdde7ba).

The other two look real. My hunch is that TestNumGoroutine is a cascade from the others. I don't have a hunch why the first three are failing.

No luck so far reproducing with GOMAXPROCS=2 numactl -C 0 stress -p 1 ./runtime.test -test.cpu=1,2,4 -test.short on linux/amd64. @cherrymui, is there a way I can access the linux/mips64le machine?

@cherrymui

This comment has been minimized.

Copy link
Contributor Author

commented Mar 31, 2017

@aclements, unfortunately my home router's port forwarding stopped working a few months ago... Maybe I can bring the machine on Monday. Let me know if any command I can try locally in the meantime.

@aclements

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

@cherrymui, it would be useful if you could run GOMAXPROCS=2 numactl -C 0 stress -p 1 ./runtime.test -test.cpu=1,2,4 -test.short just to see if that reproduces it. If it does, I can put together some debug patches.

@cherrymui

This comment has been minimized.

Copy link
Contributor Author

commented Mar 31, 2017

Ok, I'll try it this evening.

@benshi001

This comment has been minimized.

Copy link
Member

commented Apr 24, 2017

This bug also rises randomly on my raspberry pi 2. I have to set
line 114 of src/runtime/stack_test.go from
case <-time.After(20 * time.Second):
to
case <-time.After(30 * time.Second):

to avoid it.

@eliasnaur

This comment has been minimized.

Copy link
Contributor

commented Apr 27, 2017

This one happens frequently on the android/arm builder:

https://build.golang.org/log/c22a2ed235e51df8991d0439881eb626d8053ec9

I can reproduce it fairly quickly with

GOOS=android GOARCH=arm go test -short -cpu=1,2,4 runtime

is there anything I can do to help?

@eliasnaur

This comment has been minimized.

Copy link
Contributor

commented Apr 27, 2017

Increasing the timeout in stack_test.go:114 to 30 seconds or checking out 44ed88a (the parent of CL 37520) both make the problem go away.

@aclements

This comment has been minimized.

Copy link
Member

commented Jun 8, 2017

Closing as a dup of #19381. (But there's useful discussion here, which I've linked to and summarized from that issue.)

@aclements aclements closed this Jun 8, 2017

@golang golang locked and limited conversation to collaborators Jun 8, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.