Sometimes when you write a complex piece of software like Ardour you are faced with a series of high level, interesting and complex design questions. Unfortunately, its also true that at other times you will be faced with problems that exist at the deepest levels of the software and are often trivial in their extent yet major in their impact.
Such has recently been the case with Ardour 2.0, which would not run with any reasonable stability when built with recent versions of the GTK+ GUI toolkit. One Ardour developer (and user), Sampo Savolainen, spent more than 6 weeks debugging this, and just recently got to the bottom of the problem. The error was a single line of code in GTK itself, and manifested in Ardour only because we made a call to a function that was never actually needed. Anyone interested can read the bug report that has been filed with the GTK team.
We would like to salute Sampo on his tenacity and resourcefulness. He needed to grapple with many different layers of code, several powerful debugging tools, and a bug that seemed to hide itself in new corners as often as he thought he understood it. There are harder bugs to solve, but this was a major accomplishment. Nobody should underestimate the complexity of solving problems like this.
There have not been many bugs during Ardour's existence that have required this kind of effort to fix, and hopefully there will be few in the future as well.