2017-08-03 28 views
6

Otrzymuję ten błąd, jak mogę to naprawić?java.lang.InternalError Android

java.lang.InternalError: 
    at java.lang.Thread.nativeCreate (Native Method) 
    at java.lang.Thread.start (Thread.java:1063) 
    at java.util.concurrent.ThreadPoolExecutor.addWorker (ThreadPoolExecutor.java:920) 
    at java.util.concurrent.ThreadPoolExecutor.processWorkerExit (ThreadPoolExecutor.java:988) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:587) 
    at java.lang.Thread.run (Thread.java:818) 

Użytkownik wysyła mi jakieś info to chodzi o to:

java.lang.StringIndexOutOfBoundsException: length=0; regionStart=0; regionLength=1 
at java.lang.String.startEndAndLength(String.java:298) 
at java.lang.String.substring(String.java:1087) 
+16

Krok 1. Prześlij wystarczającą ilość kodu, abyśmy mogli odtworzyć problem. –

+0

To niemożliwe, otrzymuję ten błąd z powodu błędów konsoli Play. Jest to aplikacja z tysiącami wierszy @RoddyoftheFrozenPeas – Dahnark

+1

Wygląda na to, że twoja pula wątków nie może utworzyć nowego wątku. Jaki jest twój maksymalny rozmiar puli wątków? Ile wątków/puli próbujesz utworzyć? –

Odpowiedz

1

Wyjątkiem StringIndexOutOfBoundsException jest tylko, że ktoś próbował zadzwonić substring(0, 1) na pusty ciąg. Jeśli spojrzysz dalej w ślad stosu, czy to pochodzi z twojego kodu? Jeśli tak, to po prostu sprawdź, czy łańcuch nie jest pusty przed wywołaniem na nim kodu substring.

Co do Thread.nativeCreate, czy masz pewne wskazanie, że jest on powiązany z innym wyjątkiem od StringIndexOutOfBoundsException? Założę się, że nie, ponieważ nie dostarczyłeś żadnych informacji o ich związku. Najbardziej prawdopodobną przyczyną niepowodzenia jest wyczerpanie zasobów, albo wyczerpie się pamięć, albo skończy się dozwolony wątek na urządzeniu. Sprawdź, w jaki sposób uzyskujesz i konfigurujesz urządzenie ThreadPoolExecutor, sprawdzając, czy możesz przekroczyć jego parametry: MaximumPoolSize lub LargestPoolSize.

+0

Cóż, zaimplementowałem crashlytics (dzięki @benp. Bo mogłem se jego wątku). W przyszłej wersji otrzymam dokładniejsze raporty, a ja tu jeszcze wrócę ... ponieważ w tej chwili mam tylko te informacje z Play Console (naprawdę prawie nic) – Dahnark