Page MenuHomePhabricator

yln (Julian Lettner)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 21 2014, 12:56 PM (377 w, 1 d)

Recent Activity

Yesterday

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

Mon, Apr 12

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

Skipping test when running on old OS.

Mon, Apr 12, 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().
Mon, Apr 12, 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.

Mon, Apr 12, 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
Mon, Apr 12, 1:31 PM
yln closed D100240: [TSan] Allow test contents to be copied before execution.
Mon, Apr 12, 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.

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

Fri, Apr 9

yln requested review of D100240: [TSan] Allow test contents to be copied before execution.
Fri, Apr 9, 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?

Fri, Apr 9, 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
Fri, Apr 9, 11:20 AM · Restricted Project

Tue, Apr 6

yln accepted D99434: [TSAN] Honor acquire failure mode on AtomicCAS.

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

Tue, Apr 6, 9:38 AM · 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
Tue, Apr 6, 9:14 AM
yln closed D99911: [Sanitizer] Adopt Python 3 for iOS simulator test scripts.
Tue, Apr 6, 9:14 AM · Restricted Project

Mon, Apr 5

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

Fri, Apr 2

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

Thu, Apr 1

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.

Thu, Apr 1, 7:10 PM · Restricted Project

Tue, Mar 30

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

Tue, Mar 30, 3:03 PM · Restricted Project

Wed, Mar 24

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

Tue, Mar 23

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

@delcypher Good to go now?

Tue, Mar 23, 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).

Tue, Mar 23, 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!

Tue, Mar 23, 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]
Tue, Mar 23, 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?

Tue, Mar 23, 5:01 PM · Restricted Project
yln updated the summary of D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Tue, Mar 23, 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

Tue, Mar 23, 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
Tue, Mar 23, 3:45 PM · Restricted Project
yln committed rG39a8743603d7: [Sanitizer] Remove refactoring leftover [NFC] (authored by yln).
[Sanitizer] Remove refactoring leftover [NFC]
Tue, Mar 23, 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.
Tue, Mar 23, 2:54 PM · Restricted Project
yln added inline comments to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Tue, Mar 23, 2:53 PM · Restricted Project
yln updated the diff for D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.

Adopt already-existing tsan::OnInitialize().

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

Mon, Mar 22

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

Very cool, thanks! :)

Mon, Mar 22, 11:01 AM · Restricted Project

Thu, Mar 18

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

Wed, Mar 17

yln added inline comments to D98810: [TSan] Support initialize/finalize hooks in dynamic libraries.
Wed, Mar 17, 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().

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

Tue, Mar 16

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

Tue, Mar 16, 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
yln committed rGdb1a7089eaf0: Revert "[lit] Use os.cpu_count() to cleanup TODO" (authored by yln).
Revert "[lit] Use os.cpu_count() to cleanup TODO"
Jan 25 2021, 1:33 PM
yln added a reverting change for D94734: [lit] Use os.cpu_count() to cleanup TODO: rGdb1a7089eaf0: Revert "[lit] Use os.cpu_count() to cleanup TODO".
Jan 25 2021, 1:33 PM · Restricted Project
yln added a comment to D94766: Add lit config for dir with standalone tests.

Actually, it seems to me that --no-indirect-run-check probably should have been a lit config option in the first place. It declares a property of the test suite: it has legitimate tests that are only run individually. lit invocations shouldn't have to declare that again and again. Or have I misunderstood the use case?

No that makes sense. A config option would work for me. Should I make a new patch to that effect then?

Ignoring backward-compatibility, would the command-line option then be unnecessary? Whether we remove it immediately is a different question.

Before you invest time in this, it might be good to hear from someone else. @yln, does this solution seem reasonable to you?

Jan 25 2021, 12:04 PM · Restricted Project
yln committed rG9946b169c379: [lit] Use os.cpu_count() to cleanup TODO (authored by yln).
[lit] Use os.cpu_count() to cleanup TODO
Jan 25 2021, 11:48 AM
yln closed D94734: [lit] Use os.cpu_count() to cleanup TODO.
Jan 25 2021, 11:48 AM · Restricted Project

Jan 22 2021

yln committed rG975086b10a6f: Remove obsolete TODOs (authored by yln).
Remove obsolete TODOs
Jan 22 2021, 12:04 PM
yln added inline comments to D94734: [lit] Use os.cpu_count() to cleanup TODO.
Jan 22 2021, 11:50 AM · Restricted Project
yln updated the diff for D94734: [lit] Use os.cpu_count() to cleanup TODO.

Address Joel's comments.

Jan 22 2021, 11:46 AM · Restricted Project

Jan 21 2021

yln added a comment to D94766: Add lit config for dir with standalone tests.

I'm not strongly opposed to this patch, especially if it helps many people. However, given that this use case is external and temporary, I'm inclined to think a feature test is more reasonable: it's also simple, but it's external like the use case and can be dropped by users when they decide they no longer need to support old lit versions. What do you think?

Jan 21 2021, 11:09 AM · Restricted Project

Jan 15 2021

yln committed rG84de4faf4cae: GetMacosAlignedVersion() fails if sysctl is not setup (authored by yln).
GetMacosAlignedVersion() fails if sysctl is not setup
Jan 15 2021, 11:44 AM
yln closed D94190: [sanitizer][Darwin] GetMacosAlignedVersion() fails if sysctl is not setup.
Jan 15 2021, 11:44 AM · Restricted Project

Jan 14 2021

yln added a comment to D94734: [lit] Use os.cpu_count() to cleanup TODO.

Does the following mean that Python3 is now okay to use for lit?
https://lists.llvm.org/pipermail/llvm-dev/2020-December/147372.html
https://reviews.llvm.org/D93097

Jan 14 2021, 5:19 PM · Restricted Project
yln requested review of D94734: [lit] Use os.cpu_count() to cleanup TODO.
Jan 14 2021, 5:17 PM · Restricted Project