使用parse.com库的StackOverflowError

时间:2014-09-06 12:10:01

标签: java android parse-platform stack-overflow

在我的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)

正如我所说,努力但无法找到触发它的东西。解析器的任何帮助都会受到赞赏。谢谢

1 个答案:

答案 0 :(得分:0)

问题是我在用户注册后立即检查匿名帐户链接,而在后台,当前用户正在进行保存任务。这使得解析库变得疯狂,所以我所做的就是使用回调进行保存并在保存完成后完成所有工作。