Issue 1:
Steps:

gomobile install golang.org/x/mobile/example/basic

start the app

press back button

start the app

The application crashes:

panic: attempting to init key (2) with valid texture

I/ActivityManager( 1882): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.golang.todo.basic/org.golang.app.GoNativeActivity (has extras)} from uid 10034 on display 0
V/WindowManager( 1882): addAppToken: AppWindowToken{4d98ab token=Token{23ccdafa ActivityRecord{13f78925 u0 org.golang.todo.basic/org.golang.app.GoNativeActivity t665}}} to stack=1 task=665 at 0
V/WindowManager( 1882): Adding window Window{13bc92a1 u0 Starting org.golang.todo.basic} at 3 of 9 (after Window{1984e7be u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL})
D/audio_hw_primary( 1518): out_set_parameters: enter: usecase(1: low-latency-playback) kvpairs: routing=2
D/audio_hw_primary( 1518): select_devices: out_snd_device(2: speaker) in_snd_device(0: none)
D/msm8974_platform( 1518): platform_send_audio_calibration: sending audio calibration for snd_device(2) acdb_id(15)
E/ACDB-LOADER( 1518): Error: ACDB AFE returned = -19
D/audio_hw_primary( 1518): enable_snd_device: snd_device(2: speaker)
D/audio_hw_primary( 1518): enable_audio_route: apply and update mixer path: low-latency-playback speaker
V/PhoneStatusBar(28923): setLightsOn(true)
I/GoLog (13562): android device reports unknown density: 560
V/WindowManager( 1882): Adding window Window{3fba7223 u0 org.golang.todo.basic/org.golang.app.GoNativeActivity} at 3 of 10 (before Window{13bc92a1 u0 Starting org.golang.todo.basic})
E/BufferQueueProducer( 258): [org.golang.todo.basic/org.golang.app.GoNativeActivity] queueBuffer: BufferQueue has been abandoned
E/Surface (13562): queueBuffer: error queuing buffer to SurfaceTexture, -19
I/Adreno (13562): Failed to swap the native window
E/BufferQueueProducer( 258): [org.golang.todo.basic/org.golang.app.GoNativeActivity] dequeueBuffer: BufferQueue has been abandoned
I/Adreno (13562): Native window GetBuffer failed
E/BufferQueueProducer( 258): [org.golang.todo.basic/org.golang.app.GoNativeActivity] dequeueBuffer: BufferQueue has been abandoned
I/Adreno (13562): Native window GetBuffer failed
I/Adreno (13562): Failed to acquire a surface
I/Keyboard.Facilitator( 2299): onFinishInput()
E/BufferQueueProducer( 258): [org.golang.todo.basic/org.golang.app.GoNativeActivity] dequeueBuffer: BufferQueue has been abandoned
I/Adreno (13562): Native window GetBuffer failed
E/BufferQueueProducer( 258): [org.golang.todo.basic/org.golang.app.GoNativeActivity] dequeueBuffer: BufferQueue has been abandoned
I/Adreno (13562): Native window GetBuffer failed
I/ActivityManager( 1882): Displayed org.golang.todo.basic/org.golang.app.GoNativeActivity: +80ms
E/Go (13562): panic: attempting to init key (2) with valid texture
E/Go (13562): goroutine 20 [running]:
E/Go (13562): golang.org/x/mobile/exp/gl/glutil.(*texmapCache).init(0xaf3ae698, 0x2)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/exp/gl/glutil/glimage.go:137 +0x140
E/Go (13562): golang.org/x/mobile/exp/gl/glutil.start()
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/exp/gl/glutil/glimage.go:73 +0x314
E/Go (13562): golang.org/x/mobile/exp/gl/glutil.init.1.func1(0xaf315088, 0x9306c100, 0x0, 0x0)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/exp/gl/glutil/glimage.go:40 +0x80
E/Go (13562): golang.org/x/mobile/app.Filter(0xaf315088, 0x9306c100, 0x0, 0x0)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/app.go:94 +0x94
E/Go (13562): main.main.func1(0x82b60000, 0xaf3d3a80)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/example/basic/main.go:60 +0xa8
E/Go (13562): golang.org/x/mobile/app.main.func1(0xaf3580fc, 0x93062140)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/android.go:233 +0x64
E/Go (13562): created by golang.org/x/mobile/app.main
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/android.go:235 +0xb4
E/Go (13562): goroutine 8 [chan receive, locked to thread]:
E/Go (13562): golang.org/x/mobile/app.main(0xaf3580fc)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/android.go:237 +0xe4
E/Go (13562): golang.org/x/mobile/app.Main(0xaf3580fc)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/app.go:21 +0x1c
E/Go (13562): main.main()
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/example/basic/main.go:78 +0x1c
E/Go (13562): golang.org/x/mobile/app/internal/callfn.CallFn(0xaf20dfe8)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/internal/callfn/callfn_arm.s:10 +0x18
E/Go (13562): created by golang.org/x/mobile/app.callMain
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/android.go:79 +0x404
E/Go (13562): goroutine 17 [syscall, locked to thread]:
E/Go (13562): runtime.goexit()
E/Go (13562): /home/pierre/.gimme/versions/go/src/runtime/asm_arm.s:1016 +0x4
E/Go (13562): goroutine 5 [syscall]:
E/Go (13562): syscall.Syscall(0x3, 0x15, 0x93054000, 0x400, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/syscall/asm_linux_arm.s:17 +0x8
E/Go (13562): syscall.read(0x15, 0x93054000, 0x400, 0x400, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/syscall/zsyscall_linux_arm.go:783 +0x78
E/Go (13562): syscall.Read(0x15, 0x93054000, 0x400, 0x400, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/syscall/syscall_unix.go:160 +0x4c
E/Go (13562): os.(*File).read(0x92fe4160, 0x93054000, 0x400, 0x400, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/os/file_unix.go:211 +0x54
E/Go (13562): os.(*File).Read(0x92fe4160, 0x93054000, 0x400, 0x400, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/os/file.go:95 +0x7c
E/Go (13562): bufio.(*Reader).fill(0x92ff1f7c)
E/Go (13562): /home/pierre/.gimme/versions/go/src/bufio/bufio.go:97 +0x1c4
E/Go (13562): bufio.(*Reader).ReadSlice(0x92ff1f7c, 0x40a, 0x0, 0x0, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/bufio/bufio.go:328 +0x264
E/Go (13562): bufio.(*Reader).ReadLine(0x92ff1f7c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/bufio/bufio.go:357 +0x60
E/Go (13562): golang.org/x/mobile/internal/mobileinit.lineLog(0x92fe4160, 0x6)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/internal/mobileinit/mobileinit_android.go:50 +0xe0
E/Go (13562): created by golang.org/x/mobile/internal/mobileinit.init.1
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/internal/mobileinit/mobileinit_android.go:74 +0x104
E/Go (13562): goroutine 6 [syscall]:
E/Go (13562): syscall.Syscall(0x3, 0x17, 0x93052000, 0x400, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/syscall/asm_linux_arm.s:17 +0x8
E/Go (13562): syscall.read(0x17, 0x93052000, 0x400, 0x400, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/syscall/zsyscall_linux_arm.go:783 +0x78
E/Go (13562): syscall.Read(0x17, 0x93052000, 0x400, 0x400, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/syscall/syscall_unix.go:160 +0x4c
E/Go (13562): os.(*File).read(0x92fe4170, 0x93052000, 0x400, 0x400, 0xaf3d3a1c, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/os/file_unix.go:211 +0x54
E/Go (13562): os.(*File).Read(0x92fe4170, 0x93052000, 0x400, 0x400, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/os/file.go:95 +0x7c
E/Go (13562): bufio.(*Reader).fill(0x92ff277c)
E/Go (13562): /home/pierre/.gimme/versions/go/src/bufio/bufio.go:97 +0x1c4
E/Go (13562): bufio.(*Reader).ReadSlice(0x92ff277c, 0x40a, 0x0, 0x0, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/bufio/bufio.go:328 +0x264
E/Go (13562): bufio.(*Reader).ReadLine(0x92ff277c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
E/Go (13562): /home/pierre/.gimme/versions/go/src/bufio/bufio.go:357 +0x60
E/Go (13562): golang.org/x/mobile/internal/mobileinit.lineLog(0x92fe4170, 0x4)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/internal/mobileinit/mobileinit_android.go:50 +0xe0
E/Go (13562): created by golang.org/x/mobile/internal/mobileinit.init.1
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/internal/mobileinit/mobileinit_android.go:81 +0x194
E/Go (13562): goroutine 7 [runnable]:
E/Go (13562): golang.org/x/mobile/app.pump.func1(0x92fe4180, 0x93036140)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/app.go:140 +0x4ac
E/Go (13562): created by golang.org/x/mobile/app.pump
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/app.go:169 +0x88
E/Go (13562): goroutine 18 [syscall, locked to thread]:
E/Go (13562): runtime.goexit()
E/Go (13562): /home/pierre/.gimme/versions/go/src/runtime/asm_arm.s:1016 +0x4
E/Go (13562): goroutine 19 [runnable, locked to thread]:
E/Go (13562): golang.org/x/mobile/app._Cfunc_AInputQueue_getEvent(0xb4afaf60, 0x930974b8, 0xfffffff5)
E/Go (13562): ??:0 +0x34
E/Go (13562): golang.org/x/mobile/app.processEvents(0xb4afaf60)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/loop_android.go:143 +0x38
E/Go (13562): golang.org/x/mobile/app.windowDraw(0xb497dc08, 0xb4afaf60, 0x93072000, 0x93072001)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/loop_android.go:101 +0x3c
E/Go (13562): golang.org/x/mobile/app.main(0xaf3580fc)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/android.go:238 +0x114
E/Go (13562): golang.org/x/mobile/app.Main(0xaf3580fc)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/app.go:21 +0x1c
E/Go (13562): main.main()
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/example/basic/main.go:78 +0x1c
E/Go (13562): golang.org/x/mobile/app/internal/callfn.CallFn(0xaf20dfe8)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/internal/callfn/callfn_arm.s:10 +0x18
E/Go (13562): created by golang.org/x/mobile/app.callMain
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/android.go:79 +0x404
E/Go (13562): goroutine 35 [runnable]:
E/Go (13562): sync.runtime_Semacquire(0xaf3ae69c)
E/Go (13562): /home/pierre/.gimme/versions/go/src/runtime/sema.go:43 +0x24
E/Go (13562): sync.(*Mutex).Lock(0xaf3ae698)
E/Go (13562): /home/pierre/.gimme/versions/go/src/sync/mutex.go:82 +0x1fc
E/Go (13562): golang.org/x/mobile/exp/gl/glutil.(*texmapCache).get(0xaf3ae698, 0x3, 0x0)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/exp/gl/glutil/glimage.go:166 +0x30
E/Go (13562): golang.org/x/mobile/exp/gl/glutil.(*Image).Upload(0x9307e850)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/exp/gl/glutil/glimage.go:215 +0x30
E/Go (13562): golang.org/x/mobile/exp/app/debug.DrawFPS(0x43392492, 0x4399c57c, 0x40f8e38e)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/exp/app/debug/fps.go:68 +0x564
E/Go (13562): main.onPaint(0x43392492, 0x4399c57c, 0x40f8e38e)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/example/basic/main.go:126 +0x1ac
E/Go (13562): main.main.func1(0x82b60000, 0xaf3d3a80)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/example/basic/main.go:72 +0x144
E/Go (13562): golang.org/x/mobile/app.main.func1(0xaf3580fc, 0x93072000)
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/android.go:233 +0x64
E/Go (13562): created by golang.org/x/mobile/app.main
E/Go (13562): /home/pierre/Go/src/golang.org/x/mobile/app/android.go:235 +0xb4
I/WindowState( 1882): WIN DEATH: Window{3fba7223 u0 org.golang.todo.basic/org.golang.app.GoNativeActivity}
I/Zygote ( 1526): Process 13562 exited due to signal (6)
I/ActivityManager( 1882): Process org.golang.todo.basic (pid 13562) has died
W/ActivityManager( 1882): Force removing ActivityRecord{13f78925 u0 org.golang.todo.basic/org.golang.app.GoNativeActivity t665}: app died, no saved state
W/InputMethodManagerService( 1882): Got RemoteException sending setActive(false) notification to pid 13562 uid 10100

Go version: go version devel +1421bc1 Wed Jul 22 09:18:33 2015 +0000 linux/amd64

Device: Nexus 6

Android version: 5.1.1 stock

Issue 2:
golang.org/x/mobile/example/basic

its a UI interaction bug.

Context:

gedw99-MacBook-Pro:audio apple$ go version

go version go1.5beta2 darwin/amd64

gedw99-MacBook-Pro:audio apple$ which go

/usr/local/go/bin/go

gedw99-MacBook-Pro:audio apple$

Steps to reproduce:

compile for android

load apk on nexus 6

open program and it works fine.

hit home button

open program and it works fine

hit back button

open program and it shows a dithered triangle.

it looks like 2 programs running on top of each other with a alpha transparency between them.