In debug builds, in addition to a backtrace, don’t assertions already provide a 
text description and a line number?

Perhaps we need a more searchable way to record these fields in our bug 
tracking databases. But it’s not immediately clear to me why adding a third 
field would help.

Geoff

> On Nov 6, 2014, at 11:19 AM, Said Abou-Hallawa <sabouhall...@apple.com> wrote:
> 
> Recently I ran into an issue where I wanted to find if there is a bug filed 
> against a certain assertion. The only way I was able to use is to search for 
> the name of the function which has the assertion.  The function can be 
> overloaded or the function can have more than one assertion.  So I found it 
> difficult to track the assertion I am interested in.  In future if the 
> function gets renamed, it will be even more difficult.
> 
> I have a suggestion for this.
> 
> A pre-build tool will tag every new assertion after the change is committed.  
> For example in the code I will add the following assertion:
> 
>       ASSERT(condition);
> 
> The pre-build tool will change it to be:
> 
>       ASSERT_TAG(condition, “abcde”);
> 
> where “abcde” is a unique tag in all the source code.  A database should be 
> maintained by the build process to keep track what tags are available to be 
> assigned.
> 
> When the assertion fires, the dump may look like the following:
> 
>       ASSERTION FAILED (tag: abcde) condition
>       … rest of the call-stack
> 
> In Bugzilla, there should be a field for the assertion tag.  If I want to 
> file an assertion bug, I should be filling this field like the following:
> 
>       Product:                WebKit
>       Summary:        ASSERTION failed in someFunction
>       Assertion tag:  abcde
>       Description:
>       Attachment:
> 
> Later if the assertion fires, from the dump I can know exactly what assertion 
> fired.  And more importantly I can search for it easily.  In the Bugzilla 
> search page, I should see a field for the assertion tag in the simple search 
> page:
> 
>       Status:         All
>       Product:                WebKit
>       Words:
>       Assertion tag:  abcde
> 
> This search will bring me all the opened bugs in WebKit which has the 
> assertion tag = “abcde” if there is any.
> 
>       ID              Product         Comp    Assignee        Status  
> Resolution      Assertion tag   Summary
>       12345   WebKit                                                          
>                                 abcde                   ASSERTION failed in 
> someFunction
> 
> Thanks,
> Said
> 
> _______________________________________________
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to