Page MenuHomePhabricator
Feed Advanced Search

Yesterday

yln accepted D101681: [Compiler-rt] Distinguish between testing just built runtime libraries and the libraries shipped with the compiler..
Thu, May 13, 3:27 PM · Restricted Project

Wed, Apr 28

yln accepted D101505: [Driver][sanitizers] Warn about ignored -fsanitize-trap or -fsanitize-recover.

This sounds like a good improvement, thanks!

Wed, Apr 28, 6:59 PM
yln added a comment to D101335: [ASan][Darwin] Fix `TestCases/Darwin/init_for_dlopen.cpp` when running in a standalone build..

@yln Your comments have convinced me that I should try doing this a different way. I'll try the approach I outlined and I'll see how far I get.

Wed, Apr 28, 3:05 PM · Restricted Project

Tue, Apr 27

yln added a comment to D101335: [ASan][Darwin] Fix `TestCases/Darwin/init_for_dlopen.cpp` when running in a standalone build..

Would it be possible (and wouldn't it be better?) to set config.compiler_rt_libdir to the right path in the first place? This way we wouldn't get into the "path mismatch" state that we warn about.

Tue, Apr 27, 2:51 PM · Restricted Project

Tue, Apr 20

yln updated the diff for D72549: [TSan] Register threads created via pthread_create_from_mach_thread().

Remove default: UNREACHABLE("unknown event"); switch case to avoid crashes in case enum gets extended in the future.

Tue, Apr 20, 6:35 PM · Restricted Project, Restricted Project
yln requested changes to D99434: [TSAN] Honor failure memory orders in AtomicCAS.

Unapprove until Dmitry's comments are addressed.

Tue, Apr 20, 6:26 PM · Restricted Project, Restricted Project
yln added a comment to D100700: [Sanitizers][TSAN] Mac M1/iOs setjmp wrapper frame pointer/link register registers renaming.

So the adoption of these names will be done in a separate patch? What is the motivation for this change?

Tue, Apr 20, 11:20 AM · Restricted Project

Mon, Apr 19

yln accepted D100239: [compiler-rt] assert max virtual address is <= mmap range size.
Mon, Apr 19, 1:35 PM · Restricted Project
yln added a comment to D100700: [Sanitizers][TSAN] Mac M1/iOs setjmp wrapper frame pointer/link register registers renaming.

Hi David, can you explain the motivation and mechanics of this change? I see that we #define aliases for registers, but they are never used?!

Mon, Apr 19, 11:50 AM · Restricted Project
yln added inline comments to D98995: [CGAtomic] Lift stronger requirements on cmpxch and add support for acquire failure mode.
Mon, Apr 19, 11:18 AM · Restricted Project, Restricted Project

Fri, Apr 16

yln added inline comments to D100239: [compiler-rt] assert max virtual address is <= mmap range size.
Fri, Apr 16, 1:47 PM · Restricted Project

Thu, Apr 15

yln added inline comments to D100239: [compiler-rt] assert max virtual address is <= mmap range size.
Thu, Apr 15, 6:14 PM · Restricted Project
yln added inline comments to D98995: [CGAtomic] Lift stronger requirements on cmpxch and add support for acquire failure mode.
Thu, Apr 15, 10:25 AM · Restricted Project, Restricted Project

Apr 13 2021

yln added a reviewer for D100142: [compiler-rt][aarch64] Add PAC-RET/BTI support to TSan.: qikon.
Apr 13 2021, 9:28 AM

Apr 12 2021

yln updated the diff for D72549: [TSan] Register threads created via pthread_create_from_mach_thread().

Skipping test when running on old OS.

Apr 12 2021, 4:56 PM · Restricted Project, Restricted Project
yln retitled D72549: [TSan] Register threads created via pthread_create_from_mach_thread() from [TSan] Register threads created via pthread_create_from_mach_thread to [TSan] Register threads created via pthread_create_from_mach_thread().
Apr 12 2021, 4:36 PM · Restricted Project, Restricted Project
yln updated the diff for D72549: [TSan] Register threads created via pthread_create_from_mach_thread().

Replace usage of magic constants with actual API.

Apr 12 2021, 4:35 PM · Restricted Project, Restricted Project
yln committed rG05df5c54e8e1: [TSan] Allow test contents to be copied before execution (authored by yln).
[TSan] Allow test contents to be copied before execution
Apr 12 2021, 1:31 PM
yln closed D100240: [TSan] Allow test contents to be copied before execution.
Apr 12 2021, 1:31 PM · Restricted Project
yln accepted D100234: [compiler-rt][asan] use full vm range on apple silicon macs.

LGTM. Do we have a test that fails without this, but succeeds with it (on AS)?
I am just asking to understand if we missed this because we aren't testing on AS or because it only triggers in rare corner cases.

Apr 12 2021, 12:00 PM · Restricted Project
yln accepted D100157: [compiler-rt] add SANITIZER_OSX.
Apr 12 2021, 11:40 AM · Restricted Project

Apr 9 2021

yln requested review of D100240: [TSan] Allow test contents to be copied before execution.
Apr 9 2021, 6:06 PM · Restricted Project
yln added a comment to D100157: [compiler-rt] add SANITIZER_OSX.

I don't have strong opinions either way, we should just pick one and stick with it. @aralisza @yln Any opinions on this?

Apr 9 2021, 3:02 PM · Restricted Project
yln added a comment to D100157: [compiler-rt] add SANITIZER_OSX.

From the TargetConditionals.h header:

TARGET_OS_MAC             - Generated code will run under Mac OS X variant
   TARGET_OS_OSX          - Generated code will run under OS X devices
   TARGET_OS_IPHONE          - Generated code for firmware, devices, or simulator
      TARGET_OS_IOS             - Generated code will run under iOS
      TARGET_OS_TV              - Generated code will run under Apple TV OS
      TARGET_OS_WATCH           - Generated code will run under Apple Watch OS
      TARGET_OS_MACCATALYST     - Generated code will run under macOS
   TARGET_OS_SIMULATOR      - Generated code will run under a simulator
Apr 9 2021, 11:20 AM · Restricted Project

Apr 6 2021

yln accepted D99434: [TSAN] Honor failure memory orders in AtomicCAS.

I am happy with the mechanics and quality of the patch. Ideally @dvyukov could give a final sign-off.

Apr 6 2021, 9:38 AM · Restricted Project, Restricted Project
yln committed rGa3e1b1112317: [Sanitizer] Adopt Python 3 for iOS simulator test scripts (authored by yln).
[Sanitizer] Adopt Python 3 for iOS simulator test scripts
Apr 6 2021, 9:14 AM
yln closed D99911: [Sanitizer] Adopt Python 3 for iOS simulator test scripts.
Apr 6 2021, 9:14 AM · Restricted Project

Apr 5 2021

yln requested review of D99911: [Sanitizer] Adopt Python 3 for iOS simulator test scripts.
Apr 5 2021, 6:07 PM · Restricted Project

Apr 2 2021

yln added inline comments to D99728: [lit, test] Fix test cancellation feature detection.
Apr 2 2021, 1:20 PM · Restricted Project

Apr 1 2021

yln accepted D99728: [lit, test] Fix test cancellation feature detection.

Your overall explanation of the issue and the solution presented here makes sense to me, but I don't have a good enough understanding to know if this is the best approach.

Apr 1 2021, 7:10 PM · Restricted Project

Mar 30 2021

yln added a comment to D99620: [CMake][Compiler-rt] Compute LLVM_MAIN_SRC_DIR assuming the monorepo layout..

Other runtimes like libc++, libc++abi and libunwind already assume the monorepo layout and don't rely on llvm-config. Removing the llvm-config dependency would allow further cleanups in the compiler-rt build so this is a highly desirable change. Given that, I'd actually prefer just making this the default behavior.

+1

Mar 30 2021, 3:03 PM · Restricted Project

Mar 24 2021

yln committed rG26e0fb88a30a: [TSan] Support initialize/finalize hooks in dynamic libraries (authored by yln).
[TSan] Support initialize/finalize hooks in dynamic libraries
Mar 24 2021, 12:39 PM
yln closed D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 24 2021, 12:39 PM · Restricted Project
yln added inline comments to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 24 2021, 12:27 PM · Restricted Project

Mar 23 2021

yln added a comment to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

@delcypher Good to go now?

Mar 23 2021, 7:26 PM · Restricted Project
yln updated the diff for D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

Restoring interface changes. Removing const from interface delcartions (clang-tidy).

Mar 23 2021, 7:25 PM · Restricted Project
yln added a comment to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

Ahh, I accidentally overwrote your very last diff. Will fix. Also thanks so much, Vitaly!

Mar 23 2021, 7:19 PM · Restricted Project
yln updated the diff for D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

Fix clang-tidy:

  • 'const' type qualifier on return type has no effect [clang-diagnostic-ignored-qualifiers]
  • 'auto ptr' can be declared as 'auto *ptr' [llvm-qualified-auto]
Mar 23 2021, 7:15 PM · Restricted Project
yln added a comment to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

@yln the linked commit from the description uses swift_task_set_tsan_hooks. I don't see any use of that here. Are going for a different approach now?

Mar 23 2021, 5:01 PM · Restricted Project
yln updated the summary of D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 23 2021, 4:59 PM · Restricted Project
yln added a comment to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

Also added a test. It only explicitly tests the "hooks present" case since all other tests already cover the "hooks absent" case.
@delcypher

Mar 23 2021, 3:51 PM · Restricted Project
yln updated the diff for D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
  • Introduce new hooks and call old ones
Mar 23 2021, 3:45 PM · Restricted Project
yln committed rG39a8743603d7: [Sanitizer] Remove refactoring leftover [NFC] (authored by yln).
[Sanitizer] Remove refactoring leftover [NFC]
Mar 23 2021, 3:12 PM
yln retitled D98810: [TSan] Support initialize/finalize hooks in dynamic libraries from [TSan] Initialize Swift Task runtime hooks to [TSan] Make initialize/finalize hooks work on Darwin.
Mar 23 2021, 2:54 PM · Restricted Project
yln added inline comments to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 23 2021, 2:53 PM · Restricted Project
yln updated the diff for D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

Adopt already-existing tsan::OnInitialize().

Mar 23 2021, 2:47 PM · Restricted Project
yln added inline comments to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 23 2021, 10:10 AM · Restricted Project

Mar 22 2021

yln accepted D99073: [lit] Reliable progress indicator and ETA.

Very cool, thanks! :)

