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)
Sounds like you are using an older version of Realm? This should be fixed in 1.0.0 and onwards. See e.g https://realm.io/docs/java/0.88.0/#gson for how to set a proper ExclusionStrategy
.
Gson gson = new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.create();
And
gson.toJson(realm.copyFromRealm(obj));
@David-Kuper I assume the above solved your problem. If not, feel free to re-open.
Most helpful comment
And