So, I’ve filed the bug report (case #25522)
And here’s what I filed (testing with my own app):
- Start the app
- Tap on the trophy button (the button in the bottom middle)
- Tap on Google Play button
- Sign in to Google+
- Tap on Leaderboard
- Tap on upper right (with three dots)
- Tap on Settings
- Tap on Sign out
- You are back on Google Play menu (with Achievement, Leaderboard and Sign Out buttons.)
- Tapping on Achievement or Leaderboard appears to do nothing (until I leave the menu and return back in) – but tapping on Sign Out results in java.lang.SecurityException immediately.
The function that launches upon tapping on the Sign Out (as well as Sign In) is googleLogin (which calls clearRoom first) :
[lua]
local function clearRoom()
if googleRoomID ~= nil then
gameNetwork.request( “leaveRoom”, { roomID = googleRoomID })
googleRoomID = nil
end
end
local function googleLogin()
clearRoom()
local function loginListener(event)
– Checks to see if there was an error with the login.
if event.isError then
txt.login.text = “SIGN IN”
updateButton() – this updates the button label from SIGN IN
_G.myGoogle.userID = nil;
_G.myGoogle.userAlias = nil;
else
googleLocalUser()
end
end
if gameNetwork.request(“isConnected”) then
gameNetwork.request(“logout”)
txt.login.text = “SIGN IN”
updateButton()
_G.myGoogle.userID = nil;
_G.myGoogle.userAlias = nil;
else
– Tries to login the user, if there is a problem then it will try to resolve it.
– eg. Show the log in screen.
gameNetwork.request(“login”,
{
listener = loginListener,
userInitiated = true
})
end
end
[/lua]
- Here’s the full terminal log starting from the moment I tap on Sign out under step #8 above
D/dalvikvm( 481): GC_FOR_ALLOC freed 727K, 22% free 14597K/18644K, paused 55ms, total 56ms
D/dalvikvm(11120): GC_CONCURRENT freed 993K, 36% free 8816K/13584K, paused 3ms+2ms, total 48ms
D/dalvikvm(11120): WAIT_FOR_CONCURRENT_GC blocked 16ms
D/dalvikvm(11120): GC_CONCURRENT freed 541K, 36% free 8740K/13584K, paused 6ms+2ms, total 28ms
D/dalvikvm(11120): GC_FOR_ALLOC freed 72K, 36% free 8713K/13584K, paused 21ms, total 21ms
I/dalvikvm-heap(11120): Grow heap (frag case) to 9.847MB for 1249456-byte allocation
D/dalvikvm(11120): GC_CONCURRENT freed <1K, 27% free 9933K/13584K, paused 3ms+2ms, total 23ms
D/dalvikvm(11120): WAIT_FOR_CONCURRENT_GC blocked 20ms
D/dalvikvm(11120): GC_FOR_ALLOC freed <1K, 27% free 9933K/13584K, paused 21ms, total 21ms
I/dalvikvm-heap(11120): Grow heap (frag case) to 11.038MB for 1249456-byte allocation
D/dalvikvm(11120): GC_FOR_ALLOC freed <1K, 18% free 11153K/13584K, paused 17ms, total 17ms
D/dalvikvm(11120): GC_CONCURRENT freed 1220K, 27% free 9933K/13584K, paused 3ms+2ms, total 23ms
D/dalvikvm(11120): GC_CONCURRENT freed 1596K, 34% free 9088K/13584K, paused 2ms+1ms, total 21ms
D/dalvikvm(11120): WAIT_FOR_CONCURRENT_GC blocked 9ms
D/dalvikvm(11120): GC_FOR_ALLOC freed 601K, 36% free 8713K/13584K, paused 16ms, total 16ms
I/dalvikvm-heap(11120): Grow heap (frag case) to 9.265MB for 640016-byte allocation
D/dalvikvm(11120): GC_FOR_ALLOC freed <1K, 32% free 9338K/13584K, paused 19ms, total 19ms
D/dalvikvm(11120): GC_CONCURRENT freed <1K, 32% free 9338K/13584K, paused 3ms+2ms, total 18ms
D/dalvikvm(11120): GC_CONCURRENT freed 625K, 32% free 9338K/13584K, paused 2ms+2ms, total 19ms
D/dalvikvm(11120): WAIT_FOR_CONCURRENT_GC blocked 6ms
I/dalvikvm-heap(11120): Grow heap (frag case) to 12.571MB for 3465616-byte allocation
D/dalvikvm(11120): GC_CONCURRENT freed 625K, 29% free 12097K/16972K, paused 3ms+2ms, total 18ms
D/dalvikvm(11120): GC_FOR_ALLOC freed <1K, 29% free 12097K/16972K, paused 15ms, total 16ms
I/dalvikvm-heap(11120): Grow heap (frag case) to 15.265MB for 3465616-byte allocation
D/dalvikvm(11120): GC_FOR_ALLOC freed <1K, 24% free 15481K/20360K, paused 16ms, total 16ms
D/dalvikvm(11120): GC_CONCURRENT freed 0K, 24% free 15482K/20360K, paused 3ms+2ms, total 22ms
D/dalvikvm(11120): GC_FOR_ALLOC freed 8796K, 33% free 9220K/13584K, paused 17ms, total 17ms
D/dalvikvm(11120): GC_CONCURRENT freed 507K, 33% free 9220K/13584K, paused 1ms+2ms, total 19ms
D/dalvikvm(11120): WAIT_FOR_CONCURRENT_GC blocked 6ms
I/dalvikvm-heap(11120): Grow heap (frag case) to 9.760MB for 640016-byte allocation
D/dalvikvm(11120): GC_FOR_ALLOC freed 506K, 32% free 9338K/13584K, paused 16ms, total 16ms
D/dalvikvm(11120): GC_CONCURRENT freed 625K, 32% free 9338K/13584K, paused 3ms+2ms, total 20ms
D/dalvikvm(11120): GC_CONCURRENT freed 625K, 32% free 9338K/13584K, paused 2ms+2ms, total 17ms
D/dalvikvm(11120): GC_CONCURRENT freed 625K, 32% free 9338K/13584K, paused 1ms+2ms, total 18ms
D/dalvikvm(11120): WAIT_FOR_CONCURRENT_GC blocked 6ms
D/dalvikvm(11120): GC_FOR_ALLOC freed 625K, 33% free 9219K/13584K, paused 15ms, total 15ms
W/libc (11120): pthread_create sched_setscheduler call failed: Operation not permitted
I/OpenAL_SLES(11120): playback_function started
D/FlurryAgent(11120): Starting new session
D/dalvikvm(11120): GC_CONCURRENT freed 512K, 33% free 9221K/13584K, paused 1ms+2ms, total 20ms
I/Corona (11120): Runtime error
I/Corona (11120): java.lang.SecurityException
I/Corona (11120): Java Stack Trace:
I/Corona (11120): android.os.Parcel.readException(Parcel.java:1425)
I/Corona (11120): android.os.Parcel.readException(Parcel.java:1379)
I/Corona (11120): com.google.android.gms.internal.bm$a$a.a(Unknown Source)
I/Corona (11120): com.google.android.gms.internal.bj.signOut(Unknown Source)
I/Corona (11120): com.google.android.gms.games.GamesClient.signOut(Unknown Source)
I/Corona (11120): CoronaProvider.gameNetwork.google.GameHelper.signOut(GameHelper.java:579)
I/Corona (11120): CoronaProvider.gameNetwork.google.LuaLoader.logout(LuaLoader.java:201)
I/Corona (11120): CoronaProvider.gameNetwork.google.LuaLoader.request(LuaLoader.java:399)
I/Corona (11120): CoronaProvider.gameNetwork.google.LuaLoader$RequestWrapper.invoke(LuaLoader.java:706)
I/Corona (11120): com.ansca.corona.JavaToNativeShim.nativeTouchEvent(Native Method)
I/Corona (11120): com.ansca.corona.JavaToNativeShim.touchEvent(JavaToNativeShim.java:282)
I/Corona (11120): com.ansca.corona.input.RaiseTouchEventTask.executeUsing(RaiseTouchEventTask.java:39)
I/Corona (11120): com.ansca.corona.CoronaRuntimeTaskDispatcher$TaskEvent.Send(CoronaRuntimeTaskDispatcher.java:153)
I/Corona (11120): com.ansca.corona.events.EventManager.sendEve
I/Corona (11120): errorMessage = “java.lang.SecurityException\nJava Stack Trace:\n\tandroid.os.Parcel.readException(Parcel.java:1425)\n\tandroid.os.Parcel.readException(Parcel.java:1379)\n[tcom.google.android.gms.internal.bm](http://tcom.google.android.gms.internal.bm/)$a$a.a(Unknown Source)\n\tcom.google.android.gms.internal.bj.signOut(Unknown Source)\n\tcom.google.android.gms.games.GamesClient.signOut(Unknown Source)\n\tCoronaProvider.gameNetwork.google.GameHelper.signOut(GameHelper.java:579)\n\tCoronaProvider.gameNetwork.google.LuaLoader.logout(LuaLoader.java:201)\n\tCoronaProvider.gameNetwork.google.LuaLoader.request(LuaLoader.java:399)\n\tCoronaProvider.gameNetwork.google.LuaLoader$RequestWrapper.invoke(LuaLoader.java:706)\n\tcom.ansca.corona.JavaToNativeShim.nativeTouchEvent(Native Method)\n\tcom.ansca.corona.JavaToNativeShim.touchEvent(JavaToNativeShim.java:282)\n\tcom.ansca.corona.input.RaiseTouchEventTask.executeUsing(RaiseTouchEventTask.java:39)\n\tcom.ansca.corona.CoronaRuntimeTaskDispatcher$TaskEvent.Send(CoronaRuntimeTaskDispatcher.java:153)\n\tcom.ansca.corona.events.EventManager.sendEvents(EventManager.java:229)\n\tcom.ansca.corona.Controller.onDrawFrame(Controller.java:220)\n\tcom.ansca.corona.opengl.CoronaGLSurfaceView$CoronaRenderer.onDrawFrame(CoronaGLSurfaceView.java:400)\n\tcom.ansca.corona.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1622)\n\tcom.ansca.corona.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1377)”
D/dalvikvm(11120): GC_CONCURRENT freed 814K, 34% free 8968K/13584K, paused 2ms+3ms, total 25ms
I/Corona (11120): Runtime error
I/Corona (11120):
I/Corona (11120): stack traceback:
I/Corona (11120): [C]: ?
I/Corona (11120): [C]: in function ‘request’
I/Corona (11120): ?: in function ‘onRelease’
I/Corona (11120): ?: in function <?:223>
I/Corona (11120): ?: in function <?:218>
I/Corona (11120): errorMessage = “\nstack traceback:\n\t[C]: ?\n\t[C]: in function ‘request’\n\t?: in function ‘onRelease’\n\t?: in function <?:223>\n\t?: in function <?:218>”