george.karpenkov (George Karpenkov)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 14 2017, 1:59 PM (83 w, 5 d)

Recent Activity

Tue, Nov 13

george.karpenkov committed rL346804: [lsan] [FIXUP] Fixup for http://reviews.llvm.org/D54484.
[lsan] [FIXUP] Fixup for http://reviews.llvm.org/D54484
Tue, Nov 13, 2:19 PM
george.karpenkov committed rCRT346804: [lsan] [FIXUP] Fixup for http://reviews.llvm.org/D54484.
[lsan] [FIXUP] Fixup for http://reviews.llvm.org/D54484
Tue, Nov 13, 2:19 PM
george.karpenkov added a comment to D54484: [lsan] [NFC] Change ARRAY_SIZE to internal_strnlen.

@fjricci Now the test is actually failing, because the size of e.g. "__objc_classlist" is 16, and kMaxSegName is also 16. I'm changing < to <=, and adding +1 to the second strnlen arguments.
(unless there are any objections)

Tue, Nov 13, 2:17 PM
george.karpenkov committed rCRT346792: [lsan] [NFC] Change ARRAY_SIZE to internal_strnlen.
[lsan] [NFC] Change ARRAY_SIZE to internal_strnlen
Tue, Nov 13, 12:29 PM
george.karpenkov accepted D54488: [AST] [analyzer] NFC: Reuse code in stable ID dumping methods..
Tue, Nov 13, 12:24 PM
george.karpenkov accepted D54486: BumpPtrAllocator: Add a couple of fancy wrapper methods around identifyObject()..

LGTM, but I would drop the word "convenient", and add an explicit \return section in doxygen.

Tue, Nov 13, 12:24 PM
george.karpenkov committed rL346792: [lsan] [NFC] Change ARRAY_SIZE to internal_strnlen.
[lsan] [NFC] Change ARRAY_SIZE to internal_strnlen
Tue, Nov 13, 12:22 PM
george.karpenkov closed D54484: [lsan] [NFC] Change ARRAY_SIZE to internal_strnlen.
Tue, Nov 13, 12:22 PM
george.karpenkov created D54484: [lsan] [NFC] Change ARRAY_SIZE to internal_strnlen.
Tue, Nov 13, 11:48 AM

Mon, Nov 12

george.karpenkov committed rL346730: [BuildingAJIT] Fixing the build by inserting a forgotten paren..
[BuildingAJIT] Fixing the build by inserting a forgotten paren.
Mon, Nov 12, 7:02 PM
george.karpenkov accepted D54457: [AST] Generate unique identifiers for CXXCtorInitializer objects..
Mon, Nov 12, 5:20 PM
george.karpenkov added a comment to D54310: Make clang-based tools find libc++ on MacOS.

In the future, for macOS-specific changes I think it would be better to wait for a sign-off from at least one maintainer who is an expert on Apple tools.

Mon, Nov 12, 11:58 AM
george.karpenkov added a comment to D54310: Make clang-based tools find libc++ on MacOS.

I suspect it broke http://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/14090/console as well.

Mon, Nov 12, 11:57 AM
george.karpenkov added a comment to D54310: Make clang-based tools find libc++ on MacOS.

I don't quite understand the need for this patch.
If we are talking about a binary built from source, wouldn't it make more sense to build libcxx from source as well?
If libcxx is built from source in the same repo, clang-based tools do find it.

Mon, Nov 12, 11:53 AM
george.karpenkov added a comment to D54429: [analyzer] Creating standard Sphinx documentation.

From a first glance, it's missing screenshots and an introduction section.

Mon, Nov 12, 11:17 AM · Restricted Project
george.karpenkov retitled D54429: [analyzer] Creating standard Sphinx documentation from [analyzer] Creating standard shpinx documentation to [analyzer] Creating standard Sphinx documentation.
Mon, Nov 12, 11:15 AM · Restricted Project
george.karpenkov added a comment to D54401: [analyzer] Prefer returns values to out-params in CheckerRegistry.cpp.

Also, remove diags::note_suggest_disabling_all_checkers.

Mon, Nov 12, 11:14 AM
george.karpenkov added inline comments to D54401: [analyzer] Prefer returns values to out-params in CheckerRegistry.cpp.
Mon, Nov 12, 11:14 AM
george.karpenkov accepted D54397: [analyzer][NFC] Move CheckerOptInfo to CheckerRegistry.cpp, and make it local.
Mon, Nov 12, 10:58 AM

Tue, Nov 6

george.karpenkov added inline comments to D53975: Start adding the supporting code to perform out-of-process allocator enumeration..
Tue, Nov 6, 11:25 AM

Mon, Nov 5

george.karpenkov accepted D54132: [CodeGenCXX] XFAIL test for ASAN on Darwin..
Mon, Nov 5, 6:10 PM
george.karpenkov added inline comments to D54132: [CodeGenCXX] XFAIL test for ASAN on Darwin..
Mon, Nov 5, 5:54 PM
george.karpenkov committed rCRT346193: [libFuzzer] Disable value-profile-cmp.test and fuzzer-oom.test on ARM64.
[libFuzzer] Disable value-profile-cmp.test and fuzzer-oom.test on ARM64
Mon, Nov 5, 5:18 PM
george.karpenkov committed rL346193: [libFuzzer] Disable value-profile-cmp.test and fuzzer-oom.test on ARM64.
[libFuzzer] Disable value-profile-cmp.test and fuzzer-oom.test on ARM64
Mon, Nov 5, 5:18 PM
george.karpenkov closed D54004: [libFuzzer] Disable value-profile-cmp.test and fuzzer-oom.test on ARM64.
Mon, Nov 5, 5:18 PM
george.karpenkov abandoned D54002: [libFuzzer] Re-enable counters.test on other platforms.
Mon, Nov 5, 5:16 PM
george.karpenkov abandoned D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing.

@kcc OK makes sense.
Intuitively it still seems to make sense to me that vectorization and unrolling would make fuzzing worse, but you are right that a lot more data would be needed to make that decision.

Mon, Nov 5, 5:14 PM
george.karpenkov added a comment to D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing.

@kcc the other one was shrink.test failing on x86_64h, because it was more eager to unroll.

Mon, Nov 5, 4:56 PM
george.karpenkov added a comment to D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing.

@kcc My experience with this is limited, but so far I have seen at least two examples where it makes things worse.
Extra signal is not necessarily better, especially if it is noise, and hides the good signal.

Mon, Nov 5, 4:35 PM
george.karpenkov updated the diff for D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing.
Mon, Nov 5, 4:24 PM
george.karpenkov added a comment to D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing.

I did some more digging: it seems the source of the problem is the same as for the loop unroller.
Before the transformation, on the example of interest (counters.test) there exists a single sanitizer counter responsible for the "interesting" branch,
and the test is doing the search for the input which would cause the counter to be incremented 4 times.

Mon, Nov 5, 3:55 PM
george.karpenkov added a comment to D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing.

@fhahn Setting force-target-max-scalar-interleave=1 seems to work on this example.
Would it make more sense to read the attribute in LoopVectorize, or to try to set this option in this option in the driver?

Mon, Nov 5, 2:49 PM
george.karpenkov updated subscribers of D50050: [AST] CastExpr: BasePathSize is not large enough..

@lebedev.ri yeah ASAN is making stack frame size larger.

Mon, Nov 5, 12:56 PM
george.karpenkov added a comment to D50050: [AST] CastExpr: BasePathSize is not large enough..

@lebedev.ri @erichkeane The test fails for me on macOS whenever asan and ubsan are both enabled.
The failure is stack overflow at stack frame 943 (? maybe asan usage enforces lower stack size?)

Mon, Nov 5, 12:42 PM
george.karpenkov accepted D54013: [analyzer] NFC: MallocChecker: Avoid redundant transitions..
Mon, Nov 5, 12:00 PM
george.karpenkov added inline comments to D54013: [analyzer] NFC: MallocChecker: Avoid redundant transitions..
Mon, Nov 5, 10:46 AM

Fri, Nov 2

george.karpenkov committed rL346028: [analyzer] Fixup of the module build after https://reviews.llvm.org/D53277.
[analyzer] Fixup of the module build after https://reviews.llvm.org/D53277
Fri, Nov 2, 11:31 AM
george.karpenkov committed rC346028: [analyzer] Fixup of the module build after https://reviews.llvm.org/D53277.
[analyzer] Fixup of the module build after https://reviews.llvm.org/D53277
Fri, Nov 2, 11:31 AM
george.karpenkov added a comment to D53277: [analyzer][NFC] Collect all -analyzer-config options in a .def file.

@NoQ @Szelethus Actually pushed a fix.

Fri, Nov 2, 11:30 AM
george.karpenkov added a comment to D53277: [analyzer][NFC] Collect all -analyzer-config options in a .def file.

@Szelethus @NoQ OK it seems you need to annotate those headers in modulemap.

Fri, Nov 2, 11:27 AM
george.karpenkov added a comment to D53277: [analyzer][NFC] Collect all -analyzer-config options in a .def file.

@Szelethus you can see the command required to get modules build in the mentioned log. I think -DLLVM_ENABLE_MODULES=On might be enough.

Fri, Nov 2, 11:23 AM

Thu, Nov 1

george.karpenkov accepted D54017: [analyzer] NullabilityChecker: Invariant violation should only be triggered for symbols..
Thu, Nov 1, 5:56 PM
george.karpenkov created D54004: [libFuzzer] Disable value-profile-cmp.test and fuzzer-oom.test on ARM64.
Thu, Nov 1, 2:58 PM
george.karpenkov planned changes to D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing.

oh, you mean specifically no optimizations here. you are right.

Thu, Nov 1, 2:52 PM
george.karpenkov added a comment to D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing.

@kcc counters.test on ARM64?

Thu, Nov 1, 2:52 PM
george.karpenkov added a comment to D54002: [libFuzzer] Re-enable counters.test on other platforms.

@vitalybuka it depends on the parent revision, which is more complicated.

Thu, Nov 1, 2:51 PM
george.karpenkov added a dependency for D54002: [libFuzzer] Re-enable counters.test on other platforms: D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing.
Thu, Nov 1, 2:48 PM
george.karpenkov added a dependent revision for D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing: D54002: [libFuzzer] Re-enable counters.test on other platforms.
Thu, Nov 1, 2:48 PM
george.karpenkov created D54002: [libFuzzer] Re-enable counters.test on other platforms.
Thu, Nov 1, 2:48 PM
george.karpenkov retitled D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing from [analyzer] Disable LoopVectorize pass while fuzzing to [libFuzzer] Disable LoopVectorize pass while fuzzing.
Thu, Nov 1, 2:43 PM
george.karpenkov created D54000: [libFuzzer] Disable LoopVectorize pass while fuzzing.
Thu, Nov 1, 2:43 PM
george.karpenkov accepted D53982: Output "rule" information in SARIF.
Thu, Nov 1, 11:52 AM
george.karpenkov requested changes to D53982: Output "rule" information in SARIF.

Minor nit: let's create a custom substitution for your diff command, like diff_plist.
Otherwise LGTM.

Thu, Nov 1, 9:50 AM

Wed, Oct 31

george.karpenkov committed rL345747: [analyzer] Re-add custom OSIterator rule for RetainCountChecker.
[analyzer] Re-add custom OSIterator rule for RetainCountChecker
Wed, Oct 31, 10:41 AM
george.karpenkov committed rC345747: [analyzer] Re-add custom OSIterator rule for RetainCountChecker.
[analyzer] Re-add custom OSIterator rule for RetainCountChecker
Wed, Oct 31, 10:41 AM
george.karpenkov committed rL345746: [analyzer] RetainCountChecker: for now, do not trust the summaries of inlined….
[analyzer] RetainCountChecker: for now, do not trust the summaries of inlined…
Wed, Oct 31, 10:41 AM
george.karpenkov committed rC345746: [analyzer] RetainCountChecker: for now, do not trust the summaries of inlined….
[analyzer] RetainCountChecker: for now, do not trust the summaries of inlined…
Wed, Oct 31, 10:41 AM
george.karpenkov closed D53902: RetainCountChecker: for now, do not trust the summaries of inlined code.
Wed, Oct 31, 10:41 AM
george.karpenkov committed rC345745: [analyzer] Enable retain count checking for OSObject by defa.
[analyzer] Enable retain count checking for OSObject by defa
Wed, Oct 31, 10:41 AM
george.karpenkov committed rL345745: [analyzer] Enable retain count checking for OSObject by defa.
[analyzer] Enable retain count checking for OSObject by defa
Wed, Oct 31, 10:41 AM
george.karpenkov closed D53849: [analyzer] Enable retain count checking for OSObject by default.
Wed, Oct 31, 10:41 AM

Tue, Oct 30

george.karpenkov added inline comments to D53624: [analyzer] For now model that OSDynamicCast never returns 0.
Tue, Oct 30, 6:36 PM
george.karpenkov added a comment to D53628: [analyzer] Remove custom rule for OSIterator in RetainCountChecker.

Actually, I'm reverting this: the rule seems fairly ubiquitous.

Tue, Oct 30, 3:38 PM
george.karpenkov updated the diff for D53902: RetainCountChecker: for now, do not trust the summaries of inlined code.
Tue, Oct 30, 3:10 PM
george.karpenkov created D53902: RetainCountChecker: for now, do not trust the summaries of inlined code.
Tue, Oct 30, 3:03 PM
george.karpenkov accepted D53814: Allow the analyzer to output to a SARIF file.

I much prefer this version.
We've had the same problem with diffing plist output.
One thing we have learned is using a FileCheck was definitely a bad idea, as it leads to unreadable, unmaintainable, and very hard to update tests,
so either diff or your custom tool is way better.

Tue, Oct 30, 9:08 AM

Mon, Oct 29

george.karpenkov created D53849: [analyzer] Enable retain count checking for OSObject by default.
Mon, Oct 29, 4:37 PM
george.karpenkov accepted D53720: [analyzer] Remove EndPath function.

Thanks!

Mon, Oct 29, 2:58 PM · Restricted Project
george.karpenkov requested changes to D53814: Allow the analyzer to output to a SARIF file.

I don't think a new PathGenerationScheme is needed, unless you plan changes to BugReporter.cpp.

Mon, Oct 29, 2:57 PM
george.karpenkov requested changes to D53814: Allow the analyzer to output to a SARIF file.

Minor style notes + context missing.

Mon, Oct 29, 9:20 AM
george.karpenkov added a comment to D53814: Allow the analyzer to output to a SARIF file.

Patch context is missing.

Mon, Oct 29, 9:20 AM

Thu, Oct 25

george.karpenkov committed rC345341: [analyzer] Fix a bug in "collapsed" graph viewer.
[analyzer] Fix a bug in "collapsed" graph viewer
Thu, Oct 25, 4:41 PM
george.karpenkov committed rL345341: [analyzer] Fix a bug in "collapsed" graph viewer.
[analyzer] Fix a bug in "collapsed" graph viewer
Thu, Oct 25, 4:41 PM
george.karpenkov closed D53735: [analyzer] Fix a bug in "collapsed" graph viewer.
Thu, Oct 25, 4:41 PM
george.karpenkov committed rC345340: [analyzer] [RetainCountChecker] Do not invalidate references passed to….
[analyzer] [RetainCountChecker] Do not invalidate references passed to…
Thu, Oct 25, 4:41 PM
george.karpenkov committed rL345340: [analyzer] [RetainCountChecker] Do not invalidate references passed to….
[analyzer] [RetainCountChecker] Do not invalidate references passed to…
Thu, Oct 25, 4:41 PM
george.karpenkov closed D53660: [analyzer] [RetainCountChecker] Do not invalidate references passed to constructors and operators.
Thu, Oct 25, 4:41 PM
george.karpenkov committed rC345339: [analyzer] Remove custom rule for OSIterator in RetainCountChecker.
[analyzer] Remove custom rule for OSIterator in RetainCountChecker
Thu, Oct 25, 4:40 PM
george.karpenkov committed rL345339: [analyzer] Remove custom rule for OSIterator in RetainCountChecker.
[analyzer] Remove custom rule for OSIterator in RetainCountChecker
Thu, Oct 25, 4:40 PM
george.karpenkov closed D53628: [analyzer] Remove custom rule for OSIterator in RetainCountChecker.
Thu, Oct 25, 4:40 PM
george.karpenkov closed D53628: [analyzer] Remove custom rule for OSIterator in RetainCountChecker.
Thu, Oct 25, 4:40 PM
george.karpenkov committed rC345338: [analyzer] Correct modelling of OSDynamicCast: eagerly state split.
[analyzer] Correct modelling of OSDynamicCast: eagerly state split
Thu, Oct 25, 4:40 PM
george.karpenkov committed rL345338: [analyzer] Correct modelling of OSDynamicCast: eagerly state split.
[analyzer] Correct modelling of OSDynamicCast: eagerly state split
Thu, Oct 25, 4:40 PM
george.karpenkov closed D53624: [analyzer] For now model that OSDynamicCast never returns 0.
Thu, Oct 25, 4:40 PM
george.karpenkov retitled D53735: [analyzer] Fix a bug in "collapsed" graph viewer from [analyzer] Fix a bug in "collapsed to [analyzer] Fix a bug in "collapsed" graph viewer.
Thu, Oct 25, 3:32 PM
george.karpenkov created D53735: [analyzer] Fix a bug in "collapsed" graph viewer.
Thu, Oct 25, 3:28 PM
george.karpenkov updated the diff for D53624: [analyzer] For now model that OSDynamicCast never returns 0.
Thu, Oct 25, 1:59 PM
george.karpenkov added a comment to D53624: [analyzer] For now model that OSDynamicCast never returns 0.

Or maybe it does not: we should still be able to catch cases where OSDynamicCast fails.

Thu, Oct 25, 1:59 PM
george.karpenkov requested changes to D53076: [analyzer] WIP: Enhance ConditionBRVisitor to write out more information.

Actually, apologies again: I have rushed through this too much.
@NoQ has a good point: we need to preserve the distinction between the things analyzer "assumes" and the things analyzer "knows".

Thu, Oct 25, 11:49 AM · Restricted Project
george.karpenkov accepted D53076: [analyzer] WIP: Enhance ConditionBRVisitor to write out more information.
Thu, Oct 25, 11:00 AM · Restricted Project
george.karpenkov requested changes to D53276: [analyzer][NFC] Fix some incorrect uses of -analyzer-config options.

Minor nitpicks, otherwise makes sense!

Thu, Oct 25, 10:31 AM
george.karpenkov accepted D53694: [analyzer] Move canReasonAbout from Z3ConstraintManager to SMTConstraintManager.
Thu, Oct 25, 10:11 AM
george.karpenkov requested changes to D53076: [analyzer] WIP: Enhance ConditionBRVisitor to write out more information.

Thanks a lot, this is almost ready!
I think it should be good to go after this round of nitpicks.

Thu, Oct 25, 10:11 AM · Restricted Project

Wed, Oct 24

george.karpenkov accepted D18860: [analyzer] Fix the "Zombie symbols" issue..
Wed, Oct 24, 3:51 PM
george.karpenkov added a comment to D53206: Allow padding checker to traverse simple class hierarchies.

I'll try to take a look this week.

Wed, Oct 24, 11:07 AM · Restricted Project
george.karpenkov created D53660: [analyzer] [RetainCountChecker] Do not invalidate references passed to constructors and operators.
Wed, Oct 24, 10:56 AM
george.karpenkov requested changes to D53076: [analyzer] WIP: Enhance ConditionBRVisitor to write out more information.
Wed, Oct 24, 10:35 AM · Restricted Project
george.karpenkov requested changes to D53069: [analyzer][www] Update avaible_checks.html.

Good to go provided you will add an example.
If we want to be serious about this page, it really has to be auto-generated (like clang-tidy one), but I understand that this is a larger undertaking.

Wed, Oct 24, 10:24 AM
george.karpenkov accepted D53637: [analyzer] Fixed bitvector from model always being unsigned.

Makes sense.

Wed, Oct 24, 10:21 AM

Tue, Oct 23

george.karpenkov created D53628: [analyzer] Remove custom rule for OSIterator in RetainCountChecker.
Tue, Oct 23, 5:57 PM