Java.lang.StackOverflowError: stack size 8MB Error checking permission

This stack size error only occurs on some devices.

public void configureLocation() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
       //Error occurs in the following line 
if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.INTERNET}, 10);
        } else {
            requestLocationUpdate();
        }
    } else {
        requestLocationUpdate();
    }
}

java.lang.StackOverflowError: stack size 8MB
at android.app.ActivityManagerNative.getDefault(ActivityManagerNative.java:97)
at android.app.ContextImpl.checkPermission(ContextImpl.java:1644)
at android.content.ContextWrapper.checkPermission(ContextWrapper.java:721)
at android.support.v4.content.b.a(ContextCompat.java:432)
at com.kawasolutions.Kawa.d.a.d.R(MainFragment.java:326)
at com.kawasolutions.Kawa.d.a.d.a(MainFragment.java:569)

The configureLocation function is called only once in activity.

+4
source share

Source: https://habr.com/ru/post/1677897/


All Articles