Sebastian Suchanowski Notatki programisty

20Apr/130

Invalid length for a Base-64 char array

Ostatnimi czasy zawodowo zajmuje się rzeczami związanymi z iDoc24 (www.iDoc24.com i www.stdtriage.com) i to jest teraz moim głównym obowiązkiem, ale nie tylko sprawy dotyczące aplikacji iOS ale także backend do nich (cała platforma, która została na początku napisana w asp.net – bleh! :p) nad którym wylewam siódme poty. W trakcie tej pracy napotykam na całe mnóstro problemów rożnej maści – postaram się podzielić rozwiązaniami na bieżąco.

Tutaj mamy najważniejszą linię z stack trace’a który otrzymałem

1
at System.Convert.FromBase64String(String s)
20Aug/110

Read from storage 0 bytes, but requested 12 bytes

Od czasu do czasu ten błąd może pojawić się, gdy na przykład proces InliteJ zostanie ubity czy to ręcznie czy przez chwilową utratę zasilania, reset czy bluescreen (pozdro dla fanów Windowsa;) ). W takim wypadku jest duża szansa na to ze uszkodziliśmy cache i należy go wyczyścić, aby przywrócić działanie idei. Robimy to poprzez menu File -> Invalidate Cache. Przy następnym uruchomieniu danego projektu idea będzie musiała przebudować wcześniej usunięty cache dlatego też rozpocznie się ponowne indexowanie co może chwile potrwać. Jeśli problem nadal występuje musimy ręcznie wyczyścić cache danego projektu, robimy to poprzez usunięcie folderów:

  • Users\user\.IntelliJIdea90\system\caches
  • Users\user\.IntelliJIdea90\system\compiler\project\.caches