Weird EOFException на Galaxy Nexus

Мое приложение Android использует URLConnection для подключения к веб-сервису. Это на рынке уже более года и работает неплохо. Однако проблемы с пользователями Galaxy Nexus появились недавно:

При получении входного потока (даже не чтения!) Из URLConnection например:

 final BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()), 8192); 

В getInputStream() EOFException .

Сначала я подумал, что это может быть проблема ICS, поэтому я установил раннюю версию моего Nexus S, но там я не смог воспроизвести проблему. Затем я получил доступ к Galaxy Nexus, который разбился так же, как и сообщения об ошибках, которые я получил, что заставляет меня поверить, что это, вероятно, не случай, когда один телефон действует странно.

Трассировку стека аварии можно увидеть здесь и весь код на GitHub . Это действительно странно, приложение имеет около 100k + установки на Android Market, и проблема, похоже, возникает только в Galaxy Nexus.

Любые подсказки или предложения были бы высоко оценены!

Я видел ту же проблему на моей Xperia Arc S (Note! Non-ICS) во время разработки моего приложения. Я почти уверен, что мы видим один и тот же симптом двух разных проблем.

В моем случае я читал весь поток как String UTF8, но реализация на стороне сервера ожидала, что я буду читать первый байт в виде числового byte а остальная часть – как String UTF8.

Я не уверен в деталях, почему я действительно получил EOFException , но, читая поток, обращая внимание на типы в пользовательском протоколе в нем, решил мою проблему.

Я вижу ту же ошибку в ICS, я «исправил» ее, отключив keepAlive:

  System.setProperty("http.keepAlive", "false");