Repository: go
Issue: x/mobile: panic when run golang.org/x/mobile/example/sprite on samsung phone.
Labels: mobile

golang 1.5.1

```
I/GoLog   (21453): [kmgAndroidSprite1]
I/GoLog   (21453): [kmgAndroidSprite2]
I/DEBUG   ( 5150): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   ( 5150): Build fingerprint: 'samsung/m0zm/m0cmcc:4.0.4/IMM76D/I9308ZMBMA2:user/release-keys'
I/DEBUG   ( 5150): pid: 21453, tid: 21453  >>> org.golang.todo.sprite <<<
I/DEBUG   ( 5150): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000014
I/DEBUG   ( 5150):  r0 00000014  r1 00000042  r2 00000003  r3 0064e0d8
I/DEBUG   ( 5150):  r4 00000014  r5 00000042  r6 00000000  r7 00000001
I/DEBUG   ( 5150):  r8 00000000  r9 56d53bd8  10 6beba2a0  fp 00000030
I/DEBUG   ( 5150):  d0  bf800000bf800000  d1  3f9ca20042220000
I/DEBUG   ( 5150):  d2  4130000040d00000  d3  000000003f800000
I/DEBUG   ( 5150):  d4  3f80000000000000  d5  0000000000000000
I/DEBUG   ( 5150):  d6  0000000000000000  d7  000000003f800000
I/DEBUG   ( 5150):  d8  0000000000000000  d9  0000000000000000
I/DEBUG   ( 5150):  d10 0000000000000000  d11 0000000000000000
I/DEBUG   ( 5150):  d12 0000000000000000  d13 0000000000000000
I/DEBUG   ( 5150):  d14 0000000000000000  d15 0000000000000000
I/DEBUG   ( 5150):  d16 0000000000000001  d17 3fe0000000000000
I/DEBUG   ( 5150):  d18 3ff0000000000000  d19 0000000000000000
I/DEBUG   ( 5150):  d20 0000000000000000  d21 0000000000000000
I/DEBUG   ( 5150):  d22 3ff0000000000000  d23 0000000000000000
I/DEBUG   ( 5150):  d24 3ff0000000000000  d25 0000000000000000
I/DEBUG   ( 5150):  d26 0000000000000000  d27 0000000000000000
I/DEBUG   ( 5150):  d28 0000000000000000  d29 0000000000000000
I/DEBUG   ( 5150):  d30 0000000000000000  d31 0000000000000000
I/DEBUG   ( 5150):  scr 60000010
I/DEBUG   ( 5150): 
I/SurfaceFlinger( 1887): id=52 Removed idx=1 Map Size=4
I/SurfaceFlinger( 1887): id=52 Removed idx=-2 Map Size=4
I/DEBUG   ( 5150):          #00  pc 00012344  /system/lib/libc.so (pthread_mutex_lock)
I/DEBUG   ( 5150):          #01  pc 00027166  /system/lib/libutils.so (_ZN7android6Looper8removeFdEi)
I/DEBUG   ( 5150):          #02  pc 0004cdbe  /system/lib/libandroid_runtime.so (_ZN11AInputQueue12detachLooperEv)
I/DEBUG   ( 5150):          #03  pc 000098a8  /system/lib/libandroid.so (AInputQueue_detachLooper)
I/DEBUG   ( 5150): 
I/DEBUG   ( 5150): code around pc:
I/DEBUG   ( 5150): 400d3324 e3a02001 ebfffeb8 e1a00005 e8bd87f0  . ..............
I/DEBUG   ( 5150): 400d3334 0003710c e92d47f0 e2504000 0a00001a  .q...G-..@P.....
I/DEBUG   ( 5150): 400d3354 e5945000 e1a02004 e2055a02 e1a00005  .P... ...Z......
I/DEBUG   ( 5150): 400d3364 e3851001 ebffecbe e3500000 13856002  ..........P..`..
I/DEBUG   ( 5150): 
I/DEBUG   ( 5150): code around lr:
I/DEBUG   ( 5150): 40027148 f7f36809 bd10f87d 00007e56 41f0e92d  .h..}...V~..-..A
I/DEBUG   ( 5150): 40027158 0414f100 4680b088 460d4620 eb80f7ec  .......F F.F....
I/DEBUG   ( 5150): 40027168 f108a908 f8410734 46385d14 fbeef7fb  ....4.A..]8F....
I/DEBUG   ( 5150): 40027178 46062800 2102db21 f8d82300 462a0030  .(.F!..!.#..0.*F
I/DEBUG   ( 5150): 40027188 ee1af7ec da0e2800 eb58f7ec 4a10490f  .....(....X..I.J
I/DEBUG   ( 5150): 
I/DEBUG   ( 5150): stack:
I/DEBUG   ( 5150):     bec4c470  00000007  
I/DEBUG   ( 5150):     bec4c474  409679d7  /system/lib/libdvm.so
I/DEBUG   ( 5150):     bec4c478  bec4c56c  [stack]
I/DEBUG   ( 5150):     bec4c47c  409bcf9c  /system/lib/libdvm.so
I/DEBUG   ( 5150):     bec4c480  14e0001d  
I/DEBUG   ( 5150):     bec4c484  4094dfc5  /system/lib/libdvm.so
I/DEBUG   ( 5150):     bec4c488  00000007  
I/DEBUG   ( 5150):     bec4c48c  409679d7  /system/lib/libdvm.so
I/DEBUG   ( 5150):     bec4c490  bec4c584  [stack]
I/DEBUG   ( 5150):     bec4c494  409bcf9c  /system/lib/libdvm.so
I/DEBUG   ( 5150):     bec4c498  14e0001d  
I/DEBUG   ( 5150):     bec4c49c  4094dfc5  /system/lib/libdvm.so
I/DEBUG   ( 5150):     bec4c4a0  e9700019  
I/DEBUG   ( 5150):     bec4c4a4  4094dfc5  /system/lib/libdvm.so
I/DEBUG   ( 5150):     bec4c4a8  4099d4da  /system/lib/libdvm.so
I/DEBUG   ( 5150):     bec4c4ac  005edd48  [heap]
I/DEBUG   ( 5150): #00 bec4c4b0  00000014  
I/DEBUG   ( 5150):     bec4c4b4  00000042  
I/DEBUG   ( 5150):     bec4c4b8  00000000  
I/DEBUG   ( 5150):     bec4c4bc  00000001  
I/DEBUG   ( 5150):     bec4c4c0  00000000  
I/DEBUG   ( 5150):     bec4c4c4  56d53bd8  
I/DEBUG   ( 5150):     bec4c4c8  6beba2a0  
I/DEBUG   ( 5150):     bec4c4cc  40027169  /system/lib/libutils.so
I/DEBUG   ( 5150): #01 bec4c4d0  5bac7324  /data/data/org.golang.todo.sprite/lib/libsprite.so
I/DEBUG   ( 5150):     bec4c4d4  5bb0add0  /data/data/org.golang.todo.sprite/lib/libsprite.so
I/DEBUG   ( 5150):     bec4c4d8  00000001  
I/DEBUG   ( 5150):     bec4c4dc  5babc258  /data/data/org.golang.todo.sprite/lib/libsprite.so
I/DEBUG   ( 5150):     bec4c4e0  0064e0f8  [heap]
I/DEBUG   ( 5150):     bec4c4e4  bec4c50c  [stack]
I/DEBUG   ( 5150):     bec4c4e8  0064e0f8  [heap]
I/DEBUG   ( 5150):     bec4c4ec  bec4c50c  [stack]
I/DEBUG   ( 5150):     bec4c4f0  0064e110  [heap]
I/DEBUG   ( 5150):     bec4c4f4  bec4c50c  [stack]
I/DEBUG   ( 5150):     bec4c4f8  00000000  
I/DEBUG   ( 5150):     bec4c4fc  00000001  
I/DEBUG   ( 5150):     bec4c500  6bed4000  
I/DEBUG   ( 5150):     bec4c504  4021cdc1  /system/lib/libandroid_runtime.so
```

I tried to dig around , it looks like the code panic here:
![image](https://cloud.githubusercontent.com/assets/1107541/11319292/7d95d138-90ac-11e5-96c2-46e1e8dfd2ea.png)
src/golang.org/x/mobile/example/sprite/main.go:68