alekseyshl (Aleksey Shlyapnikov)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 31 2016, 4:57 PM (50 w, 4 d)

Recent Activity

Today

alekseyshl created D39131: [Sanitizers] Add total primary allocator RSS to allocator report..
Fri, Oct 20, 11:43 AM
alekseyshl accepted D38980: [scudo] Add a shared runtime.
Fri, Oct 20, 11:41 AM

Mon, Oct 16

alekseyshl closed D38864: [Sanitizers] By default build libFuzzer with frame pointers..

rL315770

Mon, Oct 16, 10:05 AM
alekseyshl accepted D38956: [scudo] Do not include sanitizer_posix.h if not on a Posix platform.
Mon, Oct 16, 10:03 AM

Fri, Oct 13

alekseyshl committed rL315770: [Sanitizers] Always build libFuzzer with frame pointers..
[Sanitizers] Always build libFuzzer with frame pointers.
Fri, Oct 13, 2:58 PM
alekseyshl accepted D38854: [scudo] Allow for non-Android Shared TSD platforms, part 2.
Fri, Oct 13, 1:26 PM
alekseyshl committed rL315730: [Sanitizers] Add more details to ASan allocator stats report..
[Sanitizers] Add more details to ASan allocator stats report.
Fri, Oct 13, 11:38 AM
alekseyshl closed D38834: [Sanitizers] Add more details to ASan allocator stats report. by committing rL315730: [Sanitizers] Add more details to ASan allocator stats report..
Fri, Oct 13, 11:38 AM
alekseyshl added inline comments to D38854: [scudo] Allow for non-Android Shared TSD platforms, part 2.
Fri, Oct 13, 11:33 AM

Thu, Oct 12

alekseyshl updated the diff for D38864: [Sanitizers] By default build libFuzzer with frame pointers..
  • Always build libFuzzer with frame pointers
Thu, Oct 12, 5:08 PM
alekseyshl added inline comments to D38864: [Sanitizers] By default build libFuzzer with frame pointers..
Thu, Oct 12, 5:01 PM
alekseyshl added inline comments to D38854: [scudo] Allow for non-Android Shared TSD platforms, part 2.
Thu, Oct 12, 4:59 PM
alekseyshl created D38864: [Sanitizers] By default build libFuzzer with frame pointers..
Thu, Oct 12, 4:36 PM

Wed, Oct 11

