В моем приложении 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 помощь от парсеров будет
было оценено
Добавьте некоторые коды/точки останова в свой код, чтобы найти, в какой момент появляется ошибка. Трассировка стека здесь не нужна без кода. StackOverflowErrors часто вызваны рекурсивными вызовами метода, который не прерывается/заканчивается; есть ли в вашем коде какие-либо рекурсивно называемые методы? – ataulm
Ну, я знаю, что это такое. И попробовал журналы и т. Д., Но это происходит, как только открывается приложение. Один из моих кодов вызывается как ясный из трассировки стека. В любом случае я делаю некоторые царапины головы. Будет сообщение, когда я что-то найду. благодаря – Mukul