Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android System WebView crashes Android apps! "Tombstones are disabled on JB MR2+ user builds"

EDIT: It turns out it wasnt Chrome but Android System WebView. Several other users on Google Play Store have left responses such as Crashes apps without any error.

Original post:

Tonight my Chrome app updated (Android 5.0.2) and when I try to build my Xamarin Android app in DEBUG mode I get the error:

[google-breakpad] ### ### ### ### ### ### ### ### ### ### ### ### ###

[google-breakpad] Chrome build fingerprint:

[google-breakpad] 1.0

[google-breakpad] 1

[google-breakpad] 5c230f07-455f-4c1f-91eb-9c44019cd813

[google-breakpad] ### ### ### ### ### ### ### ### ### ### ### ### ###

[google-breakpad] Tombstones are disabled on JB MR2+ user builds.

[google-breakpad] ### ### ### ### ### ### ### ### ### ### ### ### ###

In the console I can find the error message:

E/SysUtils﹕ ApplicationContext is null in ApplicationStatus

Which seems to be part of chromium.

The error shows in the console and the app returns to back (but is not destroyed) when the webview returns it seems. The webview is issued in another framework.

I have done no changes since yesterday, when everything worked.

After building (and crashing) running the app from the device functions as excepted.

My target build version is API 21 and API minimum is 14 (but it also fails at 19).

like image 781
Fhl Avatar asked Apr 24 '15 11:04

Fhl


2 Answers

I filed a chromium bug for what seems to be the underlying cause. http://code.google.com/p/chromium/issues/detail?id=481420

like image 157
senorplow Avatar answered Oct 16 '22 11:10

senorplow


It turns out it was not Chrome but Android System WebView that caused the app to crash. Several other users on Google Play Store have left responses such as Crashes apps without any error.

EDIT:

Jonathan Pryor on Xamarin Bugzilla posted this comment:

As mentioned in Comment #2 and Comment #3, the problem is that the Google Play Service WebView and related types is clobbering existing SIGSEGV handlers, which screws things up for all native code which relies on signal handlers (e.g. Houdini).

As a workaround, it is possible to remove the need for a SIGSEGV handler for NullReferenceException raising, by setting the MONO_DEBUG variable to contain the value "explicit-null-checks":

http://docs.go-mono.com/?link=man%3amono(1)

This can be done by adding a file to your App project with a Build action of AndroidEnvironment:

http://developer.xamarin.com/guides/android/advanced_topics/environment/

Then adding the following line to the file:

MONO_DEBUG=explicit-null-checks
like image 31
Fhl Avatar answered Oct 16 '22 09:10

Fhl