mgrang added a comment.

In D50488#1403653 <https://reviews.llvm.org/D50488#1403653>, @Szelethus wrote:

> In D50488#1403197 <https://reviews.llvm.org/D50488#1403197>, @mgrang wrote:
>
> > > It's because it invokes CodeChecker, which by default enables 
> > > valist.Uninitialized, but not ValistBase. Do you have assert failures 
> > > after my hotfix?
> >
> > @Szelethus Thanks. I run into this assert when run through CodeChecker:
> >
> >   Assertion `CheckerTags.count(tag) != 0 && "Requested checker is not 
> > registered! Maybe you should add it as a " "dependency in Checkers.td?"'
> >
> >
> > Is there a workaround?
>
>
> Uhh, I'm afraid the only way out is to actually fix the problem :) couple 
> questions:
>
> 1. Are you *sure* that you rebased to rC354235 
> <https://reviews.llvm.org/rC354235> (which is the hotfix I mentioned), 
> CodeChecker runs *that* clang when the assert failure happens?


I guess, I totally missed your hotfix. After sync'ing to the latest sources I 
no longer hit the assert. Thanks!

> 2. Can you provide a stacktrace? Luckily, that would for sure point me to the 
> problematic checker.
> 
> In D50488#1403199 <https://reviews.llvm.org/D50488#1403199>, @mgrang wrote:
> 
>> Also I don't see the helptext for PointerSorting when I run:
>>
>>   clang -cc1 -analyzer-checker-help | grep Pointer
>>  
>>     alpha.core.PointerArithm        Check for pointer arithmetic on 
>> locations other than array elements
>>     alpha.core.PointerSub           Check for pointer subtractions on two 
>> pointers pointing to different memory chunks
>>     alpha.nondeterminism.PointerSorting
>>     cplusplus.InnerPointer          Check for inner pointers of C++ 
>> containers used after re/deallocation
>>
> 
> 
> How about `clang -cc1 -analyzer-checker-help | grep Pointer -A3`? There could 
> be a linebreak after the ckecker's name (raises the question though whether 
> it should be there).

Yep, line break it was. I see the help text with -A1.

> In D50488#1403212 <https://reviews.llvm.org/D50488#1403212>, @mgrang wrote:
> 
>> > There is a revision to solve this problem here: D58065 
>> > <https://reviews.llvm.org/D58065>. I guess your input, as someone who 
>> > didn't participate in the checker dependency related patch reviews would 
>> > be invaluable, in terms of whether my description is understandable enough.
>>
>> Thanks. I took a look at the documentation and it looks fine to me (modulo 
>> the comments from other reviewers and a couple of minor typos). I feel the 
>> csa-testbench documentation (https://github.com/Xazax-hun/csa-testbench) is 
>> very minimal and does not document a lot of intricacies which I had to 
>> figure out by trial-and-error.
> 
> 
> Due to an upcoming conference, I didn't bother with it much, i just used 
> CodeChecker on its own, which is fairly well documented.
>  I'm trying to move my checker out of alpha, and my testing goes as follows:
> 
> 1. Clone LLVM+Clang, cppcheck, rtags, bitcoin, xerces (~~you could throw in 
> vim, tmux, as your checker isnt C++ exclusive~~ (see edit), or whatever else)
> 2. Create compile_commands.json either with CMake 
> (-DCANE_GENERATE_COMPILE_COMMANDS, or smt similar), or `CodeChecker log`
> 3. `CodeChecker analyze` projects, paying attention to not forgetting the 
> CodeChecker flag `--verbose debug_analyzer` (and enabling your checker ofc), 
> and piping the output to a file
> 4. Create a `CodeChecker server`, `CodeChecker store` the results, and stare 
> at the web gui for hours. Its very pretty btw ;)
> 
>   Csa-testbench is a work in progress, so I guess you can expect more in the 
> future :)
> 
>   Thanks for your work, even through a few annoyances, very much appreciated!
> 
>   Edit: Since your checker **is** C++ exclusive, please return true only if 
> `LangOpts.CPlusPlus` is true in the `shouldRegister` function. Didn't catch 
> my eye at first.

Done.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D50488/new/

https://reviews.llvm.org/D50488



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to