Mar 22 2021, 11:01 AM · Restricted Project

Mar 18 2021

yln added inline comments to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 18 2021, 7:01 PM · Restricted Project
yln added inline comments to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 18 2021, 4:01 PM · Restricted Project
yln planned changes to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 18 2021, 11:51 AM · Restricted Project

Mar 17 2021

yln added inline comments to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 17 2021, 6:52 PM · Restricted Project
yln added a comment to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

@yln Could we add a test case for some of this new functionality?

We could add a lit testcase that has something like:

RUN: %clang -fsanitize=thread %s -o %t ; %run %t | FileCheck -check-prefixes=CHECK-NO-HOOK,CHECK %s
RUN: %clang -fsanitize=thread -Dtest_task_set_tsan_hooks %s -o %t.with_hook ; %run %t.with_hook | FileCheck -check-prefixes=CHECK-HOOK,CHECK %s

// CHECK-NO-HOOK-NOT: swift_task_set_tsan_hooks CALLED

#if defined(test_swift_task_set_tsan_hooks)
void swift_task_set_tsan_hooks(void*, void*) {
  // CHECK-HOOK: swift_task_set_tsan_hooks CALLED
  printf("swift_task_set_tsan_hooks CALLED\n");
}
#endif


int main() {
  // CHECK: DONE
  printf("DONE\n");
}

