View Single Post
I use no such software, and have been specifically asked by support ninjas about that, and to verify the permissions are correct on the cache file. Only OmniFocus manipulates that file on my system, and it was agreed that the permissions were correct. I've also been told that it wasn't thought to happen very often, and that no one had figured out how to reproduce it, so it hadn't been fixed. I responded to the former by filing a new bug each time I saw it; it is a well-known rule of thumb that many customers will not go to any effort to report problems unless the impact is severe, so the prevalence of issues that don't cause a crash, obvious data loss or the like is typically vastly underestimated. As for the "we can't fix it if we can't make it happen in the lab" argument, a search of your database will find a number of bug reports from me over the years offering to run instrumented images and even offering to provide remote debugger access, offers which I also made in person to you at Macworld years ago while discussing another such bug (also still unfixed). I don't think I can reasonably be faulted here for failing to bring this to your (collective) attention or to cooperate in tracking it down!

If the group mindset at Omni is truly that bugs which cannot be reproduced on demand are unfixable, allow me to congratulate you on choosing to focus on a business model where no single customer's business makes an appreciable impact on the bottom line. My professional experience has been different. Both customers and management took the not unreasonable view that paying substantial sums for our products or compensation meant that they wouldn't have to listen to excuses, and that we in turn would solve even the inconvenient problems. Truth be told, many of us resented any implication that we might not be up to the challenge of solving the puzzle. Finding bugs by reasoning and analysis was once a necessary skill for those who wrote software. As this was before the advent of "ethically sourced software" such activities (along with additional development) frequently took place late at night and even on weekends! :)

A standard approach to finding the cause of a contention issue as this appears to be would be to buffer a circular trace in memory of users of that resource and dump the contents of the buffer to the log if the problem is encountered. Building a decent trace facility takes some effort, but once you have it, you have a valuable tool for tracking down sporadic issues and more easily analyzing bugs which may be reproduced on demand but have complicated underlying causes. You'll find plenty of nails to hit with your new hammer!