保存最终导致堆栈溢出崩溃

时间:2014-08-11 02:23:12

标签: android parse-platform

我使用Android的解析1.5.1 sdk,直到最近都运行良好。 我们在进行生产之前在我们的解析服务器数据库上进行了一些表清理工作,因为每次我们尝试使用saveEventually'时都会发生堆栈溢出崩溃。到特定的表。

看起来在解析时(通过查看日志)安卓程序会发生某种递归。

有什么能解决它的线索? (顺便说一句,当使用' saveInBackground'它运作良好)

这是stacktrace:

0
java.lang.StackOverflowError的 1
在java.lang.ref.FinalizerReference.add(FinalizerReference.java:48) 2
在java.security.MessageDigestSpi。(MessageDigestSpi.java:30) 3
在java.security.MessageDigest。(MessageDigest.java:69) 4
在org.apache.harmony.xnet.provider.jsse.OpenSSLMessageDigestJDK。(OpenSSLMessageDigestJDK.java:53) 5
在org.apache.harmony.xnet.provider.jsse.OpenSSLMessageDigestJDK。(OpenSSLMessageDigestJDK.java:25) 6
在org.apache.harmony.xnet.provider.jsse.OpenSSLMessageDigestJDK $ MD5。(OpenSSLMessageDigestJDK.java:119) 7
at java.lang.Class.newInstanceImpl(Native Method) 8
在java.lang.Class.newInstance(Class.java:1319) 9
at java.security.Provider $ Service.newInstance(Provider.java:989) 10个
在org.apache.harmony.security.fortress.Engine.getInstance(Engine.java:155) 11个
在java.security.MessageDigest.getInstance(MessageDigest.java:91) 12个
在com.parse.codec.digest.DigestUtils.getDigest(DigestUtils.java:88) 13个
在com.parse.codec.digest.DigestUtils.getMd5Digest(DigestUtils.java:102) 14个
在com.parse.codec.digest.DigestUtils.md5(DigestUtils.java:166) 15个
在com.parse.codec.digest.DigestUtils.md5(DigestUtils.java:191) 16个
在com.parse.codec.digest.DigestUtils.md5Hex(DigestUtils.java:227) 17个
在com.parse.ParseJSONCacheItem。(ParseJSONCacheItem.java:16) 18个
at com.parse.ParseObject.checkForChangesToMutableContainer(ParseObject.java:1074) 19个
在com.parse.ParseObject.checkForChangesToMutableContainers(ParseObject.java:1096) 20个
在com.parse.ParseObject.isDirty(ParseObject.java:997) 21个
在com.parse.ParseUser.isDirty(ParseUser.java:95) 22个
在com.parse.ParseObject.isDirty(ParseObject.java:992) 23个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178) 24个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1168) 25个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174) 26个
在com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980) 27个
在com.parse.ParseObject.isDirty(ParseObject.java:998) 28个
在com.parse.ParseObject.isDirty(ParseObject.java:992) 29个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178) 30个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174) 31个
在com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980) 32个
在com.parse.ParseObject.isDirty(ParseObject.java:998) 33个
在com.parse.ParseObject.isDirty(ParseObject.java:992) 34个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178) 35个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1168) 36个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174) 37个
在com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980) 38个
在com.parse.ParseObject.isDirty(ParseObject.java:998) 39个
在com.parse.ParseObject.isDirty(ParseObject.java:992) 40个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178) 41个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174) 42个
在com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980) 43个
在com.parse.ParseObject.isDirty(ParseObject.java:998) 44个
在com.parse.ParseObject.isDirty(ParseObject.java:992) 45个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178) 46个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1168) 47个
在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174) 48个
在com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980) 49个
在com.parse.ParseObject.isDirty(ParseObject.java:998) 50个
在com.parse.ParseObject.isDirty(ParseObject.java:992)

... ... ...

540 在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178) 541 在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1168) 542 在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174) 543 在com.parse.ParseObject.hasDirtyChildren(ParseObject.java:980) 544 在com.parse.ParseObject.isDirty(ParseObject.java:998) 545 在com.parse.ParseObject.isDirty(ParseObject.java:992) 546 在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1178) 547 在com.parse.ParseObject.findUnsavedChildren(ParseObject.java:1174) 548 在com.parse.ParseObject.saveEventually(ParseObject.java:1559) 549 at com.sheep.ag.activities.GroupSettingsActivity.saveDataToParse(GroupSettingsActivity.java:1219) 550 at com.sheep.ag.activities.GroupSettingsActivity.onPause(GroupSettingsActivity.java:155) 551 在android.app.Activity.performPause(Activity.java:5304) 552 在android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1240) 553 在android.app.ActivityThread.performPauseActivity(ActivityThread.java:2889) 554 在android.app.ActivityThread.performPauseActivity(ActivityThread.java:2858) 555 在android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2836) 556 在android.app.ActivityThread.access $ 900(ActivityThread.java:140) 557 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1254) 558 在android.os.Handler.dispatchMessage(Handler.java:99) 559 在android.os.Looper.loop(Looper.java:137) 560 在android.app.ActivityThread.main(ActivityThread.java:4921) 561 at java.lang.reflect.Method.invokeNative(Native Method) 562 在java.lang.reflect.Method.invoke(Method.java:511) 563 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1027) 564 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) 565 在dalvik.system.NativeStart.main(本地方法)

1 个答案:

答案 0 :(得分:0)

尝试将ParseUser分配给正在保存的ParseObject的某个字段时遇到了同样的问题。

初始化ParseObject时,我使用了“ParseObject.create()”。当我切换初始化对象“new ParseObject()”时,它被修复了。