Без исходника приходится проявлять телепатические способности. Скорее всего кто-то где-то закрывает BufferedInputStream, который в System.in. Поставьте брейкпоинт на вход в метод BufferedInputStream.close() и посмотрите, как вы там оказываетесь. Если туда попадаете слишком часто, сделайте брейкпоинт условным по this == System.in.