alekseyshl created D38834: [Sanitizers] Add more details to ASan allocator stats report..
Wed, Oct 11, 8:57 PM
alekseyshl accepted D38826: [scudo] Allow for non-Android Shared TSD platforms, part 1.
Wed, Oct 11, 8:00 PM
alekseyshl accepted D38743: [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc.
Wed, Oct 11, 1:01 PM
alekseyshl accepted D38437: Introduce ReservedAddressRange to sanitizer_common..
Wed, Oct 11, 10:21 AM

Mon, Oct 9

alekseyshl accepted D38706: [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc.
Mon, Oct 9, 4:23 PM
alekseyshl accepted D38437: Introduce ReservedAddressRange to sanitizer_common..

Other than those couple comments, lgtm.

Mon, Oct 9, 2:33 PM

Thu, Oct 5

alekseyshl committed rL315031: Revert "[LSan] Detect dynamic loader by its base address.".
Revert "[LSan] Detect dynamic loader by its base address."
Thu, Oct 5, 3:55 PM
alekseyshl committed rL315024: [LSan] Detect dynamic loader by its base address..
[LSan] Detect dynamic loader by its base address.
Thu, Oct 5, 2:40 PM
alekseyshl closed D38600: [LSan] Detect dynamic loader by its base address. by committing rL315024: [LSan] Detect dynamic loader by its base address..
Thu, Oct 5, 2:40 PM
alekseyshl created D38600: [LSan] Detect dynamic loader by its base address..
Thu, Oct 5, 2:25 PM

Wed, Oct 4

alekseyshl created D38574: [Sanitizers] ASan: detect new/delete calls with mismatched alignment..
Wed, Oct 4, 9:41 PM

Tue, Oct 3

alekseyshl added a comment to D38437: Introduce ReservedAddressRange to sanitizer_common..

Code pointers to the future changes would be nice, actually.

Tue, Oct 3, 11:33 AM

Fri, Sep 29

alekseyshl added a comment to D38085: Use the basic cost if a GEP is not used as addressing mode.

Reverted as r314560, it crashes sanitizer bots.

Fri, Sep 29, 3:20 PM
alekseyshl committed rL314560: Revert "Use the basic cost if a GEP is not used as addressing mode".
Revert "Use the basic cost if a GEP is not used as addressing mode"
Fri, Sep 29, 3:06 PM
alekseyshl added a comment to D38161: [X86] Improve codegen for inverted overflow checking intrinsics.

Our bots are not happy about this change: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/2355 and http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-autoconf/builds/14195 for example, please fix

Fri, Sep 29, 9:46 AM
alekseyshl committed rL314528: Fix cmake file broken by D38277..
Fix cmake file broken by D38277.
Fri, Sep 29, 9:04 AM
alekseyshl added inline comments to D38277: [compiler-rt][CMake] Fix configuration on PowerPC with sanitizers.
Fri, Sep 29, 8:59 AM
alekseyshl added a comment to D38277: [compiler-rt][CMake] Fix configuration on PowerPC with sanitizers.

http://lab.llvm.org:8011/builders/sanitizer-ppc64be-linux/builds/4004 is broken by this change

Fri, Sep 29, 8:57 AM

Thu, Sep 28

alekseyshl accepted D38277: [compiler-rt][CMake] Fix configuration on PowerPC with sanitizers.
Thu, Sep 28, 2:08 PM

Wed, Sep 27

alekseyshl added a comment to D38277: [compiler-rt][CMake] Fix configuration on PowerPC with sanitizers.

I wonder what's the error message?

Wed, Sep 27, 7:46 PM
alekseyshl accepted D38340: [ubsan] Remove ubsan_standalone_cxx shared library..
Wed, Sep 27, 5:22 PM
alekseyshl added a comment to D38149: Fix off-by-one error in TarWriter..

UBsan is not happy about TarWriter.cpp: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/8197, can you check it out?

Wed, Sep 27, 5:18 PM
alekseyshl accepted D38324: [scudo] Temporary disabling the valloc test on armhf.
Wed, Sep 27, 2:10 PM
alekseyshl added a comment to D38132: [Support] mapped_file_region: store size as size_t.

Our bot is broken by this change: http://lab.llvm.org:8011/builders/sanitizer-windows/builds/17178.

Wed, Sep 27, 10:17 AM
alekseyshl committed rL314318: [Sanitizer] Disable compact size class tests on Android.
[Sanitizer] Disable compact size class tests on Android
Wed, Sep 27, 10:12 AM
alekseyshl added a comment to D37804: [OpenCL] Handle address space conversion while setting type alignment.

vectorLoadStore.cl is failing on our bots: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/8187, please check it out

Wed, Sep 27, 8:52 AM
alekseyshl committed rL314311: [Sanitizers] Allocator: new "release memory to OS" implementation.
[Sanitizers] Allocator: new "release memory to OS" implementation
Wed, Sep 27, 8:39 AM
alekseyshl closed D38245: [Sanitizers] Allocator: new "release memory to OS" implementation by committing rL314311: [Sanitizers] Allocator: new "release memory to OS" implementation.
Wed, Sep 27, 8:39 AM

Tue, Sep 26

alekseyshl added a comment to D37915: [llvm-objcopy] Add support for dynamic relocations.

ASan is not happy about this patch: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/8167/steps/check-llvm%20asan/logs/stdio

Tue, Sep 26, 3:30 PM
alekseyshl updated the diff for D38245: [Sanitizers] Allocator: new "release memory to OS" implementation.
  • Add a couple TODOs
Tue, Sep 26, 3:30 PM
alekseyshl added a comment to D38245: [Sanitizers] Allocator: new "release memory to OS" implementation.

I do not have comments on the code, it looks good to me.

There is a few points I was thinking about, not in the sense of suggestions for this CL, but rather general wondering:

  • How about about bumping last_release_at_ns when a region is grown? This would prevent the reclaiming to occur shortly after, and could lower the chances of releasing pages that were just allocated.
  • Could there be enough room in the free array to not have to map memory? eg: the memory between num_freed_chunks*sizeof(CompactPtrT) and mapped_free_array could be enough. I am not sure it would necessarily be a gain except maybe in memory usage. But since the memory is unmapped right after it might be worthless.
  • Did the tests show in any way what could be a good balance timing/cpu wise to set a default to?
  1. Bumping last_release_at_ns makes sense, let me think about it a bit more
  2. I'd rather not complicate the code just yet, but I like the idea of using whatever is already mapped. Will add a comment about it.
  3. This version is pretty much linear to the number of pages allocated, everything else does not matter that much, so the more memory allocated, the slower it is. Comparing to the previous version, even the larger apps I tried spent insignificant amount of time releasing pages. I'd like to collect more diverse data before drawing any conclusions (fuzzer would make a great test app).
Tue, Sep 26, 3:30 PM
alekseyshl updated the diff for D38245: [Sanitizers] Allocator: new "release memory to OS" implementation.
  • Switched temporary counter buffer from fixed to random mapping and address minor style comments.
Tue, Sep 26, 3:30 PM
alekseyshl added a comment to D38245: [Sanitizers] Allocator: new "release memory to OS" implementation.

I do not have comments on the code, it looks good to me.

There is a few points I was thinking about, not in the sense of suggestions for this CL, but rather general wondering:

  • How about about bumping last_release_at_ns when a region is grown? This would prevent the reclaiming to occur shortly after, and could lower the chances of releasing pages that were just allocated.
  • Could there be enough room in the free array to not have to map memory? eg: the memory between num_freed_chunks*sizeof(CompactPtrT) and mapped_free_array could be enough. I am not sure it would necessarily be a gain except maybe in memory usage. But since the memory is unmapped right after it might be worthless.
  • Did the tests show in any way what could be a good balance timing/cpu wise to set a default to?
Tue, Sep 26, 3:30 PM
alekseyshl added a comment to D38245: [Sanitizers] Allocator: new "release memory to OS" implementation.

Why are you mapping the counters in a specific place just after the free array, instead of simply anywhere? I.e. why MAP_FIXED at all?

Tue, Sep 26, 3:30 PM

Mon, Sep 25

alekseyshl accepted D38244: [scudo] Scudo thread specific data refactor, part 3.
Mon, Sep 25, 2:12 PM
alekseyshl created D38245: [Sanitizers] Allocator: new "release memory to OS" implementation.
Mon, Sep 25, 11:30 AM
alekseyshl accepted D38194: [ubsan] Replace CommonSanitizerReportMutex with ScopedErrorReportLock.
Mon, Sep 25, 5:02 AM

Sep 15 2017

alekseyshl accepted D37895: [ubsan] Support signal specific options in ubsan.
Sep 15 2017, 11:33 AM
alekseyshl accepted D37907: [scudo] Android build support.
Sep 15 2017, 10:44 AM
alekseyshl added inline comments to D37895: [ubsan] Support signal specific options in ubsan.
Sep 15 2017, 10:40 AM
alekseyshl accepted D37889: [sanitizer] Move signal interceptors from asan to sanitizer_common.
Sep 15 2017, 7:55 AM

Sep 14 2017

alekseyshl accepted D37844: [sanitizer] Move stack overflow and signal reporting from Asan into common..
Sep 14 2017, 3:33 PM
alekseyshl accepted D37868: [asan] Remove ErrorStackOverflow.
Sep 14 2017, 3:29 PM
alekseyshl accepted D37853: [scudo] Fix bad request handling when allocator has not been initialized.

Ah, right, makes sense.

Sep 14 2017, 1:34 PM
alekseyshl added a comment to D37853: [scudo] Fix bad request handling when allocator has not been initialized.

Would moving SetAllocatorMayReturnNull call earler in the init() function help to resolve the problem?

Sep 14 2017, 11:31 AM

Sep 13 2017

alekseyshl accepted D37792: [compiler-rt] Add siginfo into SignalContext.
Sep 13 2017, 11:26 AM
alekseyshl added inline comments to D37792: [compiler-rt] Add siginfo into SignalContext.
Sep 13 2017, 10:59 AM
alekseyshl accepted D37793: [compiler-rt] Use SignalContext in ErrorStackOverflow and ErrorDeadlySignal.
Sep 13 2017, 10:39 AM
alekseyshl accepted D37811: [docs] Update LeakSanitizer documentation to reflect OS X support.
Sep 13 2017, 7:55 AM

Sep 12 2017

alekseyshl accepted D37766: [compiler-rt] Move dump_instruction_bytes and dump_registers into sanitizer_common.
Sep 12 2017, 5:44 PM
alekseyshl accepted D37765: [compiler-rt] Add test for not fully implemented dump_registers.
Sep 12 2017, 5:39 PM
alekseyshl accepted D37764: [compiler-rt] Move *Sanitizer:DEADLYSIGNAL printing into common part.
Sep 12 2017, 5:38 PM

Sep 11 2017

alekseyshl accepted D37549: [compiler-rt] Cleanup decorators.
Sep 11 2017, 1:36 PM
alekseyshl accepted D37657: [ubsan] Make ubsan version of __sanitizer_print_stack_trace consistent with other sanitizers.
Sep 11 2017, 1:34 PM
alekseyshl accepted D37697: [scudo] Fix improper TSD init after TLS destructors are called.
Sep 11 2017, 11:56 AM

Sep 8 2017

alekseyshl added a comment to D37549: [compiler-rt] Cleanup decorators.

What's the point of this change? It used to be generic, now it is more limiting. Even if we go this way, wouldn't it be more logical to drop End() altogether and use Default() directly? The code will make more sense.

Sep 8 2017, 11:18 AM
alekseyshl added inline comments to D37536: [compiler-rt] Move IsStackOverflow from asan into sanitizer_common.
Sep 8 2017, 11:08 AM
alekseyshl accepted D37609: [asan] Use more generic string in error message.
Sep 8 2017, 10:57 AM
alekseyshl accepted D37537: [compiler-rt] Move allow_user_segv.cc into sanitizer_common.
Sep 8 2017, 10:52 AM
alekseyshl added inline comments to D37536: [compiler-rt] Move IsStackOverflow from asan into sanitizer_common.
Sep 8 2017, 10:49 AM
alekseyshl accepted D37630: [ubsan] Enable UBsan in sanitizer_common tests.
Sep 8 2017, 10:45 AM

Sep 5 2017

alekseyshl accepted D37488: [scudo] getauxval alternative for Android.
Sep 5 2017, 2:55 PM
alekseyshl added inline comments to D37488: [scudo] getauxval alternative for Android.
Sep 5 2017, 2:01 PM
alekseyshl added inline comments to D37488: [scudo] getauxval alternative for Android.
Sep 5 2017, 1:59 PM

Aug 25 2017

alekseyshl accepted D37082: [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary.
Aug 25 2017, 2:12 PM

Aug 24 2017

alekseyshl accepted D37107: tsan: don't pass bogus PCs to __tsan_symbolize_external.

Have no better ideas either.

Aug 24 2017, 5:10 PM
alekseyshl added inline comments to D37082: [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary.
Aug 24 2017, 4:01 PM
alekseyshl added a comment to D37082: [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary.

Ok, overall, I have no better idea how to implement it, so let's iron out minor details and get it in.

Aug 24 2017, 2:37 PM
alekseyshl added inline comments to D37082: [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary.
Aug 24 2017, 11:13 AM

Aug 16 2017

alekseyshl accepted D36757: Add C++17 aligned new/delete interceptors to standalone lsan.
Aug 16 2017, 10:51 AM

Aug 15 2017

alekseyshl added inline comments to D36757: Add C++17 aligned new/delete interceptors to standalone lsan.
Aug 15 2017, 3:50 PM
alekseyshl added inline comments to D36757: Add C++17 aligned new/delete interceptors to standalone lsan.
Aug 15 2017, 3:09 PM
alekseyshl added inline comments to D36757: Add C++17 aligned new/delete interceptors to standalone lsan.
Aug 15 2017, 2:39 PM
alekseyshl added inline comments to D36757: Add C++17 aligned new/delete interceptors to standalone lsan.
Aug 15 2017, 2:02 PM
alekseyshl accepted D36754: [scudo] Application & platform compatibility changes.

What are these libraries? Can you mention some examples here?

Aug 15 2017, 1:54 PM

Aug 11 2017

alekseyshl added a comment to D29660: [OpenMP] Add flag for overwriting default PTX version for OpenMP targets.

Couldn't fix/find the actual error so for now, just moving the flag patch tests to openmp-offload-gpu.c which is a disabled test.

310765

Bad news, the bot is still red: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/7114

Aug 11 2017, 4:13 PM
alekseyshl committed rL310772: Disabling openmp-offload.c on linux until it is stabilized on all local….
Disabling openmp-offload.c on linux until it is stabilized on all local…
Aug 11 2017, 4:11 PM
alekseyshl added a comment to D29660: [OpenMP] Add flag for overwriting default PTX version for OpenMP targets.
Aug 11 2017, 3:44 PM
alekseyshl added a comment to D29660: [OpenMP] Add flag for overwriting default PTX version for OpenMP targets.

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/7109 failed on r310718, please fix.

Aug 11 2017, 1:04 PM
alekseyshl added a comment to D29660: [OpenMP] Add flag for overwriting default PTX version for OpenMP targets.

I have re-enabled the previous offloading tests and moved the new GPU offloading tests to a new file which is disabled for linux (for now).

310718

Alex thanks so much for the logs, they have been very useful to understand what's going on.

Aleksey, I have since tried to install a Clang version with the address sanitizer enabled but without much success. Apart from turning on the sanitizer in the cmake using the -DLLVM_USE_SANITIZER="Address" flag is there any other flag that I need to pass to cmake?
I am trying to run this on my macbook x86_64 and OS X 10.11. I am getting the following error when building the compiler:

[2966/4254] Linking CXX shared library lib/libc++abi.1.0.dylib
FAILED: lib/libc++abi.1.0.dylib
Undefined symbols for architecture x86_64:

"___asan_after_dynamic_init", referenced from:
    __GLOBAL__sub_I_cxa_default_handlers.cpp in cxa_default_handlers.cpp.o
"___asan_before_dynamic_init", referenced from:
    __GLOBAL__sub_I_cxa_default_handlers.cpp in cxa_default_handlers.cpp.o

[...]
ld: symbol(s) not found for architecture x86_64

Aug 11 2017, 10:02 AM
alekseyshl accepted D36399: [sanitizers] Add a blocking boolean to GetRandom prototype.
Aug 11 2017, 7:53 AM

Aug 10 2017

alekseyshl added a comment to D29660: [OpenMP] Add flag for overwriting default PTX version for OpenMP targets.

The failures were very widespread, e.g. there's a linux buildbot that was red until the revert: http://bb.pgr.jp/builders/test-clang-i686-linux-RA. If you have access to a linux machine you should be able to reproduce the failures that the bot experienced by using the same cmake arguments (I don't know the exact ones, but judging from the bot you should be able to reproduce them using 32 bit release build with assertions enabled). I don't know what GPU that buildbot has.

Thanks Alex, I will try to reproduce it locally.

I'll try to get the detailed test output for my local machine today as well.

Oh that would be great! Thanks a lot! :)

First of all, I apologize if I've upset you with my previous post. I am actively working on understanding what is causing these issues. It is not my intention to write tests that work on local configurations only. I am upset to see that these tests keep failing for your and maybe other configurations. Without knowing the actual reason of the failures I can only speculate what is going wrong with them hence the flurry of changes.

Thank you, apology accepted. That was exactly my point, not to start a fight, but to emphasize that depending on local configuration is never going to work, you will never be able to see and test all of them. Please disable the test ASAP and until the better way to handle it is determined.

I have disabled all the offloading tests apart from the ones that pertain to the patch previous to the one introducing Cubin integration into host bin.
Please let me know if you see any more failures on your side. If you do feel free to revert all the patches up to and including: D29654

310625

Our bots still fai after this changel: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/7085

Aug 10 2017, 10:57 AM
alekseyshl committed rL310640: Disabling openmp-offload.c on linux until it is stabilized on all local….
Disabling openmp-offload.c on linux until it is stabilized on all local…
Aug 10 2017, 10:55 AM
alekseyshl added a comment to D29660: [OpenMP] Add flag for overwriting default PTX version for OpenMP targets.

The failures were very widespread, e.g. there's a linux buildbot that was red until the revert: http://bb.pgr.jp/builders/test-clang-i686-linux-RA. If you have access to a linux machine you should be able to reproduce the failures that the bot experienced by using the same cmake arguments (I don't know the exact ones, but judging from the bot you should be able to reproduce them using 32 bit release build with assertions enabled). I don't know what GPU that buildbot has.

Thanks Alex, I will try to reproduce it locally.

I'll try to get the detailed test output for my local machine today as well.

Oh that would be great! Thanks a lot! :)

Aug 10 2017, 10:54 AM
alekseyshl added a comment to D29660: [OpenMP] Add flag for overwriting default PTX version for OpenMP targets.

First of all, I apologize if I've upset you with my previous post. I am actively working on understanding what is causing these issues. It is not my intention to write tests that work on local configurations only. I am upset to see that these tests keep failing for your and maybe other configurations. Without knowing the actual reason of the failures I can only speculate what is going wrong with them hence the flurry of changes.

Aug 10 2017, 8:54 AM
alekseyshl added a comment to D29660: [OpenMP] Add flag for overwriting default PTX version for OpenMP targets.

Even after all the reverts in r310580, our tests are still failing (http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/7080). not surprising, but very disrupting. Please have a plan to fix it soon, otherwise I'll have to revert it even further.

Aug 10 2017, 8:21 AM
alekseyshl added a comment to D29660: [OpenMP] Add flag for overwriting default PTX version for OpenMP targets.

While I do get the time pressure and such, doing it at the expense of others is not cool. Many teams work process is broken for days, folks are busy looking into it, investigating and reverting, other breakages are masked by these failures etc.

Aug 10 2017, 8:15 AM