-
Notifications
You must be signed in to change notification settings - Fork 18k
runtime: sigpanic during GC on android/arm64 #22204
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
Comments
Looks like all the crashes happen when indexing into Is this some sort of memory corruption? Lines 372 to 377 in 93322a5
Lines 383 to 392 in 93322a5
|
I found another crash report from golang1.8 which is slightly more interesting, but ultimately also happening when accessing heap spans. runtime.(*mheap).allocSpanLocked
|
CC @aclements @RLH |
Lines 542 to 555 in 93322a5
I wonder if that means the mmap is failing for some reason on android? |
I keep coming back to this issue and not making any progress. I just don't see how this can happen. @tmm1, do you happen to get (or can you get) core dumps from any of these? I'd love to see the memory map at the time of the crash. My initial hunch was that we needed a memory fence between mapping spans and updating I tried looking for patterns in the faulting addresses, but didn't turn up much. The heap layout should be:
Which means the first three faults correspond to
None of these are on any obvious boundaries. The good news is Go 1.11 almost certainly can't have this problem because I've completely rewritten all of the code involved (https://golang.org/cl/85887). |
Change https://golang.org/cl/85887 mentions this issue: |
What version of Go are you using (
go version
)?go1.9.1
What operating system and processor architecture are you using (
go env
)?android/arm64
What did you do?
I have a large golang server application that uses a variety of libraries, including some that use cgo. The app runs on many different platforms and is deployed on hundreds of different hardware and operating systems combinations.
On android/arm64 specifically, I see periodic crashes in the golang runtime.
I also observed this issue before upgrading to golang 1.9. Here's a crash from golang 1.8:
Slightly longer versions of these crashes are available in blevesearch/bleve#634, but I'm also happy to provide the full list of goroutine backtraces if that is helpful.
Given that the same codebase works fine on linux/freebsd/windows across amd64/i686/arm, I suspect this issue is specific to the arm64 golang runtime.
cc @aclements
The text was updated successfully, but these errors were encountered: