-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
x/mobile libc : SIGABRT crash on the Genymotion Android emulator #29249
Comments
/cc @eliasnaur |
Which device is the crash from? Does |
@eliasnaur Genymotion Android Emulator |
I see. The problem is probably that the Genymotion emulator has a different setup for thread local variables (TLS) than the official emulator and Android devices. If so, the abort comes from go/src/runtime/cgo/gcc_android_amd64.c Lines 55 to 62 in e453577
go/src/runtime/cgo/gcc_android_amd64.c Line 19 in e453577
Go's use of TLS on Android is an awful hack and there are efforts underway to remedy the situation: https://groups.google.com/forum/#!topic/golang-dev/yVrkFnYrYPE. |
will this error fix after go 1.12 released? |
Not yet. I suggested a change you could try to apply and see if that fixes the crash. |
@eliasnaur we have (as I expect) the same issue on Genymotion on Android 7.0 and 7.1
|
also, it is in |
and it actually returns |
Did you try increasing the size to 384 as I suggested in #29249 (comment)? The proper fix is probably the same as for #29674. |
yep, still fails. I added some logs will rebuild everything and get back to you! |
it always failes on 115th iteration for me: |
|
That's too bad. I suppose the fix will have to wait for #29674. |
Change https://golang.org/cl/169817 mentions this issue: |
@llgoer @mandrigin if you can, please test CL 169817 above and see if it fixes the crash. If so, you can close this issue. |
…amic We're going to need a different TLS offset for Android Q, so the static offsets used for 386 and amd64 are no longer viable on Android. Introduce runtime·tls_g and use that for indexing into TLS storage. As an added benefit, we can then merge the TLS setup code for all android GOARCHs. While we're at it, remove a bunch of android special cases no longer needed. Updates #29674 Updates #29249 (perhaps fixes it) Change-Id: I77c7385aec7de8f1f6a4da7c9c79999157e39572 Reviewed-on: https://go-review.googlesource.com/c/go/+/169817 TryBot-Result: Gobot Gobot <[email protected]> Reviewed-by: Cherry Zhang <[email protected]>
Timed out. Please open a new issue if the problem persists. |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
https://github.com/golang/go/wiki/Mobile#building-and-deploying-to-android-1
$ gomobile bind -o app/hello.aar -target=android golang.org/x/mobile/example/bind/hello
What did you expect to see?
say hello.it run successfull on aarch64,but failed on x86.
What did you see instead?
The text was updated successfully, but these errors were encountered: