Today’s Android headaches: multithreaded database access and some weirdness with asynchoronous tasks.
In the former, a lock-controlled read from the database gets stuck because some other operation (which one, I have no idea, all the other locked reads and writes should have been ready by that) has not released the lock. In the latter, an AsyncTask that (supposedly) should perform its operations in a certain order (pre-execute in the calling thread, the actual task in a background thread, and post-execute again in the calling thread) calls them in the wrong order (in this case, the pre-execute after post-execute).
Now, where did we put our booze…