Gson: ANdroid studio java.lang.StackOverflowError: stack size 1036KB

Created on 6 Sep 2015  ·  14Comments  ·  Source: google/gson

Caused by: java.lang.StackOverflowError: stack size 1036KB
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:537)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:544)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:544)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:544)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:544)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:544)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:544)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:544)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:544)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:544)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:109)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl. 09-06 11:07:00.390 17433-17569/za.co.tuluntulu E/JavaBinder﹕ !!! FAILED BINDER TRANSACTION !!!
09-06 11:07:00.392 17433-17569/za.co.tuluntulu E/AndroidRuntime﹕ Error reporting crash
android.os.TransactionTooLargeException
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:496)
at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:4164)
at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:89)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)

Most helpful comment

What are you serializing? It looks like the object is either ridiculously large or self-referential.

All 14 comments

I am getting this error , when running project using API level 22.

I am getting this error , when running project using API level 22.

What are you serializing? It looks like the object is either ridiculously large or self-referential.

I get the error message like this:

java.lang.StackOverflowError: stack size 1036KB
    at com.google.gson.internal.b.a($Gson$Types.java:109)
    at com.google.gson.internal.b$c.<init>($Gson$Types.java:544)
    at com.google.gson.internal.b.a($Gson$Types.java:109)
    at com.google.gson.internal.b$c.<init>($Gson$Types.java:551)
    at com.google.gson.internal.b.a($Gson$Types.java:109)
    at com.google.gson.internal.b$c.<init>($Gson$Types.java:544)
    at com.google.gson.internal.b.a($Gson$Types.java:109)
    at com.google.gson.internal.b$c.<init>($Gson$Types.java:551)
    at com.google.gson.internal.b.a($Gson$Types.java:109)
......
        at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.b.create(CollectionTypeAdapterFactory.java:52)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.b.create(CollectionTypeAdapterFactory.java:52)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:46)
    at com.google.gson.internal.bind.j.<init>(ReflectiveTypeAdapterFactory.java:92)
    at com.google.gson.internal.bind.i.a(ReflectiveTypeAdapterFactory.java:142)
    at com.google.gson.internal.bind.i.create(ReflectiveTypeAdapterFactory.java:83)
    at com.google.gson.Gson.getAdapter(Gson.java:359)
    at com.google.gson.Gson.fromJson(Gson.java:809)
    at com.google.gson.Gson.fromJson(Gson.java:875)
    at com.google.gson.Gson.fromJson(Gson.java:848)

all device is Oppo, os version is Android 5.1.1

This problem is not solved?

I get the same exception when I using Gson to Serialize String to RealmObject.
String json = "
{
"date": "2016-01-05",
"week": "星期二",
"curTemp": "-7℃",
"aqi": "53",
"fengxiang": "西南风",
"fengli": "微风级",
"hightemp": "-4℃",
"lowtemp": "-16℃",
"type": "晴"
} ";

Gson gson = new Gson();
Weather weather = gson.from(json,Weather.class);

public class Weather extends RealmObject {
@PrimaryKey
private String date;
.......
//getXX/setXX
}

I've solved this problem like this.
https://gist.github.com/Retistic/9afece43e3d01f017f8b

In my case there was a reference loop between parent and child object.

Am still getting with api 22 in Android Nougat

I have this error

06-07 10:18:41.901 29566-29566/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.wink.latraccia, PID: 29566
java.lang.StackOverflowError: stack size 8MB
at com.google.gson.internal.$Gson$Types.checkNotPrimitive($Gson$Types.java:434)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.interna
06-07 10:18:42.086 29566-29566/? D/Error: ERR: exClass=java.lang.StackOverflowError
06-07 10:18:42.086 29566-29566/? D/Error: ERR: exMsg=stack size 8MB
06-07 10:18:42.086 29566-29566/? D/Error: ERR: file=$Gson$Types.java
06-07 10:18:42.086 29566-29566/? D/Error: ERR: class=com.google.gson.internal.$Gson$Types
06-07 10:18:42.086 29566-29566/? D/Error: ERR: method=checkNotPrimitive line=434
06-07 10:18:42.115 29566-29566/? D/Error: ERR: stack=java.lang.StackOverflowError: stack size 8MB
at com.google.gson.internal.$Gson$Types.checkNotPrimitive($Gson$Types.java:434)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:551)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:553)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson.internal.$Gson$Types$WildcardTypeImpl.($Gson$Types.java:546)
at com.google.gson.internal.$Gson$Types.canonicalize($Gson$Types.java:111)
at com.google.gson
06-07 10:18:42.115 29566-29566/? D/Error: ERR: TOTAL BYTES WRITTEN: 2659588
06-07 10:18:42.115 29566-29566/? E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!
06-07 10:18:42.123 29566-29566/? E/AndroidRuntime: Error reporting crash
android.os.TransactionTooLargeException
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:496)
at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:4157)
at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:96)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
06-07 10:18:42.123 29566-29566/? I/Process: Sending signal. PID: 29566 SIG: 9

This happened to me today when I was upgrading retrofit in an android app from 1.9 to 2.x. I'm also using Realm so all my objects extends RealmObject. I found that Gson needed to be configured properly for Realm and Gson to work together.

https://realm.io/docs/java/latest/#gson
https://gist.github.com/cmelchior/ddac8efd018123a1e53a

This solved my problem but I don't know why this stackoverflow error didn't happen in Retrofit 1.9 which was using and earlier version of Gson.

i have the same issue
how to solve this problem? anyone

i have the same issue
how to solve this problem? anyone

i have the same issue
how to solve this problem? anyone

StackOverflowError is usually caused by an overwhelming stack size (too many methods calling each other)

Sometimes it is caused by methods calling themselves recursively (imagine a method that keeps calling itself forever!).

Fixing the issue depends on whether it is caused by a programmatic mistake, or just an insufficient max-stack-size limitation on your application.

I recommend that you check your code for recursive calls and make sure no method will keep calling itself endlessly.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

GoogleCodeExporter picture GoogleCodeExporter  ·  15Comments

danieleguiducci picture danieleguiducci  ·  34Comments

GoogleCodeExporter picture GoogleCodeExporter  ·  19Comments

ominfowave picture ominfowave  ·  13Comments

GoogleCodeExporter picture GoogleCodeExporter  ·  25Comments