4

In my Developer Console, occasionally I see a spike in the following crash:

java.lang.IllegalArgumentException
org.chromium.components.minidump_uploader.CrashFileManager.<init>

java.lang.RuntimeException: 
  at android.os.AsyncTask$3.done (AsyncTask.java:309)
  at java.util.concurrent.FutureTask.finishCompletion (FutureTask.java:354)
  at java.util.concurrent.FutureTask.setException (FutureTask.java:223)
  at java.util.concurrent.FutureTask.run (FutureTask.java:242)
  at android.os.AsyncTask$SerialExecutor$1.run (AsyncTask.java:234)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:588)
  at java.lang.Thread.run (Thread.java:818)
Caused by: java.lang.IllegalArgumentException: 
  at org.chromium.components.minidump_uploader.CrashFileManager.<init> (CrashFileManager.java:43)
  at org.chromium.android_webview.AwBrowserProcess$1.doInBackground (AwBrowserProcess.java:7)
  at android.os.AsyncTask$2.call (AsyncTask.java:295)
  at java.util.concurrent.FutureTask.run (FutureTask.java:237)
  at android.os.AsyncTask$SerialExecutor$1.run (AsyncTask.java:234)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:588)
  at java.lang.Thread.run (Thread.java:818)

Is this beyond my control? None of the above crash report actually relates directly to any method or class in my project, so I have no idea where to look. Furthermore, I am seeing none of these errors at all for weeks on end, then suddenly a spike over a couple of hours, then back to nothing:

enter image description here

The spikes don't coincide with any even I recognise, e.g. a new version release. This suggests to me that there's nothing much I can do, though it's annoying because it does seem to feed in to the Android Vitals stats. Also, the crashes are coming in from a whole range of Android versions and devices.

EDIT and since I first submitted this, a few days ago, there have been no further crash reports in this category:

enter image description here

EDIT2... and now I'm seeing more instances of this error... I haven't published any update to my app in this time frame so it's nothing I've broken (and it is really affecting my Android Vitals stats):

enter image description here

EDIT3... aaargh! Look at it now (haven't published a new version of the app for a couple of months now... so it's nothing I've done):

enter image description here

drmrbrewer
  • 11,491
  • 21
  • 85
  • 181
  • 2
    I'm seeing this too, and it's still growing – Felix.D Jan 15 '18 at 11:24
  • I would and the tag **android-webview** to your question, since it is crashing there ;O) `org.chromium.android_webview.AwBrowserProcess$1.doInBackground` i.e. [AwBrowserProcess.java method doInBackground(Void... params)](https://chromium.googlesource.com/chromium/src/+/refs/heads/master/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java) **IllegalArgument** got passed in. "See Pass Minidumps to a separate Service declared in the WebView provider package". maybe *eponymous* (for a Stackoverflow). More data required. Can you (on your own device) reproduce it ? – Jon Goodwin Feb 09 '18 at 20:12
  • Give us a break, what do you expect us to do ? Your code is *falling over* in the *falling over* code, it does what it can, but if you *blow the stack*, all bets are off, anything can happen. – Jon Goodwin Feb 09 '18 at 20:48
  • I'm experiencing the same issue. – WPMed Feb 26 '19 at 08:33

1 Answers1

0

I found solution about this issue : check your code , may be you erase catch directory or file before or after network request and perform any file process like make a zip , extract a zip or compress , extract that means you are using any file process which is taking temporary catch memory so, that time you call any erase catch memory then this type issue create.

In my application . i used below code for erasing catch so, i am getting this type issue.

 private   void deleteCache(Context context) {
    try {
        File dir = context.getCacheDir();
        deleteDir(dir);
    } catch (Exception ignore) {
    }
}

private   boolean deleteDir(File dir) {
    if (dir != null && dir.isDirectory()) {
        String[] children = dir.list();
        for (String aChildren : children) {
            boolean success = deleteDir(new File(dir, aChildren));
            if (!success) {
                return false;
            }
        }
        return dir.delete();
    } else
        return dir != null && dir.isFile() && dir.delete();
}
Gautam Kushwaha
  • 281
  • 3
  • 15