[Chandler-dev] Re: Bugs found only in debug versions

D John Anderson john at osafoundation.org
Sun Sep 2 15:26:22 PDT 2007


On Sep 2, 2007, at 2:02 PM, Katie Capps Parlante wrote:

> Hi John,
>
> It sounds like some of the errors you found that others couldn't  
> reproduce were problems only seen in the debug version.
>
> In particular, there are a series of "empty trash" related bugs  
> that we've seen both on Linux and XP, only in the debug version:
>
> Bug 10739: Unsubscribed PreviewCountdown collection, Emptied Trash  
> - line 202, in GetElementValue, assert False, AssertionError
> https://bugzilla.osafoundation.org/show_bug.cgi?id=10739
>
> Bug 10720: AssertionError when emptying Trash of OOTB items
> https://bugzilla.osafoundation.org/show_bug.cgi?id=10720
>
> Bug 10652: RC1 Linux: index error on empty trash
> https://bugzilla.osafoundation.org/show_bug.cgi?id=10652

There is some new information about this bug, also noted in the bug  
report. This problem is caused by the table being out of sync with  
the data it's trying to display. We've fixed other bugs like this,  
which were also timing dependent. This particular bug causes Chandler  
to access an item that doesn't exist in an index. The error probably  
happens in both the debug and release versions, however only the  
debug version detects the problem with an assert. I think it's  
unclear what the consequence of this bug is in the release version  
since I don't know what happens when we try to access an item that  
doesn't exist in and index, and the problem isn't reliably reproduced.

If you'd like I could find out the consequence of the bug in the  
release version.

>
> As you have pointed out, problems found only in the debug version  
> can be hints of something being wrong in general. That

Problems found only in the debug version aren't usually just "hints"  
of something being wrong in general, they are usually clear-cut  
situations where something has gone wrong and usually have  
unpredictable results in the release version.

Bugs in the debug version are often reported by asserts. Asserts  
report situations that the programmer who wrote the code would call  
an error, and you should assume that Chandler won't work correctly in  
such situations. Usually these bugs occur in both the release and  
debug version, but the release version doesn't report the error  
because it doesn't have the assert. The result of these bugs in the  
release version is unpredictable, not always immediately obvious, but  
probably more often serious than not.

It usually isn't safe to conclude that the assert in the debug  
version isn't a problem by just trying to reproduce the bug in the  
release version. Typically you need to have the programmer look at  
the cause of the error with an understanding of the error and code  
involved.

That said, I'm not suggesting we hold up the release for any  
particular bug. I just want to provide the most accurate information  
to help the bug council make their decisions.

John



More information about the chandler-dev mailing list