Reputation: 5298
I'm seeing a lot of crash reports similar to the crash below, and I'm at a loss for how to diagnose the issue.
Crash heading in Google Developer Console:
Native crash at /data/app/com.google.android.webview-1/lib/arm/libwebviewchromium.so in /data/app/com.google.android.webview-1/lib/arm/libwebviewchromium.so, 26743 failed: Operation not permitted
Crash detail:
Build fingerprint:
'samsung/trltetmo/trltetmo:5.1.1/LMY47X/N910TUVU2DOK2:user/release-keys'
Revision: '12' ABI: 'arm' pid: 26743, tid: 29439, name:
DedicatedWorker >>> package-removed <<< signal
4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xa3f94e26
r0 00000053 r1 64499bb1 r2 64499bb1 r3 00000001
r4 66a99000 r5 a4b2fb94 r6 a4b53e60 r7 5e9fe8dc
r8 66a99010 r9 5e9fef24 sl 5e9ff128 fp a4b53e60
ip b6d4d929 sp 5e9fe818 lr a3cfe9d9 pc a3f94e26 cpsr 68030030
backtrace:
#00 pc 00db3e26 /data/app/com.google.android.webview-1/lib/arm/libwebviewchromium.so
ptrace attach to 26743 failed: Operation not permitted
ptrace attach to 26745 failed: Operation not permitted
ptrace attach to 26759 failed: Operation not permitted
ptrace attach to 26760 failed: Operation not permitted
" " " " " " " " " " " " " "
<repeats all the way down>
All these crash reports have signal 4 (SIGILL), code 1 (ILL_ILLOPC), and the same first line in the backtrace: "#00 pc 00db3e26 /data/app/com.google.android.webview-1/lib/arm/libwebviewchromium.so".
I'm seeing it on Android 5.0 and 5.1, across a variety of Samsung devices (Galaxy S5, Galaxy S6, Galaxy S4 Active, Galaxy Note4, etc.). All with the same address of 00db3e26.
Anyone else seeing this? Any help would be appreciated.
Upvotes: 53
Views: 2589
Reputation: 476
It's bit late, but this might help other people debug this in the future:
The SIGILL suggest either a invalid instruction, or more likely: the exiting of a non-void function without a (valid) return value.
The error
ptrace attach to failed: Operation not permitted
can be caused by two things:
ptrace()
- the kernel call - is already attached to the process or threaduserid
trying to do the ptrace()
does not have the rights to attach to the processIt is very likely that the two issue's are not directly related.
In general user right problems can best be debugged with a kernel tracer such as strace (man 1 strace), to see what application is trying to open, and why it fails:
shell # strace -s 1024 -f ./application
But in this case it seems that there is not a 'real' permission problem, but a problem inside a function that caused it to crash and try to invoke a debugger such as gdb that tried to attach to the processes without result.
In this case ltrace (man 1 ltrace) would be the better choice, since it will show exactly what functions was called with what params.
shell # ltrace -C ./application
In short: the "Operation not permitted" is likely not related to the error. The original error is likely a (premature) return without a return value, or a incorrect return value.
Upvotes: 0
Reputation: 2859
The crash report you provided where the crash occurred in WebView library specifically in libwebviewchromium.so
file in devices made by Samsung using Android 5.0 and 5.1.
Error: Operation not permitted (SIGILL, code 1)
Location: /data/app/com.google.android.webview-1/lib/arm/libwebviewchromium.so
(address 00db3e26)
Affected Devices: Having tested a number of devices based on Samsung, it can be concluded that it is best to use devices that work under the Android 5.0 and 5.1 (Galaxy S5, GS6, SG4 Active, Note Edge, etc. )
Make sure that there is no update available for the WebView library. Google might have come up with a patch to the specific crash in such a subsequent version. This can be achieved either through Google play store or if you are using a build tool like Gradle, updating on your application dependencies.
However, if updating is not possible, then based on the type of application, you may have to utilize a workaround.
Some possibilities include:
hardware acceleration
may solve.if (Build.VERSION.SDK_INT >= 19) {
// chromium, enable hardware acceleration
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
} else {
// older android version, disable hardware acceleration
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
However, if updating does not solve the problem, think about submitting the crash to the Google’s WebView group. Also, add the crash report that you described here, and all the information how your application is used and how it is possible to reproduce such a crash. You can report issues through the bug tracker:
From the crash report the system reported is Android 5.0 and 5.1, it should also be pointed out, this issue may refer not only to these versions. This could equally happen on other Android versions though the probability may not be as frequent as in the latest Android.
Reference links :
Upvotes: 0