Non sono molto esperto di concorrenza, ma potresti provare all'interno di ciascun asynctask:
synchronized (oggettoDiCuiFareIlLock){
//Usi l'oggetto di cui sopra
}
Comunque, sicuro si tratti di un errore di questo tipo? Da quello che hai postato non si capisce.
non riesco a capirlo, quello che mi ha fatto pensare alla concorrenza è questo
09-06 11:19:49.840: WARN/System.err(23421): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
09-06 11:19:49.840: WARN/System.err(23421): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
09-06 11:19:49.840: WARN/System.err(23421): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
09-06 11:19:49.850: WARN/System.err(23421): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
ma probabilmente è solo il nome del pacchetto che gestisce i thread