在我的Android应用程序中,我正在使用解析库,并且正在获取StackOverflowError.No特定触发器,我可以找到它。随机发生。有时会发生,有时不会。
这是我的堆栈跟踪。
java.lang.StackOverflowError
at java.lang.ref.FinalizerReference.add(FinalizerReference.java:54)
at java.security.MessageDigestSpi.<init>(MessageDigestSpi.java:30)
at java.security.MessageDigest.<init>(MessageDigest.java:69)
at com.android.org.conscrypt.OpenSSLMessageDigestJDK.<init>(OpenSSLMessageDigestJDK.java:53)
at com.android.org.conscrypt.OpenSSLMessageDigestJDK.<init>(OpenSSLMessageDigestJDK.java:25)
at com.android.org.conscrypt.OpenSSLMessageDigestJDK$MD5.<init>(OpenSSLMessageDigestJDK.java:119)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1208)
at java.security.Provider$Service.newInstance(Provider.java:998)
at org.apache.harmony.security.fortress.Engine.getInstance(Engine.java:155)
at java.security.MessageDigest.getInstance(MessageDigest.java:91)
at com.parse.codec.digest.DigestUtils.getDigest(DigestUtils.java:88)
at com.parse.codec.digest.DigestUtils.getMd5Digest(DigestUtils.java:102)
at com.parse.codec.digest.DigestUtils.md5(DigestUtils.java:166)
at com.parse.codec.digest.DigestUtils.md5(DigestUtils.java:191)
at com.parse.codec.digest.DigestUtils.md5Hex(DigestUtils.java:227)
at com.parse.ParseJSONCacheItem.<init>(ParseJSONCacheItem.java:16)
at com.parse.ParseObject.checkForChangesToMutableContainer(ParseObject.java:1074)
at com.parse.ParseObject.checkForChangesToMutableContainers(ParseObject.java:1096)
at com.parse.ParseObject.isDirty(ParseObject.java:997)
at com.parse.ParseObject.isDirty(ParseObject.java:992)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174)
at com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980)
at com.parse.ParseObject.isDirty(ParseObject.java:998)
at com.parse.ParseUser.isDirty(ParseUser.java:95)
at com.parse.ParseObject.isDirty(ParseObject.java:992)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174)
at com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980)
at com.parse.ParseObject.isDirty(ParseObject.java:998)
at com.parse.ParseObject.isDirty(ParseObject.java:992)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174)
at com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980)
at com.parse.ParseObject.isDirty(ParseObject.java:998)
at com.parse.ParseUser.isDirty(ParseUser.java:95)
at com.parse.ParseObject.isDirty(ParseObject.java:992)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174)
at com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980)
at com.parse.ParseObject.isDirty(ParseObject.java:998)
at com.parse.ParseObject.isDirty(ParseObject.java:992)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174)
at com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980)
at com.parse.ParseObject.isDirty(ParseObject.java:998)
at com.parse.ParseUser.isDirty(ParseUser.java:95)
at com.parse.ParseObject.isDirty(ParseObject.java:992)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174)
at com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980)
at com.parse.ParseObject.isDirty(ParseObject.java:998)
at com.parse.ParseObject.isDirty(ParseObject.java:992)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174)
at com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980)
at com.parse.ParseObject.isDirty(ParseObject.java:998)
at com.parse.ParseUser.isDirty(ParseUser.java:95)
at com.parse.ParseObject.isDirty(ParseObject.java:992)
at com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178)
正如我所说,努力但无法找到触发它的东西。解析器的任何帮助都会受到赞赏。谢谢
答案 0 :(得分:0)
问题是我在用户注册后立即检查匿名帐户链接,而在后台,当前用户正在进行保存任务。这使得解析库变得疯狂,所以我所做的就是使用回调进行保存并在保存完成后完成所有工作。