So, I have always been a bit sceptical of gdb. It consistently screws up traces when there are a number of threads. Worse in case of deadlocks ( mutex, semaphore etc), its even more useless.
I have been looking at this bug on and off for 30 mins now and i convinced gdb is lying. There is a lock up somwhere and when i break gdb says it breaks at fsync (bleh), but of course when i try to break on the function which actually uses fsync then gdb doesn’t break at that function at all. I want to dive into fixing this but i dont want to break the vow that “i wont touch/ fix/ read evolution code this week”. So for now it will have to be..