That way we test both swift_task_set_tsan_hooks being available and not being available at run time.

Note I'm not sure if it's safe to call printf from the point where TSan calls swift_task_set_tsan_hooks but if it isn't we can probably work around this by setting a variable and reading it later from main().

Mar 17 2021, 2:20 PM · Restricted Project
yln added inline comments to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 17 2021, 1:31 PM · Restricted Project
yln updated the summary of D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 17 2021, 1:28 PM · Restricted Project
yln requested review of D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Mar 17 2021, 1:24 PM · Restricted Project
yln added inline comments to D98767: [lit] Harmonize test timing data between Unix and Windows.
Mar 17 2021, 11:09 AM · Restricted Project

Mar 16 2021

yln added a comment to D98179: [lit] Sort test start times based on prior test timing data.

... I think we should use slash as the canonical separator for the timing data file.

+1

Mar 16 2021, 11:10 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Mar 15 2021

yln accepted D98179: [lit] Sort test start times based on prior test timing data.
Mar 15 2021, 10:59 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Mar 9 2021

yln added a comment to D98179: [lit] Sort test start times based on prior test timing data.

Very happy with the patch! Thanks for all your hard work! :)
I have a few small nits and one ask: can we model "test failed" explicitly instead of making their execution time really large?

Mar 9 2021, 2:21 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Mar 5 2021

yln added a comment to D97046: [lit] Generalize `early_tests`.

@lebedev.ri
I don't think we need a RFC for this as long as nothing changes for people who don't use the early_tests or new, generalized ordering feature. We shouldn't make Dave pay for past debts. (early_tests was introduced 5 years ago!)

