2014-09-06 144 views
0

在我的Android应用程序中,我使用的是解析库,并且我得到了StackOverflowError.No特定的触发器,我可以找到它。随机发生。有时会,有时不。StackOverflowError使用parse.com库

这是我的堆栈跟踪。

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) 

正如我所说的,拼命也没有找到什么触发it.any从解析器帮助将appreciated.Thanks

+0

将一些日志/断点添加到您的代码中,以查找错误在哪一点显示。没有任何代码,这里的堆栈跟踪没有帮助。 StackOverflowErrors通常是由对不会中断/终止的方法进行递归调用引起的;你的代码中是否有递归调用的方法? – ataulm 2014-09-06 12:13:56

+0

嗯,我知道它是什么,并且已经尝试过日志等等,但是一旦应用程序打开,它就会发生。没有我的代码被称为从堆栈跟踪中清除。无论如何,我正在做一些头部划痕。将发布时,当我找到一些东西。谢谢 – Mukul 2014-09-06 15:31:51

回答

0

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