Bug-free concurrency certainly is possible, it just requires more brain power than the average programmer possesses. Some people can do it with a handful of shared state variables wrapped in seperate mutexes and still prevent deadlocks just by thinking through their code very carefully.