Problema Tomcat utilizando Socket no Linux

Pessoal,

Estou com um problema, possuo um cliente de Socket que busca uma informação. Funcionou perfeitamente durante 2 anos rodando no Tomcat no windows, agora migrei para o Linux (frebsd na verdade) e o mesmo não está funcionando mais.

O problema é que sempre retorna timeout quando aguardo o retorno do Socket.

		            InputStreamReader reader = new InputStreamReader(cliente.getInputStream());
		            BufferedReader in = new BufferedReader(reader);
	
		            String retornoSocket = " ";
		            String retorno       = "";
		           
	
		            while ((retornoSocket != null) && (!retornoSocket.equals(""))) {
		           	
		            	retornoSocket = in.readLine(); //Não Lê
		            	retorno = retorno + retornoSocket;

		            }

O firewall está liberado, e acompanhando os pacotes foi possível ver o retorno, entretando o java não consegue ler o readLine(), alguem já teve esse problema ou sabe alguma alternativa.

Valeu galera.

FreeBSD != Linux

O Java do FreeBSD é uma versão não mantida pela Sun, se não me engano. Pode ser que ela tenha algum comportamento ligeiramente diferente do Java do Linux.