Feedback on bug reports

David B. Held dheld at codelogicconsulting.com
Sun Mar 18 18:20:06 PDT 2007


Thomas Kuehne wrote:
> [...]
> While the communication issue raised by the GPs is valid the question
> why bugs aren't fixed seems to be a much more pressing one.

This is a great point.  While D is more of a Benevolent Dictatorship 
than an Open-Source community, there is a *lot* that the community can 
do without Walter (like Mango, Tango, DTL, DDT, Descent, DForms, etc. ad 
nauseum).  Fixing bugs is important, but working around bugs is an even 
more important skill.

I spent nearly 10 years of my life putting bread on the table with a 
commercial compiler with spotty support (Borland C++Builder).  People 
would report bugs on the forums on an almost daily basis, but you were 
lucky if 10% of them got fixed in any given patch.  Eventually Borland 
released a tool to help give visibility to the bugs and progress being 
made, but it simply was not realistic to expect that even a team of a 
dozen or more professional compiler writers were going to fix all the 
bugs.  Instead, you learn to code around them.

Consider Boost.  It's arguably one of the most advanced source code 
libraries in existence, but it probably has far more conditional 
compilation than the average library because it demands portability. 
Most of those conditional blocks are due to compiler bugs in one 
implementation or another, and yet Boost is a very high-quality product. 
  Aleksey Gurtovoy got Boost.MPL to compile on VC++ 6.5!  If that is 
possible, then I'm sure it is possible to work around a good majority of 
the bugs that exist in D.

That is not to excuse D bugs.  Walter should be lashed with a wet noodle 
for every bug that exists in the compiler.  But the reality is that if 
everyone were paying him a $1,000/year support contract, everyone would 
still have open bugs, all the time (I know, because lots of Borland 
customers had much more expensive support contracts, and they still 
complained about open bugs).

In my view, it is important to continue filing bug reports and telling 
Walter which ones cause the most pain.  But at the same time, it is more 
productive to work around the bug with an obvious and ugly static if 
(BUG_123456_ISNT_FIXED_YET) and make progress.  Since the vast majority 
of areas in which D could use improvement (library support, namely, but 
tools as well) do not require direct intervention on Walter's part, the 
community would serve itself best by figuring out how to contribute, 
rather than how to whine.  And at the end of the day, you will be able 
to say you got to participate in the development of D.

Another thing which might be helpful is to have a Top 10 Worst Bugs page 
on the wiki where users can vote for the bugs which cause the most pain, 
as a hint to Walter where his efforts would be appreciated the most. 
Maybe there's something like that already, but I haven't stumbled across it.

Finally, the best way to improve D is to take Thomas up on his challenge 
  and help fix the compiler tests.  If necessary, add finer-grained unit 
tests.  It may well be that half the bugs reported are fixable in userspace.

Dave



More information about the Digitalmars-d mailing list