android - Why parsing StackOverflowException throws OOM? -


i noticed, app users got error:

fatal exception: java.lang.outofmemoryerror: outofmemoryerror thrown while trying throw outofmemoryerror; no stack available 

so, had written pretty simple app:

public class mainactivity extends appcompatactivity {      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          log.d("tag", "" + getfoo());     }      private int getfoo() {         return getbar();     }      private int getbar() {         return getfoo();     } } 

who throws oom while parsing stackoverflowexception not able stacktrace in log:

01-20 13:51:06.250 8134-8134/lt.neworld.java e/art: throwing outofmemoryerror "failed allocate 16482048 byte allocation 12515386 free bytes , 11mb until oom" 01-20 13:51:06.250 8134-8134/lt.neworld.java e/androidruntime: error reporting crash      java.lang.outofmemoryerror: failed allocate 16482048 byte allocation 12515386 free bytes , 11mb until oom          @ java.lang.abstractstringbuilder.enlargebuffer(abstractstringbuilder.java:95)          @ java.lang.abstractstringbuilder.append0(abstractstringbuilder.java:125)          @ java.lang.stringbuffer.append(stringbuffer.java:278)          @ java.io.stringwriter.write(stringwriter.java:123)          @ com.android.internal.util.fastprintwriter.flushlocked(fastprintwriter.java:358)          @ com.android.internal.util.fastprintwriter.appendlocked(fastprintwriter.java:303)          @ com.android.internal.util.fastprintwriter.write(fastprintwriter.java:625)          @ com.android.internal.util.fastprintwriter.append(fastprintwriter.java:658)          @ java.io.printwriter.append(printwriter.java:691)          @ java.io.printwriter.append(printwriter.java:31)          @ java.lang.throwable.printstacktrace(throwable.java:324)          @ java.lang.throwable.printstacktrace(throwable.java:300)          @ android.util.log.getstacktracestring(log.java:340)          @ com.android.internal.os.runtimeinit.clog_e(runtimeinit.java:59)          @ com.android.internal.os.runtimeinit.access$200(runtimeinit.java:43)          @ com.android.internal.os.runtimeinit$uncaughthandler.uncaughtexception(runtimeinit.java:85)          @ java.lang.threadgroup.uncaughtexception(threadgroup.java:693)          @ java.lang.threadgroup.uncaughtexception(threadgroup.java:690) 

have idea how can fix oom or how stacktrace in prod?

update:

threadgroup group = new threadgroup("threadgroup"); new thread(group, new runnable() {     private void stackoverflow() {         stackoverflow();     }     @override     public void run() {         stackoverflow();     } }, "name", 20).start(); 

Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -