Page MenuHomePhabricator

yln (Julian Lettner)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 21 2014, 12:56 PM (352 w, 5 d)

Recent Activity

Tue, Oct 13

yln added a comment to D89344: Introduce convenience macro ASAN_NO_INSTR_PTR..

Previously attribute((address_space(1))) had to be applied to pointer types to avoid instrumentation.

Tue, Oct 13, 3:38 PM · Restricted Project, Restricted Project
yln added inline comments to D89186: [lit] Avoid calling realpath() for every printed message.
Tue, Oct 13, 10:55 AM · Restricted Project

Mon, Oct 12

yln accepted D89186: [lit] Avoid calling realpath() for every printed message.

Just making sure I understand:
This is an implementation detail only and the message format stays the same (and it works on all platforms).
The only difference in behavior is that we don't resolve symlinks anymore; and we don't care about that.

Mon, Oct 12, 10:05 AM · Restricted Project

Wed, Oct 7

yln accepted D89020: [lit] Try to remove the flakeyness of `shtest-timeout.py` and `googletest-timeout.py`..
Wed, Oct 7, 6:50 PM · Restricted Project
yln added inline comments to D89020: [lit] Try to remove the flakeyness of `shtest-timeout.py` and `googletest-timeout.py`..
Wed, Oct 7, 5:57 PM · Restricted Project
yln accepted D89020: [lit] Try to remove the flakeyness of `shtest-timeout.py` and `googletest-timeout.py`..

LGTM with nits

Wed, Oct 7, 5:52 PM · Restricted Project

Mon, Oct 5

yln added a comment to D88807: [lit] Try to remove the flakeyness of `shtest-timeout.py` and `googletest-timeout.py`..

Flaky tests are the worst! Thanks for working on this :)

Mon, Oct 5, 10:15 AM · Restricted Project

Fri, Oct 2

yln committed rGc56bb45e8399: [fuzzer] Remove unused variable (authored by yln).
[fuzzer] Remove unused variable
Fri, Oct 2, 4:33 PM
yln closed D88763: [fuzzer] Remove unused variable.
Fri, Oct 2, 4:33 PM · Restricted Project
yln added reviewers for D88763: [fuzzer] Remove unused variable: kcc, morehouse, delcypher.
Fri, Oct 2, 4:24 PM · Restricted Project
yln requested review of D88763: [fuzzer] Remove unused variable.
Fri, Oct 2, 4:21 PM · Restricted Project

Sep 8 2020

yln added a comment to D85011: Correctly report error when interceptor points at an unlinked symbol.

Let me recap for my own understanding. The original issue below:

Basically, libclang_rt.asan provides a weak version of the crypt_r symbol (among others) which prevents the linker from raising a link error if the user forgets to link with the crypt library.

I can't think of a way to get around this root issue (without significant changes to how interception works today) and since it's a linking issue, we can't solve it with a runtime check.
However, adding a runtime check could give us better diagnostics instead of just a "random" nullptr dereference in an ASan/sanitizer interceptor.

Sep 8 2020, 11:31 AM

Sep 2 2020

yln committed rG4cefa8614ffe: [TSan][libdispatch] Fix compilation error on Linux (authored by yln).
[TSan][libdispatch] Fix compilation error on Linux
Sep 2 2020, 11:30 AM

Sep 1 2020

yln committed rG478eb98cd25c: [Docs] Remove outdated OS limitation (authored by yln).
[Docs] Remove outdated OS limitation
Sep 1 2020, 2:44 PM
yln closed D86980: [Docs] Remove outdated OS limitation.
Sep 1 2020, 2:44 PM · Restricted Project
yln added reviewers for D86980: [Docs] Remove outdated OS limitation: rjmccall, delcypher, kubamracek.
Sep 1 2020, 2:35 PM · Restricted Project
yln requested review of D86980: [Docs] Remove outdated OS limitation.
Sep 1 2020, 2:34 PM · Restricted Project
yln added reviewers for D85011: Correctly report error when interceptor points at an unlinked symbol: kubamracek, delcypher.
Sep 1 2020, 10:47 AM
yln added a comment to D85011: Correctly report error when interceptor points at an unlinked symbol.

On Linux, I think we define our interceptors like this:

