Reputation: 1570
Our hybrid app uses web views and starting with android version 4.4.3 on of the web views do not render. The app tries to load a HTTPS web view and just stays there for about 50 seconds after which it throws an exception similar to this one Android Fatal signal 11 (SIGSEGV) at 0x636f7d89 (code=1). How can it be tracked down?. Obviously we went down the path suggested in this SO to not much avail.
With our experiments we have determined the following
Though initially we thought its a lollipop/ART specific bug it doesn't look like that anymore. Any ideas on how should we proceed?
Actually crash happens at this location libwebviewchromium.so
Also the tombstone file is at - https://gist.github.com/prolificcoder/ebd82081b47640a3cae2
tombstone from device - https://gist.github.com/anonymous/2a6a28b2ec976075f587
Logcat logs - https://slack-files.com/T02RAT9SZ-F0351N4NW-997f5c
Upvotes: 3
Views: 1186
Reputation: 1570
Ok turns out the solution for the problem is in the layout. We didn't have android:orientation="vertical" before and I think the crash is happening when webview is trying to fit everything in the narrow space and somewhere while rendering fonts the app crashes.
Another dev discovered this while trying to create a better repro and observed the lint warnings in the sample project, strangely enough these didn't show up in the original app
<LinearLayout
android:id="@+id/webView_holder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="fill_parent"
android:max="100" />
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
I don't know how this would help any other person but lesson learned is that a layout messup can cause problems down the line
Upvotes: 0
Reputation: 3231
It looks like the Note3 libwebviwewchromium.so doesn't match the one you can build from AOSP but the x86 one does, so here is the symbolized stack.
Unfortunately it looks like you found a bug in Blink, the rendering engine used by the WebView. Whatever page you're trying to load seems to crash the WebView killing your app along with it. Could you verify that loading that particular URL in a different WebView (write a trivial WebView app or use a WebView-based browser) also crashes? If so then it would be ideal if you could share the URL or isolate the offending bit of HTML/CSS/JS and share that.
Upvotes: 2