Falha com thread: entry corrupt or truncated

Fiz uma thread para executar as funções que acessam meus dados no banco, via jtds mesmo, e está dando certo, quer dizer, quae certo…
através da thread eu chamo a função que acessa o banco, passando uma String que é o nome de uma cidade…

public void onClick(View v) 
			{
				try
				{												
					new Thread(new Runnable( )  
			          {  
			              
			             public void run( )  
			             {    			            	
			            	sqs.gravar(et_nome.getText().toString());
			            	Log.e("Teste", et_nome.getText().toString());
			             }  
			              
			          } ).start();    
					et_nome.setText("");
										
				}
				catch (Exception e)
				{										
					msg("Erro banco", e.getMessage());
					//Log.e("SQL", e.getMessage());
				}
			}
		});

a função recebe essa string e grava uma cidade no banco, ok… o problema é que em algumas vez (frequentemente) essa string vai vazia para a função, e o registro gravado no banco fica com o campo nome vazio…
para testar mandei imprimir no log essa string que é passada para a função de gravação, e vi então q qdo ela vai vazia para a função, no log aparece o seguinte: +++ LOG: entry corrupt or truncated.

Alguém tem alguma sugestão de como posso garantir que essa string vá certinha para a função? já viram akela mensagem do Log?

não sei por que a string tva indo vazia, corrompida… mas consegui contornar essa falha pegando o texto digitado no EditText fora da execução da thread… testei vaaaaaaaarias vezes e agora nenhuma vezx apareceu aquela mensagem no Log, sempre a string correta q eu digitei…

declarei String cid lá em cimão e depois fiz assim:

@Override
			public void onClick(View v) 
			{
				try
				{					
					cid = et_nome.getText().toString();					
					new Thread(new Runnable( )  
			          {  
			              
			             public void run( )  
			             {    			            	
			            	sqs.gravar(cid);
			            	Log.e("Teste", cid);
			             }  
			              
			          } ).start();    
					et_nome.setText("");
										
				}
				catch (Exception e)
				{										
					msg("Erro banco", e.getMessage());
					//Log.e("SQL", e.getMessage());
				}
			}
		});

assim ficou perfeito, gravando dados no meu banco sql server que está na minha máquina, pela aplicação android que roda no emulador, isso via jtds, como em Dektops