Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash in android_changed_state / populatePresets #228

Closed
chrisboyle opened this issue Nov 6, 2014 · 3 comments
Closed

Crash in android_changed_state / populatePresets #228

chrisboyle opened this issue Nov 6, 2014 · 3 comments

Comments

@chrisboyle
Copy link
Owner

Seen once in Play console, and once this evening on my N7100, in which:

JNI ERROR (app bug): accessed deleted global reference 0x005005ae

#00  pc 0004c23c  /system/lib/libart.so
#01  pc 000547b5  /system/lib/libart.so
#02  pc 000d10f0  /data/app-lib/name.boyle.chris.sgtpuzzles-1/libpuzzles.so (android_changed_state+108)
#03  pc 000d340c  /data/app-lib/name.boyle.chris.sgtpuzzles-1/libpuzzles.so (notifyClearForNewGame+316)
#04  pc 000d38c4  /data/app-lib/name.boyle.chris.sgtpuzzles-1/libpuzzles.so (startPlayingInt+596)
#05  pc 000d3974  /data/app-lib/name.boyle.chris.sgtpuzzles-1/libpuzzles.so (startPlaying+60)

The only ref accessed by android_changed_state is obj which is the activity. How the frack has that been gc'd? Must just be bad timing.

@chrisboyle chrisboyle changed the title Crash in android_changed_state Crash in android_changed_state / populatePresets Nov 7, 2014
@chrisboyle
Copy link
Owner Author

4 more in populatePresets which is just very slightly later and looks like exactly the same kind of issue:

#05 pc 00045cc7 /system/lib/libdvm.so (dvmAbort+78)
#06 pc 00027e48 /system/lib/libdvm.so (IndirectRefTable::get(void*) const+116)
#07 pc 0004a587 /system/lib/libdvm.so (dvmDecodeIndirectRef(Thread*, _jobject*)+62)
#08 pc 0004c725 /system/lib/libdvm.so
#09 pc 00046e59 /data/app-lib/name.boyle.chris.sgtpuzzles-1/libpuzzles.so (populatePresets+112)
#10 pc 00046fbf /data/app-lib/name.boyle.chris.sgtpuzzles-1/libpuzzles.so (startPlayingInt+222)
#11 pc 00047009 /data/app-lib/name.boyle.chris.sgtpuzzles-1/libpuzzles.so (startPlaying+8)

@chrisboyle chrisboyle added this to the next-play-release milestone Nov 7, 2014
@chrisboyle
Copy link
Owner Author

These are all in startPlaying, shortly after clearForNewGame (i.e. a new game is ready, clear stuff to start playing it). If the activity is going away during that, perhaps let's just fold in the presets and undo/redo reset into that method, so once that call has started, there's less remaining for JNI to crash on during the current startPlaying invocation.

chrisboyle added a commit that referenced this issue Nov 9, 2014
chrisboyle added a commit that referenced this issue Nov 29, 2014
In particular, remove calls from C back to Java near the end of the process, see #228.
@chrisboyle
Copy link
Owner Author

I think a12f598 worked; that point in the code no longer exists and I'm not seeing any similar volume of similar crashes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant