Provavelmente você deseja selecionar uma consulta em uma tabela que é usada em uma transação sem transação finalizada antes. Tente executar
endTransaction()
no bloco de transação finalmente. OU
Você está atualizando duas tabelas e duas transações diferentes estão mantendo tabelas diferentes aguardando a liberação da outra.
OU
Simplesmente que existem muitas conexões abertas e o banco de dados ou o pool de conexões fica confuso.
Seja o que for, algo provavelmente está errado fora do exposto. Verifique cuidadosamente.
Mais - O pool de conexões não pôde conceder uma conexão ao thread.