Mar 5 2021, 1:19 PM · Restricted Project, Restricted Project

Feb 26 2021

yln accepted D97509: [darwin] switch blocking mutex from osspinlock to os_unfair_lock.

LGTM with nits!

Feb 26 2021, 5:13 PM · Restricted Project

Feb 24 2021

yln added a comment to D97373: [lit] Introduce LIT_WORKERS environment variable.

What's the reason for having granular environment variables then? (e.g. LIT_FILTER, LIT_FILTER_OUT, LIT_XFAIL)

Feb 24 2021, 1:24 PM · Restricted Project
yln added a comment to D97046: [lit] Generalize `early_tests`.

I also want to state that I am a bit concerned about feature creep and the the general usefulness of this effort.

Feb 24 2021, 12:48 PM · Restricted Project, Restricted Project
yln added inline comments to D97046: [lit] Generalize `early_tests`.
Feb 24 2021, 12:14 PM · Restricted Project, Restricted Project
yln added a comment to D97373: [lit] Introduce LIT_WORKERS environment variable.

There is no way to specify the number of workers when invoking lit indirectly ...

Feb 24 2021, 12:00 PM · Restricted Project

Feb 23 2021

yln accepted D97327: [NFC] Switch to auto marshalling infrastructure for `-fsanitize-address-destructor-kind=` flag..

LGTM, cleanup only, right?

Feb 23 2021, 1:11 PM · Restricted Project

Feb 19 2021

yln accepted D96830: [darwin] use new crash reporter api.

LGTM, thanks! :)

Feb 19 2021, 11:25 AM · Restricted Project
yln added a comment to D96830: [darwin] use new crash reporter api.

The diff still looks incomplete.

Feb 19 2021, 10:17 AM · Restricted Project
yln accepted D96662: [lit] Add --xfail and --filter-out (inverse of --filter).

I am also happy with --filter-out.

Feb 19 2021, 10:00 AM · Restricted Project

Feb 18 2021

yln added a comment to D96830: [darwin] use new crash reporter api.

I think the current diff does not contain all parts of this change.

Feb 18 2021, 3:57 PM · Restricted Project
yln added a comment to D96662: [lit] Add --xfail and --filter-out (inverse of --filter).

--skip: is it okay if we rename this to --filter-not? It's an uglier name but

  • more "self explanatory", i..e, "opposite of --filter". Anyone who knows --filter will know what it does just by looking the arg name.
  • Discoverable: in the usage and help output, it will appear next to --filter.
  • In the summary, we have a category of Skipped tests: tests that were not run because the user hit [Ctrl+C] or because of overall timeout. --skipped tests would appear in the Excluded category (e.g., --filter and sharding feature). Not using the word skip may help prevent some confusion.

Can we also add the summary counts in the test, so that the test shows that --filter-not excluded tests are counted in the Excluded category? Thanks!
Otherwise, LGTM, will approve today if you split this part out.

Feb 18 2021, 11:30 AM · Restricted Project
yln added inline comments to D96830: [darwin] use new crash reporter api.
Feb 18 2021, 10:16 AM · Restricted Project

Feb 16 2021

yln added a comment to D96662: [lit] Add --xfail and --filter-out (inverse of --filter).

I can get behind --skip (patch LGTM), but would a little help to understand when --xfail=path/to/test1;path/to/test2 would be useful (which workflow?). Thanks!

Feb 16 2021, 2:44 PM · Restricted Project

Feb 11 2021

yln added a reverting change for rG04af72c5423e: [Sanitizer] Fix failing sanitizer tests: rG9360f1a1911e: [Sanitizer] Fix sanitizer tests without reducing optimization levels.
Feb 11 2021, 3:23 PM
yln committed rG9360f1a1911e: [Sanitizer] Fix sanitizer tests without reducing optimization levels (authored by yln).
[Sanitizer] Fix sanitizer tests without reducing optimization levels
Feb 11 2021, 3:23 PM
yln added a reverting change for D96198: [Sanitizer] Fix failing sanitizer tests: rG9360f1a1911e: [Sanitizer] Fix sanitizer tests without reducing optimization levels.
Feb 11 2021, 3:23 PM · Restricted Project
yln closed D96357: [Sanitizer] Fix sanitizer tests without reducing optimization levels.
Feb 11 2021, 3:22 PM · Restricted Project

Feb 9 2021

