keybase / keybase/client

Segfault during rn-gobuild-android

Open
#15,826 0 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
9.2k
Forks
1.3k
Avg merge
12h 58m
Merged PRs (30d)
56

Description

Hello,

I am trying to see if we could build this app on F-Droid (https://github.com/keybase/client/issues/6899).
If I understand correctly, we need to run yarn rn-gobuild-android to build keybaselib.aar before we can build the app with Gradle.

I tried to do that for v2.13.1 but the build process crashes:

yarn run v1.13.0
$ ./react-native/gobuild.sh android
Using temp GOPATH: /tmp/go-android
Clearing /tmp/go-android/src
Getting client (using local GOPATH)... To use git master, set LOCAL_CLIENT=0
Re-vendoring...
Building for Android (/home/pierre/www/client/shared/react-native/android/keybaselib/keybaselib.aar)...
Running gomobile init cause: ./react-native/gobuild.sh: line 125: gomobile: command not found
Build gomobile...
Doing gomobile init
gomobile: /tmp/go-android/bin/gobind -lang=go,java -outdir=/tmp/gomobile-work-610745201 -tags=android github.com/keybase/client/go/bind failed: exit status 2
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x4066ec]

goroutine 1 [running]:
panic(0x6e4220, 0xc4200120c0)
	/usr/lib/go-1.7/src/runtime/panic.go:500 +0x1a1
main.run()
	/tmp/go-android/src/golang.org/x/mobile/cmd/gobind/main.go:145 +0x9ac
main.main()
	/tmp/go-android/src/golang.org/x/mobile/cmd/gobind/main.go:45 +0x27

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Do you know what could cause this?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with react-native/gobuild.sh and the yarn rn-gobuild-android entry point, then inspect the failure at /tmp/go-android/src/golang.org/x/mobile/cmd/gobind/main.go:145. Reproduce the keybaselib.aar build using the reported setup and determine why gobind fails before the nil-pointer panic. Done means the command completes without the segfault or reports a clear actionable build error.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, go, react-native
Domain
build-system, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.