java.lang.StackOverflowError в Google Play Services Maps - PullRequest
0 голосов
/ 09 июня 2018

Я заметил увеличение количества сбоев StackOverflow в моем приложении, которые, похоже, указывают на карты Google Play Services.В настоящее время я использую версию 15.0.1 (com.google.android.gms: play-services-maps: 15.0.1) - но это началось около двух недель назад, когда я все еще использовал 15.0.0.Существует несколько сбоев, но все они приводят к возникновению StackOverflow при работе с Hashmaps или массивами из кода Карт (который запутан).Некоторые примеры сбоев (я просто скопировал следы стека в точку, где он переходит в код обфусцированных карт):

Fatal Exception: java.lang.StackOverflowError: stack size 1038KB
   at java.util.HashMap.remove(HashMap.java:617)
   at com.google.maps.api.android.lib6.gmm6.util.e.d(:com.google.android.gms.dynamite_dynamitemodulesb@12685021@12.6.85 (040306-197041431):29)

Fatal Exception: java.lang.StackOverflowError
   at java.util.ArrayList$ArrayListIterator.(ArrayList.java:551)
   at java.util.ArrayList.iterator(ArrayList.java:548)
   at java.util.Collections$UnmodifiableCollection$1.(Collections.java:953)
   at java.util.Collections$UnmodifiableCollection.iterator(Collections.java:952)
   at com.google.maps.api.android.lib6.common.i.iterator(:com.google.android.gms.dynamite_dynamitemodulesb@12685002@12.6.85 (000304-197041431):25)

Fatal Exception: java.lang.StackOverflowError: stack size 8MB
   at java.util.HashMap.createEntry(HashMap.java:826)
   at java.util.HashMap.addEntry(HashMap.java:813)
   at java.util.HashMap.put(HashMap.java:436)
   at com.google.maps.api.android.lib6.gmm6.util.e.b(:com.google.android.gms.dynamite_dynamitemodulesb@12685020@12.6.85 (040304-197041431):17)

Fatal Exception: java.lang.StackOverflowError: stack size 8MB
   at java.util.HashMap.removeEntryForKey(HashMap.java:597)
   at java.util.HashMap.remove(HashMap.java:584)
   at com.google.maps.api.android.lib6.gmm6.util.e.d(:com.google.android.gms.dynamite_dynamitemodulesb@12685023@12.6.85 (040400-197041431):29)


Fatal Exception: java.lang.StackOverflowError: stack size 8MB
   at java.util.ArrayList.(ArrayList.java:170)
   at com.google.maps.api.android.lib6.common.i.(:com.google.android.gms.dynamite_dynamitemodulesb@12685020@12.6.85 (040304-197041431):9)

У меня также есть ряд других сбоев непосредственно внутри кода обфусцированных карт.

Некоторая другая информация: карты не входят в основной поток моего приложения, поэтому им пользуются только около 8% моих пользователей - около 200 или около того звонков в день.На сегодняшний день это наихудшее из 62 сбоев, затрагивающих 13 пользователей - два дня назад было 42 сбоев, и в большинстве других дней у меня ноль сбоев.

Подвергались версии операционной системы: 7.0, 6.0.1, 4.4.2,7.1.1, 4.1.2, 5.1, 4.3

Устройства: Samsung, Sony, Lenovo, Moto E3 (что бы это ни было) и Huawei.

Любая помощь или указатели будут полезны!

...