# define DECLARE_WRAPPER(ret_type, func, ...) \
    extern "C" ret_type func(__VA_ARGS__) \
    __attribute__((weak, alias("__interceptor_" #func), visibility("default")));
...
extern "C" INTERCEPTOR_ATTRIBUTE \
  ret_type WRAP(func)(__VA_ARGS__) {
    x = REAL(func)(arg1, arg2);
    return x;
}
Sep 1 2020, 10:47 AM
yln added a comment to D85011: Correctly report error when interceptor points at an unlinked symbol.
Sep 1 2020, 10:40 AM

Aug 31 2020

yln added inline comments to D82791: [lit] Improve lit's output with default settings and --verbose..
Aug 31 2020, 11:55 AM · Restricted Project, Restricted Project

Aug 25 2020

yln accepted D86378: [tsan] On arm64e, strip out ptrauth bits from incoming PCs.
Aug 25 2020, 10:06 AM · Restricted Project
yln accepted D86377: [tsan] Use large address space mapping on Apple Silicon Macs.
Aug 25 2020, 10:01 AM · Restricted Project

Aug 24 2020

yln committed rGc1d25e9a8255: [TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait(), pt. (authored by yln).
[TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait(), pt.
Aug 24 2020, 2:38 PM
yln committed rGfa0a855c73a0: [TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait() (authored by yln).
[TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait()
Aug 24 2020, 2:01 PM
yln committed rG2b7a2cbb15c4: [TSan][Darwin] Handle NULL argument in interceptor (authored by yln).
[TSan][Darwin] Handle NULL argument in interceptor
Aug 24 2020, 11:36 AM
yln added a comment to D86377: [tsan] Use large address space mapping on Apple Silicon Macs.

Definitely agree that this is very annoying to read. I think it would be best if we were able to change the ifdef to use something like “HAS_48_BIT_ADDRESS_SPACE” and compute that bool separately. @yln, @dvyukov WDYT?

Aug 24 2020, 10:12 AM · Restricted Project

Aug 21 2020

yln added a comment to D86379: [sanitizer] When building tests on Darwin, always pass -arch and other common flags.

Can you provide some context? Dan is probably the best person to comment on this. @delcypher

Aug 21 2020, 4:15 PM · Restricted Project
yln accepted D86377: [tsan] Use large address space mapping on Apple Silicon Macs.
Aug 21 2020, 4:13 PM · Restricted Project
yln added a comment to D86377: [tsan] Use large address space mapping on Apple Silicon Macs.

I feel these #ifdefs becoming quite unwieldy. One of the reasons that I have run into a couple of times myself is that we don't have a specific one for "macOS only".

Aug 21 2020, 4:12 PM · Restricted Project
yln added a comment to D86378: [tsan] On arm64e, strip out ptrauth bits from incoming PCs.

Thanks for tackling this!

Aug 21 2020, 3:42 PM · Restricted Project
yln committed rGcc62373915f0: [ASan][Darwin] Enable test on additional platforms (authored by yln).
[ASan][Darwin] Enable test on additional platforms
Aug 21 2020, 11:13 AM

Aug 20 2020

yln committed rG53aff8d864ad: [Darwin][iOS] Enable test on non-macOS platforms (authored by yln).
[Darwin][iOS] Enable test on non-macOS platforms
Aug 20 2020, 4:41 PM
yln committed rG1f3c92f968ed: [compiler-rt][Darwin] Refactor minimum deployment target substitutions (authored by yln).
[compiler-rt][Darwin] Refactor minimum deployment target substitutions
Aug 20 2020, 4:23 PM
yln closed D85925: [compiler-rt][Darwin] Refactor minimum deployment target substitutions.
Aug 20 2020, 4:23 PM · Restricted Project
yln added inline comments to D85925: [compiler-rt][Darwin] Refactor minimum deployment target substitutions.
Aug 20 2020, 3:41 PM · Restricted Project
yln committed rGd9b062ad8777: [TSan][Darwin] Remove unnecessary lit substitution (authored by yln).
[TSan][Darwin] Remove unnecessary lit substitution
Aug 20 2020, 1:02 PM
yln closed D85803: [TSan][Darwin] Remove unnecessary lit substitution.
Aug 20 2020, 1:02 PM · Restricted Project
yln committed rG6222a28db5ed: [TSan][Darwin] Enable test on non-macOS platforms (authored by yln).
[TSan][Darwin] Enable test on non-macOS platforms
Aug 20 2020, 12:42 PM
yln closed D85952: [TSan][Darwin] Enable test on non-macOS platforms.
Aug 20 2020, 12:42 PM · Restricted Project

Aug 18 2020

yln committed rG40ae296bc39a: [TSan][libdispatch] Guard test execution on old platforms (authored by yln).
[TSan][libdispatch] Guard test execution on old platforms
Aug 18 2020, 6:36 PM
yln committed rG686fe293e6c5: [TSan][libdispatch] Ensure TSan dylib works on old systems (authored by yln).
[TSan][libdispatch] Ensure TSan dylib works on old systems
Aug 18 2020, 6:36 PM
yln committed rG0c4863a25395: Reland "[TSan][libdispatch] Add interceptors for dispatch_async_and_wait()" (authored by yln).
Reland "[TSan][libdispatch] Add interceptors for dispatch_async_and_wait()"
Aug 18 2020, 6:35 PM
yln closed D85995: [TSan][libdispatch] Guard test execution on old platforms.
Aug 18 2020, 6:35 PM · Restricted Project
yln closed D86103: [TSan][libdispatch] Ensure TSan dylib works on old systems.
Aug 18 2020, 6:35 PM · Restricted Project
yln added a comment to D86103: [TSan][libdispatch] Ensure TSan dylib works on old systems.

If we use #if !SANITIZER_MAC || defined(__MAC_10_14), do we still need the forward declarations and weak_import stuff?

Aug 18 2020, 8:16 AM · Restricted Project

Aug 17 2020

yln updated the diff for D86103: [TSan][libdispatch] Ensure TSan dylib works on old systems.

Guard compilation of interceptors with #ifdef, in addition to forcing weak references.
This means we are not building those when compiling with older SDKs.

Aug 17 2020, 4:07 PM · Restricted Project
yln added a comment to D86103: [TSan][libdispatch] Ensure TSan dylib works on old systems.

Clarification: the problem is *building* with SDK < 10.14. *Running* on macOS < 10.14 works (with this patch).

Aug 17 2020, 2:49 PM · Restricted Project
yln added a comment to D86103: [TSan][libdispatch] Ensure TSan dylib works on old systems.

I just discovered that this is still not enough; linking still fails with SDK < 10.14. Only options left are:

Aug 17 2020, 2:28 PM · Restricted Project
yln added a comment to D86103: [TSan][libdispatch] Ensure TSan dylib works on old systems.

@dmajor: do you have a quick way to check if this unbreaks your builds?
Another follow-up might be required to make the test work: https://reviews.llvm.org/D85995

Aug 17 2020, 12:54 PM · Restricted Project
yln requested review of D86103: [TSan][libdispatch] Ensure TSan dylib works on old systems.
Aug 17 2020, 12:52 PM · Restricted Project
yln added a comment to D85854: [TSan][libdispatch] Add interceptors for dispatch_async_and_wait().

Our automation builds are broken after this change, with undefined symbols for _dispatch_async_and_wait{,_f}. We build using the 10.12 SDK with a deployment target of 10.11. Should this code have a version check?

Aug 17 2020, 9:48 AM · Restricted Project

Aug 14 2020

yln requested review of D85995: [TSan][libdispatch] Guard test execution on old platforms.
Aug 14 2020, 1:55 PM · Restricted Project
yln committed rGd137db80297f: [TSan][libdispatch] Add interceptors for dispatch_async_and_wait() (authored by yln).
[TSan][libdispatch] Add interceptors for dispatch_async_and_wait()
Aug 14 2020, 9:40 AM
yln closed D85854: [TSan][libdispatch] Add interceptors for dispatch_async_and_wait().
Aug 14 2020, 9:40 AM · Restricted Project
yln added a comment to D85854: [TSan][libdispatch] Add interceptors for dispatch_async_and_wait().

LGTM. Maybe add an if to check if the 10.14-only API is available and just do nothing in the test otherwise?

Aug 14 2020, 9:01 AM · Restricted Project

Aug 13 2020

yln requested review of D85952: [TSan][Darwin] Enable test on non-macOS platforms.
Aug 13 2020, 6:16 PM · Restricted Project
yln retitled D85803: [TSan][Darwin] Remove unnecessary lit substitution from [TSan][Darwin] Remove obsolete lit substitutions to [TSan][Darwin] Remove unnecessary lit substitution.
Aug 13 2020, 5:35 PM · Restricted Project
yln updated the diff for D85803: [TSan][Darwin] Remove unnecessary lit substitution.

Keep %darwin_min_target_with_tls_support -> 10.12. TLS requires watchOS 3+ simulator.

Aug 13 2020, 5:34 PM · Restricted Project
yln added a comment to D85803: [TSan][Darwin] Remove unnecessary lit substitution.

@yln Are you sure this actually works for all platforms, in particular the watchOS simulator? The code you link (https://github.com/llvm/llvm-project/blob/master/compiler-rt/lib/tsan/CMakeLists.txt#L122) is not the minimum deploy target. That code just checks the SDK version used to build which is different from the minimum deploy target used.

The minimum deployment target for macOS is actually 10.10 I think (https://github.com/llvm/llvm-project/blob/master/compiler-rt/cmake/config-ix.cmake#L400). Other code sets the minimum deployment targets (https://github.com/llvm/llvm-project/blob/master/compiler-rt/cmake/config-ix.cmake#L363) for other platforms.

Aug 13 2020, 4:56 PM · Restricted Project
yln added inline comments to D85854: [TSan][libdispatch] Add interceptors for dispatch_async_and_wait().
Aug 13 2020, 12:41 PM · Restricted Project
yln requested review of D85925: [compiler-rt][Darwin] Refactor minimum deployment target substitutions.
Aug 13 2020, 12:32 PM · Restricted Project
yln added a comment to D85854: [TSan][libdispatch] Add interceptors for dispatch_async_and_wait().

Does the testcase actually fail without the code change?

Aug 13 2020, 12:29 PM · Restricted Project

Aug 12 2020

yln requested review of D85854: [TSan][libdispatch] Add interceptors for dispatch_async_and_wait().
Aug 12 2020, 1:46 PM · Restricted Project

Aug 11 2020

yln requested review of D85803: [TSan][Darwin] Remove unnecessary lit substitution.
Aug 11 2020, 6:28 PM · Restricted Project
yln committed rGbfb0b853b2da: [compiler-rt] XFAIL test on iOS (authored by yln).
[compiler-rt] XFAIL test on iOS
Aug 11 2020, 11:59 AM
yln closed D85677: [compiler-rt] XFAIL test on iOS.
Aug 11 2020, 11:59 AM · Restricted Project
yln added a comment to D85677: [compiler-rt] XFAIL test on iOS.

Interesting. So iOS' C library doesn't support jumping out of signal handlers? From what I understand, that'd be a bug in iOS' C library.

Aug 11 2020, 11:58 AM · Restricted Project

Aug 10 2020

yln requested review of D85677: [compiler-rt] XFAIL test on iOS.
Aug 10 2020, 11:53 AM · Restricted Project

Aug 6 2020

yln added a comment to D85378: Fix off-by-one error in size of the required shadow memory passed to `MapDynamicShadow`..

After looking at this again: would changing MemToShadowSize() to round-up to the closest multiple of page_size work?
That would cover all platforms (since it's a shared function in asan_mapping.h).

Aug 6 2020, 2:55 PM · Restricted Project
yln accepted D85409: [asan] Also allow for SIGBUS in high-address-dereference.c.

LGTM, thanks!
I still would feel more comfortable to get a second opinion. Maybe @vitalybuka can comment?

Aug 6 2020, 10:12 AM · Restricted Project
yln added a reviewer for D85409: [asan] Also allow for SIGBUS in high-address-dereference.c: delcypher.
Aug 6 2020, 9:59 AM · Restricted Project
yln added a reviewer for D85389: Fix bug where we request a shadow memory one page larger than necessary.: tejohnson.

Ahh, this is directly related to D85387 and already addresses one of my questions there!
Happy with this change, let's get @tejohnson's feedback.

Aug 6 2020, 9:43 AM · Restricted Project
yln added a reviewer for D85387: [NFC] Make argument name passed to `FindAvailableMemoryRange()` consistent with parameter name.: tejohnson.

I am okay with this change, but I don't understand this code or why this change is NFC. Can we get @tejohnson to take a look? (D83247)

Aug 6 2020, 9:36 AM · Restricted Project
yln accepted D85378: Fix off-by-one error in size of the required shadow memory passed to `MapDynamicShadow`..

This latent bug was likely hidden because the shadow memory size is
always page aligned due to being allocated by mmap.

Aug 6 2020, 8:56 AM · Restricted Project

Aug 5 2020

yln committed rG1e90bd7f84d3: [ASan][Darwin] Adapt test for macOS 11+ version scheme (authored by yln).
[ASan][Darwin] Adapt test for macOS 11+ version scheme
Aug 5 2020, 10:15 AM

Aug 3 2020

yln committed rG1d7790604c0c: [UBSan] Increase robustness of tests (authored by yln).
[UBSan] Increase robustness of tests
Aug 3 2020, 3:27 PM
yln closed D85155: [UBSan] Increase robustness of tests.
Aug 3 2020, 3:27 PM · Restricted Project
yln requested review of D85155: [UBSan] Increase robustness of tests.
Aug 3 2020, 1:28 PM · Restricted Project
yln accepted D84233: [lit] Remove ANSI control character from xunit output.

LGTM with two small nits. Thanks!

Aug 3 2020, 10:57 AM · Restricted Project

Jul 31 2020

yln added a comment to D85057: [compiler-rt][Darwin] Fix linker errors for check-asan.

Thanks for the quick review! :)

Jul 31 2020, 4:45 PM · Restricted Project
yln committed rGff756f5231cc: [compiler-rt][Darwin] Fix linker errors for check-asan (authored by yln).
[compiler-rt][Darwin] Fix linker errors for check-asan
Jul 31 2020, 4:45 PM
yln closed D85057: [compiler-rt][Darwin] Fix linker errors for check-asan.
Jul 31 2020, 4:45 PM · Restricted Project
yln requested review of D85057: [compiler-rt][Darwin] Fix linker errors for check-asan.
Jul 31 2020, 4:21 PM · Restricted Project
yln added a comment to D84466: [CompilerRT] Don't pass global compile test flags in non-standalone build.

Note this breaks ninja check-asan: linker error when linking ASan unit tests.

Jul 31 2020, 2:38 PM · Restricted Project
yln committed rG43bf902c2e34: [compiler-rt][Darwin] Fix GetOSMajorKernelOffset() on watchOS (authored by yln).
[compiler-rt][Darwin] Fix GetOSMajorKernelOffset() on watchOS
Jul 31 2020, 11:48 AM
yln accepted D84931: [lit] Add --time-trace-output to lit.

LGTM, thanks! Please wait a few days before landing to give others a chance to comment.

Jul 31 2020, 11:26 AM · Restricted Project

Jul 30 2020

yln added inline comments to D84931: [lit] Add --time-trace-output to lit.
Jul 30 2020, 9:43 PM · Restricted Project
yln added a reviewer for D84931: [lit] Add --time-trace-output to lit: jdenny.

That's really cool, thanks!

Jul 30 2020, 9:41 PM · Restricted Project

Jul 29 2020

yln committed rG44e7d4499739: [Darwin][compiler-rt] kern.osproductversion unavailable pre macOS 10.13 (authored by yln).
[Darwin][compiler-rt] kern.osproductversion unavailable pre macOS 10.13
Jul 29 2020, 5:22 PM
yln closed D84892: [Darwin][compiler-rt] kern.osproductversion unavailable pre macOS 10.13.
Jul 29 2020, 5:22 PM · Restricted Project
yln updated the diff for D84892: [Darwin][compiler-rt] kern.osproductversion unavailable pre macOS 10.13.

Fix linter warning.

Jul 29 2020, 3:09 PM · Restricted Project
yln requested review of D84892: [Darwin][compiler-rt] kern.osproductversion unavailable pre macOS 10.13.
Jul 29 2020, 2:58 PM · Restricted Project
yln committed rG7e946d0c8289: [compiler-rt][Darwin] Disable EXC_GUARD exceptions (authored by yln).
[compiler-rt][Darwin] Disable EXC_GUARD exceptions
Jul 29 2020, 11:23 AM

Jul 28 2020

yln committed rG417d3d495f1c: [docs] [lit] Add a more helpful description for lit.py's -s flag. (authored by varungandhi-apple).
[docs] [lit] Add a more helpful description for lit.py's -s flag.
Jul 28 2020, 2:39 PM
yln closed D82808: [docs] [lit] Add a more helpful description for lit.py's -s flag..
Jul 28 2020, 2:39 PM · Restricted Project
yln added inline comments to D84233: [lit] Remove ANSI control character from xunit output.
Jul 28 2020, 10:18 AM · Restricted Project
yln added a comment to D84233: [lit] Remove ANSI control character from xunit output.

I still wonder whether it would be more helpful to drop control characters rather than irreversibly escape them. Dropping them makes the output more readable. Reversibly escaping them makes it possible to feed the text to a tool that can render the control codes. Irreversibly escaping them doesn't achieve either of those advantages, and I'm not sure if it serves a real use case. Any comments on this question?

Jul 28 2020, 10:17 AM · Restricted Project
yln committed rG12f27fc4b505: [Darwin] Cleanup code via improved GetMacosAlignedVersion() (authored by yln).
[Darwin] Cleanup code via improved GetMacosAlignedVersion()
Jul 28 2020, 9:48 AM
yln closed D81197: [Darwin] Cleanup code via improved GetMacosAlignedVersion().
Jul 28 2020, 9:48 AM · Restricted Project