yln added a reverting change for rG04af72c5423e: [Sanitizer] Fix failing sanitizer tests: D96357: [Sanitizer] Fix sanitizer tests without reducing optimization levels.
Feb 9 2021, 10:43 AM
yln added a reverting change for D96198: [Sanitizer] Fix failing sanitizer tests: D96357: [Sanitizer] Fix sanitizer tests without reducing optimization levels.
Feb 9 2021, 10:43 AM · Restricted Project
yln requested review of D96357: [Sanitizer] Fix sanitizer tests without reducing optimization levels.
Feb 9 2021, 10:43 AM · Restricted Project

Feb 8 2021

yln updated subscribers of D96198: [Sanitizer] Fix failing sanitizer tests.

@kubamracek pointed out that the optimization level in these tests might be of significance: ensuring that things work correctly with optimizations enabled.

Feb 8 2021, 11:36 AM · Restricted Project
yln committed rG04af72c5423e: [Sanitizer] Fix failing sanitizer tests (authored by yln).
[Sanitizer] Fix failing sanitizer tests
Feb 8 2021, 10:00 AM
yln closed D96198: [Sanitizer] Fix failing sanitizer tests.
Feb 8 2021, 9:59 AM · Restricted Project

Feb 5 2021

yln added reviewers for D96198: [Sanitizer] Fix failing sanitizer tests: dcoughlin, kubamracek.
Feb 5 2021, 10:07 PM · Restricted Project
yln requested review of D96198: [Sanitizer] Fix failing sanitizer tests.
Feb 5 2021, 10:06 PM · Restricted Project

Feb 3 2021

yln accepted D95977: [Darwin] Switch to new logging api for sanitizers.

LGTM assuming we did some manual QA/testing. (Adding a test is probably too hard to be worth it.)

Feb 3 2021, 4:37 PM · Restricted Project

Jan 29 2021

yln added a comment to D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

My apologies for misrepresenting the meaning of the docs and stirring up this confusion. I did not read the docs carefully enough.

Jan 29 2021, 4:18 PM · Restricted Project, Restricted Project, Restricted Project

Jan 28 2021

yln added a comment to D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

However, the project claims to require 3.6 or greater, and 3.6 features are being used.

Can you link to where it says that? I'm not opposed to making 3.6 the minimally required version, but at least for LLDB we don't have that requirement and we have documentation mentioning Python 3.5.

Jan 28 2021, 11:41 AM · Restricted Project, Restricted Project, Restricted Project
yln accepted D95635: [CMake] Require python 3.6 if enabling LLVM test targets.
Jan 28 2021, 11:09 AM · Restricted Project, Restricted Project, Restricted Project
yln added a comment to D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

LGTM, thanks! (I got bitten by this.)

Jan 28 2021, 11:09 AM · Restricted Project, Restricted Project, Restricted Project

Jan 27 2021

yln committed rG810599241868: [lit][NFC] Use enum to represent test order (authored by yln).
[lit][NFC] Use enum to represent test order
Jan 27 2021, 11:11 AM

Jan 26 2021

yln committed rG63273fc41fcc: [NFC][lit] Cleanup code using string interpolation (authored by yln).
[NFC][lit] Cleanup code using string interpolation
Jan 26 2021, 1:07 PM
yln committed rG302432f75dad: Reland "[lit] Use os.cpu_count() to cleanup TODO" (authored by yln).
Reland "[lit] Use os.cpu_count() to cleanup TODO"
Jan 26 2021, 10:20 AM

Jan 25 2021

yln committed rG6f1d4fb8fc52: [lit] Update lit.py shebang for Python3 (authored by yln).
[lit] Update lit.py shebang for Python3
Jan 25 2021, 5:30 PM
yln closed D95393: [lit] Update lit.py shebang for Python3.
Jan 25 2021, 5:30 PM · Restricted Project
yln added a reviewer for D95393: [lit] Update lit.py shebang for Python3: keith.
Jan 25 2021, 1:55 PM · Restricted Project
yln requested review of D95393: [lit] Update lit.py shebang for Python3.
Jan 25 2021, 1:51 PM · Restricted Project
yln added a comment to D94734: [lit] Use os.cpu_count() to cleanup TODO.

Reverting until we can fix the bot (since it's low priority).

Jan 25 2021, 1:35 PM · Restricted Project
yln added a reverting change for rG9946b169c379: [lit] Use os.cpu_count() to cleanup TODO: rGdb1a7089eaf0: Revert "[lit] Use os.cpu_count() to cleanup TODO".
Jan 25 2021, 1:33 PM