Скорее всего, вы используете Java Serialization для связи между клиентом и сервером.
Для правильной работы Java Serialization у клиента и сервера должна быть совместимая версия файла класса (я также считаю, что Java не гарантировала совместимость типа сериализации между версиями, но я не могу сейчас найти документацию).
Когда у вас разные версии Java, вполне вероятно, что какой-то класс может иметь разную структуру (например, это будет Throwable
(суперкласс из Exception
)), который имеет новое поле suppressedExceptions
в Java7). Как правило, сериализация пытается вывести для нее осмысленное исключение, но в некоторых случаях оно может не сделать этого и выдает только StreamCorruptedException
.