I spent part of this morning chasing down a bug that’s bothered me all through Paperclip’s life-cycle. I kept thinking that the problem was with me. Perhaps I wasn’t utilizing Applescript correctly. I remained stymied as I couldn’t figure out anything that would resolve the issue. Well, I think I stumbled upon the problem today. I was about to take one more shot at it before I saw this. Apparently, Applescript is crash-prone when Cocoa’s Garbage Collection is turned on. I suspect that it also crashes when Garbage Collection is merely enabled. In any case, I turned it off and haven’t had a problem since.
The worst part of this is that it’s not a consistent crash. It happens whenever it feels like. I’ve run Paperclip for several days before a crash. Other times, Paperclip will run for a few minutes. It was impossible for me to reliable diagnose and resolve since I never if I had fixed it or not (for those times when Paperclip would run for a while).
In the end, Apple still hasn’t resolved this bug. Perhaps it’s fixed in Snow Leopard (10.6). In any case, I find it rather disheartening that Apple would release Leopard with a buggy bridge between Cocoa and Applescript. Imagine, every Cocoa app built with GC can and will crash during some Applescript operation at some point. How did that get based QA?
Leave a Reply