3

We're working on an Android game, developing with Cocos2d-x. Our game seems to be killed by android, but we can't find the root cause about the game close. The adb's log is dumped as follows:

adb's log

Critical portion:

D/dalvikvm(  501): GC_CONCURRENT freed 875K, 19% free 4478K/5464K, paused 2ms+2ms, total 22ms
E/Surface (  965): queueBuffer: error queuing buffer to SurfaceTexture, -12
W/dalvikvm(  965): trying to work around app JNI bugs, but didn't find 0x41906cd8 in table!
W/dalvikvm(  965): JNI WARNING: DeleteLocalRef(0x41906cd8) failed to find entry
I/FrameQueueManage(  174): FrameQueueManage::~FrameQueueManage end!
D/Zygote  (  172): Process 965 terminated by signal (11)
I/ActivityManager(  501): Process igs.rd5.SuperSoccer (pid 965) has died.
I/WindowState(  501): WIN DEATH: Window{41a365d8 u0 igs.rd5.SuperSoccer/org.cocos2dx.cpp.AppActivity}
W/WindowManager(  501): Force-removing child win Window{41a4fcb0 u0 SurfaceView} from container Window{41a365d8 u0 igs.rd5.SuperSoccer/org.cocos2dx.cpp.AppActivity}
W/ActivityManager(  501): Force removing ActivityRecord{41975d20 u0 igs.rd5.SuperSoccer/org.cocos2dx.cpp.AppActivity t2}: app died, no saved state
W/WindowManager(  501): Failed looking up window
W/WindowManager(  501): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@41a4be58 does not exist
W/WindowManager(  501):         at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:8102)
W/WindowManager(  501):         at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:8093)
W/WindowManager(  501):         at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:1047)
W/WindowManager(  501):         at android.os.BinderProxy.sendDeathNotice(Binder.java:493)
W/WindowManager(  501):         at dalvik.system.NativeStart.run(Native Method)
I/WindowState(  501): WIN DEATH: null
D/mali_winsys(  680): new_window_surface returns 0x3000
W/InputMethodManagerService(  501): Got RemoteException sending setActive(false) notification to pid 965 uid 10047
W/Binder  (  652): Caught a RuntimeException from the binder stub implementation.
W/Binder  (  652): java.lang.NullPointerException
W/Binder  (  652):      at android.inputmethodservice.IInputMethodWrapper.setSessionEnabled(IInputMethodWrapper.java:284)
W/Binder  (  652):      at com.android.internal.view.IInputMethod$Stub.onTransact(IInputMethod.java:129)
W/Binder  (  652):      at android.os.Binder.execTransact(Binder.java:404)
W/Binder  (  652):      at dalvik.system.NativeStart.run(Native Method)

We don't see any native library's crash dump, and nearly can't see any java's exception that has senses. Cound anybody tell us why our game is killed by android?

Ken Y-N
  • 14,644
  • 21
  • 71
  • 114
naive231
  • 1,360
  • 1
  • 11
  • 28
  • Does this occur when your app is in the foreground or background? – Kevin Krumwiede Jun 02 '15 at 05:34
  • Note that I extracted the crash data from the rather long LogCat and updated the question with it. [This question suggests](https://stackoverflow.com/questions/11190469/android-app-crashes-suddenly-while-running) it might be in some native code, if you have any, trashing the JNI layer. – Ken Y-N Jun 02 '15 at 05:35
  • The JNI bug seems to refer to this I believe: http://android-developers.blogspot.com/2011/11/jni-local-reference-changes-in-ics.html (but don't ask me how it's applicable to this case, I don't do NDK development) – Stephan Branczyk Jun 02 '15 at 05:44
  • 1
    I'm working with an app that play video on surface texture, and sometimes it show only black screen with this error "E/Surface ( 965): queueBuffer: error queuing buffer to SurfaceTexture, -12", especially when I try to destroy then re-create surface texture many times. The problem here maybe your app interact to SurfaceTexture while it is in initializing, you should call Thread.sleep(100) after init it, or when you create an object that contains it. – Trung NT Nguyen Jun 02 '15 at 07:40

0 Answers0