Skip to content
This repository has been archived by the owner on Feb 19, 2020. It is now read-only.

OutOfMemoryError in contentsOfFile method while loading stacktrace #377

Closed
arcao opened this issue May 14, 2018 · 4 comments
Closed

OutOfMemoryError in contentsOfFile method while loading stacktrace #377

arcao opened this issue May 14, 2018 · 4 comments
Labels

Comments

@arcao
Copy link

arcao commented May 14, 2018

Hi guys,

we started to use HockeySDK for the test releases in our app (currently SDK ver. 5.1.0, but it occurs on older versions too). We found several crash reports from one specific device, see bellow.

I guess some older crash has been created with too long stack trace and when HockeySDK is trying to send a crash report, it crash on OutOfMemoryError because the stack trace is too big to be loaded into memory.

Unfortunately this device doesn't belong us, so we can't check stack trace content stored by HockeySDK. Anyway I included a few examples of that crashes. Could you please check that?

Package: xxx
Version Code: xxx
Version Name: xxx
Android: 5.1.1
Android Build: LMY48T
Manufacturer: LGE
Model: Nexus 4
Thread: AsyncTask #2-897
CrashReporter Key: 9cdb43dd-ddbb-4931-b00c-1ee809775081
Start Date: 2018-05-09T07:49:29.188Z
Date: 2018-05-09T12:00:30.806Z

java.lang.RuntimeException: An error occured while executing doInBackground()
	at android.os.AsyncTask$3.done(AsyncTask.java:304)
	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
	at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
	at java.util.concurrent.FutureTask.run(FutureTask.java:242)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
	at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.OutOfMemoryError: Failed to allocate a 37657308 byte allocation with 16776928 free bytes and 27MB until OOM
	at java.lang.String.<init>(String.java:400)
	at java.lang.AbstractStringBuilder.toString(AbstractStringBuilder.java:633)
	at java.lang.StringBuilder.toString(StringBuilder.java:663)
	at net.hockeyapp.android.CrashManager.contentsOfFile(CrashManager.java:772)
	at net.hockeyapp.android.CrashManager.submitStackTrace(CrashManager.java:379)
	at net.hockeyapp.android.CrashManager.access$500(CrashManager.java:47)
	at net.hockeyapp.android.CrashManager$8.doInBackground(CrashManager.java:647)
	at net.hockeyapp.android.CrashManager$8.doInBackground(CrashManager.java:639)
	at android.os.AsyncTask$2.call(AsyncTask.java:292)
	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
	... 3 more
Package: xxx
Version Code: xxx
Version Name: xxx
Android: 5.1.1
Android Build: LMY48T
Manufacturer: LGE
Model: Nexus 4
Thread: AsyncTask #2-1097
CrashReporter Key: 9cdb43dd-ddbb-4931-b00c-1ee809775081
Start Date: 2018-05-09T12:00:34.373Z
Date: 2018-05-09T12:47:56.616Z

java.lang.RuntimeException: An error occured while executing doInBackground()
	at android.os.AsyncTask$3.done(AsyncTask.java:304)
	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
	at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
	at java.util.concurrent.FutureTask.run(FutureTask.java:242)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
	at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.OutOfMemoryError: Failed to allocate a 41338624 byte allocation with 16777216 free bytes and 29MB until OOM
	at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:95)
	at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:146)
	at java.lang.StringBuilder.append(StringBuilder.java:216)
	at net.hockeyapp.android.CrashManager.contentsOfFile(CrashManager.java:759)
	at net.hockeyapp.android.CrashManager.submitStackTrace(CrashManager.java:379)
	at net.hockeyapp.android.CrashManager.access$500(CrashManager.java:47)
	at net.hockeyapp.android.CrashManager$8.doInBackground(CrashManager.java:647)
	at net.hockeyapp.android.CrashManager$8.doInBackground(CrashManager.java:639)
	at android.os.AsyncTask$2.call(AsyncTask.java:292)
	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
	... 3 more
Package: xxx
Version Code: xxx
Version Name: xxx
Android: 5.1.1
Android Build: LMY48T
Manufacturer: LGE
Model: Nexus 4
Thread: AsyncTask #1-2081
CrashReporter Key: 9cdb43dd-ddbb-4931-b00c-1ee809775081
Start Date: 2018-05-14T11:42:48.310Z
Date: 2018-05-14T13:13:44.578Z

java.lang.RuntimeException: An error occured while executing doInBackground()
	at android.os.AsyncTask$3.done(AsyncTask.java:304)
	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
	at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
	at java.util.concurrent.FutureTask.run(FutureTask.java:242)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
	at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.OutOfMemoryError: Failed to allocate a 41338624 byte allocation with 16777216 free bytes and 29MB until OOM
	at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:95)
	at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:146)
	at java.lang.StringBuilder.append(StringBuilder.java:216)
	at net.hockeyapp.android.CrashManager.contentsOfFile(CrashManager.java:791)
	at net.hockeyapp.android.CrashManager.submitStackTrace(CrashManager.java:405)
	at net.hockeyapp.android.CrashManager.access$700(CrashManager.java:49)
	at net.hockeyapp.android.CrashManager$9.doInBackground(CrashManager.java:676)
	at net.hockeyapp.android.CrashManager$9.doInBackground(CrashManager.java:660)
	at android.os.AsyncTask$2.call(AsyncTask.java:292)
	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
	... 3 more

...

@MatkovIvan
Copy link
Contributor

Hi @arcao,

Thanks for getting in touch!
We are working on reducing memory usage. You can track progress in related PR.

Best,
Ivan

@MichalStranik
Copy link

Any progress? Our customer is getting crashes by tool which should help to fix crashes, not make them. Doesn´t look good.

@guperrot
Copy link
Collaborator

A fix was merged but the release is planned after the fixes related to Android P.

@ElektrojungeAtWork
Copy link
Contributor

Hey!
We've included fixes in the latest SDK release (5.1.1) for this. I'm closing the issue but please reopen if you run into this again.

Thx for using HockeyApp!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants