[clang] [analyzer] Disable graph-trim-interval by default (PR #111843)

Balazs Benics via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 10 08:03:46 PDT 2024


steakhal wrote:

> If someone happens to be heavily affected by this performance loss (and doesn't fear the crashes) they can re-enable ExplodedNode reclamation by passing -analyzer-option graph-trim-interval=1000 (the old default) to the analyzer.

Correct me if I'm wrong, but this is an assertion failure. That said, these nodes come from a pool that doesn't get deallocated, but all at once (BumpPtrAllocator). Consequently, all pointers point to allocated memory, regardless if the object's destructor was called. In practice, this means that this issue can't cause segfaults. We may get surprising (but valid) states super rarely, but that can't manifest crashes. The issue the user reported underpins this as that refers to the assertion.

So, to me, this isn't an urgent or important issue that would deserve immediate actions. One such equally good option would be removing that assert.
Despite all I said here, I'm still very much looking for the day disabling node reclamation. I just don't get the urgency.

https://github.com/llvm/llvm-project/pull/111843


More information about the cfe-commits mailing list