fjricci (Francis Ricci)
User

Projects

User does not belong to any projects.
User Since
Dec 4 2015, 11:34 AM (68 w, 4 d)

Recent Activity

Yesterday

fjricci committed rL298947: Postpone lsan tls allocation until required.
Postpone lsan tls allocation until required
Tue, Mar 28, 3:09 PM
fjricci committed rL298946: Enable i386 builds for darwin lsan.
Enable i386 builds for darwin lsan
Tue, Mar 28, 3:09 PM
fjricci closed D31306: Postpone lsan tls allocation until required by committing rL298947: Postpone lsan tls allocation until required.
Tue, Mar 28, 3:09 PM
fjricci closed D29995: Enable i386 builds for darwin lsan by committing rL298946: Enable i386 builds for darwin lsan.
Tue, Mar 28, 3:09 PM
fjricci added a comment to D31430: Disable asan leak tests on i386 linux.

To be clear, my patch doesn't change the default set by sanitizer_flags.inc for detect_leaks, it just forces asan to respect it. So if we want to change the default, that's something that could be done (although not my decision).

Tue, Mar 28, 12:21 PM
fjricci added a comment to D31430: Disable asan leak tests on i386 linux.

Well, the issue is that currently, we aren't respecting the default flags as set in sanitizer_flags.inc when we run on asan. asan_flags.cc overrides the defaults and replaces them with CAN_SANITIZE_LEAKS. This means that leak checking will always run on asan builds, even when the default is set to disabled. This isn't causing issues for linux-i386, as most of the tests pass even though it's technically supposed to be disabled. However, for Darwin, the tests will all fail, so we need to ensure that the default values are respected.

So why not make LSan on Darwin pass these tests instead of disabling them on Linux?

Tue, Mar 28, 12:19 PM
fjricci added a comment to D31307: Enable builds of darwin lsan by default.

Updated that diff, and now check-all passes locally on darwin and linux.

Tue, Mar 28, 12:06 PM
fjricci added a comment to D31430: Disable asan leak tests on i386 linux.

For more context, D31307 is the diff which would begin causing linux-i386 failures without this patch.

Tue, Mar 28, 12:02 PM
fjricci updated the diff for D31430: Disable asan leak tests on i386 linux.

Also explicitly enable lsan on i386 leak tests

Tue, Mar 28, 11:58 AM
fjricci added a comment to D31430: Disable asan leak tests on i386 linux.

Well, the issue is that currently, we aren't respecting the default flags as set in sanitizer_flags.inc when we run on asan. asan_flags.cc overrides the defaults and replaces them with CAN_SANITIZE_LEAKS. This means that leak checking will always run on asan builds, even when the default is set to disabled. This isn't causing issues for linux-i386, as most of the tests pass even though it's technically supposed to be disabled. However, for Darwin, the tests will all fail, so we need to ensure that the default values are respected.

Tue, Mar 28, 11:55 AM
fjricci added a comment to D31307: Enable builds of darwin lsan by default.

Ok, pending D31430, this now passes tests.

Tue, Mar 28, 11:42 AM
fjricci added a dependency for D31307: Enable builds of darwin lsan by default: D31430: Disable asan leak tests on i386 linux.
Tue, Mar 28, 11:41 AM
fjricci added a dependent revision for D31430: Disable asan leak tests on i386 linux: D31307: Enable builds of darwin lsan by default.
Tue, Mar 28, 11:41 AM
fjricci created D31430: Disable asan leak tests on i386 linux.
Tue, Mar 28, 11:41 AM

Mon, Mar 27

fjricci added inline comments to D31307: Enable builds of darwin lsan by default.
Mon, Mar 27, 5:01 PM
fjricci updated the diff for D31307: Enable builds of darwin lsan by default.

Account for default detect_leaks value when setting asan default value

Mon, Mar 27, 5:00 PM
fjricci committed rL298884: Fix missing sanitizer platform include.
Fix missing sanitizer platform include
Mon, Mar 27, 1:34 PM
fjricci committed rL298879: Fix comment in lsan_linux.cc.
Fix comment in lsan_linux.cc
Mon, Mar 27, 12:56 PM
fjricci committed rL298878: Move lsan allocator cache from lsan_common_linux to lsan_linux.
Move lsan allocator cache from lsan_common_linux to lsan_linux
Mon, Mar 27, 12:55 PM
fjricci committed rL298848: Use pthreads for thread-local lsan allocator cache on darwin.
Use pthreads for thread-local lsan allocator cache on darwin
Mon, Mar 27, 7:20 AM
fjricci closed D31291: Use pthreads for thread-local lsan allocator cache on darwin by committing rL298848: Use pthreads for thread-local lsan allocator cache on darwin.
Mon, Mar 27, 7:20 AM
fjricci committed rL298847: Disable use_tls_dynamic on 32-bit linux.
Disable use_tls_dynamic on 32-bit linux
Mon, Mar 27, 7:19 AM
fjricci closed D31300: Disable use_tls_dynamic on 32-bit linux by committing rL298847: Disable use_tls_dynamic on 32-bit linux.
Mon, Mar 27, 7:19 AM
fjricci abandoned D31335: Allow getCompiler to return None in the test suite.

I primarily wrote this because getArchFlag() accounts for the possibility that getCompiler() can be None. But my problem was unrelated, so I don't need this (and I agree that it would be surprising if anyone did).

Mon, Mar 27, 7:16 AM

Fri, Mar 24

fjricci created D31335: Allow getCompiler to return None in the test suite.
Fri, Mar 24, 8:55 AM
fjricci updated the diff for D31300: Disable use_tls_dynamic on 32-bit linux.

Use UNSUPPORTED

Fri, Mar 24, 6:55 AM

Thu, Mar 23

fjricci added a dependent revision for D31291: Use pthreads for thread-local lsan allocator cache on darwin: D29995: Enable i386 builds for darwin lsan.
Thu, Mar 23, 2:17 PM
fjricci added a dependency for D29995: Enable i386 builds for darwin lsan: D31291: Use pthreads for thread-local lsan allocator cache on darwin.
Thu, Mar 23, 2:17 PM
fjricci added a dependent revision for D29995: Enable i386 builds for darwin lsan: D31307: Enable builds of darwin lsan by default.
Thu, Mar 23, 2:16 PM
fjricci added a dependency for D31307: Enable builds of darwin lsan by default: D29995: Enable i386 builds for darwin lsan.
Thu, Mar 23, 2:16 PM
fjricci removed a dependency for D29995: Enable i386 builds for darwin lsan: D31307: Enable builds of darwin lsan by default.
Thu, Mar 23, 2:16 PM
fjricci removed a dependent revision for D31307: Enable builds of darwin lsan by default: D29995: Enable i386 builds for darwin lsan.
Thu, Mar 23, 2:16 PM
fjricci added a dependent revision for D31306: Postpone lsan tls allocation until required: D31307: Enable builds of darwin lsan by default.
Thu, Mar 23, 2:16 PM
fjricci added a dependency for D31307: Enable builds of darwin lsan by default: D31306: Postpone lsan tls allocation until required.
Thu, Mar 23, 2:16 PM
fjricci added a dependent revision for D31291: Use pthreads for thread-local lsan allocator cache on darwin: D31306: Postpone lsan tls allocation until required.
Thu, Mar 23, 2:15 PM
fjricci added a dependency for D31306: Postpone lsan tls allocation until required: D31291: Use pthreads for thread-local lsan allocator cache on darwin.
Thu, Mar 23, 2:15 PM
fjricci removed a dependent revision for D31306: Postpone lsan tls allocation until required: D31291: Use pthreads for thread-local lsan allocator cache on darwin.
Thu, Mar 23, 2:15 PM
fjricci edited dependencies for D31291: Use pthreads for thread-local lsan allocator cache on darwin, added: 1; removed: 1.
Thu, Mar 23, 2:15 PM
fjricci added a dependent revision for D31300: Disable use_tls_dynamic on 32-bit linux: D31291: Use pthreads for thread-local lsan allocator cache on darwin.
Thu, Mar 23, 2:15 PM
fjricci removed a dependent revision for D31291: Use pthreads for thread-local lsan allocator cache on darwin: D31300: Disable use_tls_dynamic on 32-bit linux.
Thu, Mar 23, 2:14 PM
fjricci removed a dependency for D31300: Disable use_tls_dynamic on 32-bit linux: D31291: Use pthreads for thread-local lsan allocator cache on darwin.
Thu, Mar 23, 2:14 PM
fjricci added a dependent revision for D31291: Use pthreads for thread-local lsan allocator cache on darwin: D31300: Disable use_tls_dynamic on 32-bit linux.
Thu, Mar 23, 2:14 PM
fjricci added a dependency for D31300: Disable use_tls_dynamic on 32-bit linux: D31291: Use pthreads for thread-local lsan allocator cache on darwin.
Thu, Mar 23, 2:14 PM
fjricci added a dependent revision for D31306: Postpone lsan tls allocation until required: D31291: Use pthreads for thread-local lsan allocator cache on darwin.
Thu, Mar 23, 2:14 PM
fjricci added a dependency for D31291: Use pthreads for thread-local lsan allocator cache on darwin: D31306: Postpone lsan tls allocation until required.
Thu, Mar 23, 2:14 PM
fjricci added a dependency for D29995: Enable i386 builds for darwin lsan: D31307: Enable builds of darwin lsan by default.
Thu, Mar 23, 2:13 PM
fjricci added a dependent revision for D31307: Enable builds of darwin lsan by default: D29995: Enable i386 builds for darwin lsan.
Thu, Mar 23, 2:13 PM
fjricci created D31307: Enable builds of darwin lsan by default.
Thu, Mar 23, 2:13 PM
fjricci created D31306: Postpone lsan tls allocation until required.
Thu, Mar 23, 2:11 PM
fjricci created D31300: Disable use_tls_dynamic on 32-bit linux.
Thu, Mar 23, 1:07 PM
fjricci added a comment to D31291: Use pthreads for thread-local lsan allocator cache on darwin.

This code has already been reviewed in D29994, but uploading here for posterity. Will merge pending a disable of use_tls_dynamic.cc on linux-i386.

Thu, Mar 23, 9:27 AM
fjricci created D31291: Use pthreads for thread-local lsan allocator cache on darwin.
Thu, Mar 23, 9:25 AM

Wed, Mar 22

fjricci committed rL298537: Factor lsan allocator cache accesses into a function.
Factor lsan allocator cache accesses into a function
Wed, Mar 22, 11:55 AM
fjricci closed D29994: Use pthreads for thread-local lsan allocator cache on darwin by committing rL298537: Factor lsan allocator cache accesses into a function.
Wed, Mar 22, 11:55 AM
fjricci updated the diff for D29994: Use pthreads for thread-local lsan allocator cache on darwin.

Actually, let's make it even smaller.

Wed, Mar 22, 11:41 AM
fjricci updated the diff for D29994: Use pthreads for thread-local lsan allocator cache on darwin.

Split revision into smaller pieces

Wed, Mar 22, 11:34 AM
fjricci added a comment to D29994: Use pthreads for thread-local lsan allocator cache on darwin.

I've tried everything I can think of in terms of a repro here - different gcc/clang versions, etc. I also looked up the zorg config and ran exactly the way it was run on the buildbot (standalone build + i386 test), and still no failure. Perhaps I can split this into two changes, to try to see where the failure is springing up.

Wed, Mar 22, 11:22 AM

Tue, Mar 21

fjricci reopened D29994: Use pthreads for thread-local lsan allocator cache on darwin.

Going to try to get the failure to repro locally.

Tue, Mar 21, 8:58 AM

Mon, Mar 20

fjricci added a comment to D29994: Use pthreads for thread-local lsan allocator cache on darwin.

Actually, looks like the buildbot isn't failing currently. I won't revert the patch for now.

Mon, Mar 20, 8:26 PM
fjricci updated subscribers of D29994: Use pthreads for thread-local lsan allocator cache on darwin.

This patch is having a real rough time. @vitalybuka thinks it probably caused this failure, and I wouldn't be too surprised: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/1117/steps/test%20standalone%20compiler-rt/logs/stdio

Mon, Mar 20, 7:13 PM
fjricci added a comment to D31098: [compiler-rt] respect CMAKE_EXE_LINKER_FLAGS in compiler and library tests.

Works for me now, thanks.

Mon, Mar 20, 5:44 PM
fjricci added a comment to D31098: [compiler-rt] respect CMAKE_EXE_LINKER_FLAGS in compiler and library tests.

I think @beanz is correct, I actually end up seeing a few of my architectures disappear with the current version of this patch, although I didn't look into it yet.

Mon, Mar 20, 3:42 PM
fjricci abandoned D31144: Respect cmake link flags when compiling test files.

Yep, that patch does appear to fix my issue in its current form. I'll abandon this, with the assumption that will go in.

Mon, Mar 20, 2:34 PM
fjricci updated the diff for D31144: Respect cmake link flags when compiling test files.

Fix commit message

Mon, Mar 20, 11:14 AM
fjricci updated the summary of D31144: Respect cmake link flags when compiling test files.
Mon, Mar 20, 11:14 AM
fjricci created D31144: Respect cmake link flags when compiling test files.
Mon, Mar 20, 11:13 AM
fjricci committed rL298274: Use pthreads for thread-local lsan allocator cache on darwin.
Use pthreads for thread-local lsan allocator cache on darwin
Mon, Mar 20, 10:18 AM
fjricci closed D29994: Use pthreads for thread-local lsan allocator cache on darwin by committing rL298274: Use pthreads for thread-local lsan allocator cache on darwin.
Mon, Mar 20, 10:18 AM
fjricci committed rL298246: Revert "Use pthreads for thread-local lsan allocator cache on darwin".
Revert "Use pthreads for thread-local lsan allocator cache on darwin"
Mon, Mar 20, 6:57 AM
fjricci reopened D29994: Use pthreads for thread-local lsan allocator cache on darwin.

This still fails on aarch64, even with the recent work by @kubamracek:

Mon, Mar 20, 6:56 AM

Sun, Mar 19

fjricci added a comment to D29995: Enable i386 builds for darwin lsan.

Now that the allocator patch is in, this should be good to go. I'll upload the patch to enable builds (but not tests) by default separately.

Sun, Mar 19, 12:18 PM
fjricci committed rL298214: Use pthreads for thread-local lsan allocator cache on darwin.
Use pthreads for thread-local lsan allocator cache on darwin
Sun, Mar 19, 8:15 AM
fjricci closed D29994: Use pthreads for thread-local lsan allocator cache on darwin by committing rL298214: Use pthreads for thread-local lsan allocator cache on darwin.
Sun, Mar 19, 8:15 AM

Sat, Mar 18

fjricci added a comment to D30267: Increase stack size for stack-use-after-return test.

Thanks for looking into it!

Sat, Mar 18, 9:42 PM
fjricci added a comment to D30267: Increase stack size for stack-use-after-return test.

Working on running the tests locally, I'll commit tomorrow if things pass.

Sat, Mar 18, 9:42 PM

Mon, Mar 13

fjricci reopened D29994: Use pthreads for thread-local lsan allocator cache on darwin.

Reverted due to failure with D30267

Mon, Mar 13, 2:00 PM
fjricci added a comment to D30267: Increase stack size for stack-use-after-return test.

My assumption is that a repro of the failure will also require D29994, as that's the patch that seems to affect the flakiness.

Mon, Mar 13, 2:00 PM
fjricci requested review of D30267: Increase stack size for stack-use-after-return test.
Mon, Mar 13, 1:43 PM
fjricci added a comment to D30267: Increase stack size for stack-use-after-return test.

I was able to run this on a linux aarch64 emulator, but I'm not able to reproduce the failure. I do still see the undefined behavior popping up. Wondering if it's worth disabling the particular test case that uses the small stack size, since it seems to be passing primarily due to this undefined behavior anyway.

Mon, Mar 13, 1:42 PM

Wed, Mar 8

fjricci closed D30273: Use correct function signature for strerror_r interceptor.

Committed as r297315

Wed, Mar 8, 3:06 PM
fjricci committed rL297315: Use correct function signature for strerror_r interceptor.
Use correct function signature for strerror_r interceptor
Wed, Mar 8, 3:03 PM
fjricci added a comment to D30273: Use correct function signature for strerror_r interceptor.

Ping - this is required for Darwin LSAN builds to be enabled by default.

Wed, Mar 8, 11:35 AM
fjricci added a comment to D30267: Increase stack size for stack-use-after-return test.

Sorry for the delay, I've been going through a job change. Looks like the link is now dead: http://lab.llvm.org:8011/builders/clang-cmake-aarch64-42vma/builds/5218

Wed, Mar 8, 11:34 AM

Wed, Mar 1

fjricci reopened D30267: Increase stack size for stack-use-after-return test.

Reverted because this fails on aarch64. I don't have access to an aarch64 linux device, so I'm not sure the best way to debug.

Wed, Mar 1, 4:26 PM
fjricci committed rL296720: Revert "Use pthreads for thread-local lsan allocator cache on darwin".
Revert "Use pthreads for thread-local lsan allocator cache on darwin"
Wed, Mar 1, 4:24 PM
fjricci committed rL296719: Revert "Increase stack size for stack-use-after-return test".
Revert "Increase stack size for stack-use-after-return test"
Wed, Mar 1, 4:24 PM
fjricci committed rL296707: Use pthreads for thread-local lsan allocator cache on darwin.
Use pthreads for thread-local lsan allocator cache on darwin
Wed, Mar 1, 3:30 PM
fjricci closed D29994: Use pthreads for thread-local lsan allocator cache on darwin by committing rL296707: Use pthreads for thread-local lsan allocator cache on darwin.
Wed, Mar 1, 3:30 PM
fjricci committed rL296706: Increase stack size for stack-use-after-return test.
Increase stack size for stack-use-after-return test
Wed, Mar 1, 3:30 PM
fjricci closed D30267: Increase stack size for stack-use-after-return test by committing rL296706: Increase stack size for stack-use-after-return test.
Wed, Mar 1, 3:30 PM
fjricci added a comment to D30267: Increase stack size for stack-use-after-return test.

There's a more detailed explanation in D29994, but essentially, some debugging found that 64k isn't actually being used for the stack size consistently, and the test never passes when 64k is actually used. (actual stack size used determined with pthread_attr_getstacksize)

Wed, Mar 1, 8:19 AM
fjricci added a comment to D30267: Increase stack size for stack-use-after-return test.

Friendly ping

Wed, Mar 1, 8:03 AM

Feb 22 2017

fjricci accepted D29787: Upgrade ios min version to 8.

Given @kcc's comment, LGTM.

Feb 22 2017, 2:08 PM
fjricci created D30273: Use correct function signature for strerror_r interceptor.
Feb 22 2017, 2:04 PM
fjricci added a dependency for D29994: Use pthreads for thread-local lsan allocator cache on darwin: D30267: Increase stack size for stack-use-after-return test.
Feb 22 2017, 12:37 PM
fjricci added a dependent revision for D30267: Increase stack size for stack-use-after-return test: D29994: Use pthreads for thread-local lsan allocator cache on darwin.
Feb 22 2017, 12:37 PM
fjricci created D30267: Increase stack size for stack-use-after-return test.
Feb 22 2017, 12:34 PM
fjricci added a comment to D29994: Use pthreads for thread-local lsan allocator cache on darwin.

I found something very odd and very relevant. I added a line in test-use-after-return.cc to call pthread_attr_getstacksize immediately after pthread_attr_setstacksize. On master, the returned stack size is 8388608. With my change, it's 65536. I assume this means that we're intercepting something inside call to pthread_attr_setstacksize. But regardless, this means that 65536 was not large enough to begin with, unless we expect the sanitizers to intercept that call and increase the stack size. I assume we don't, since there's no direct interceptor for pthread_attr_setstacksize.

Feb 22 2017, 11:58 AM
fjricci added a comment to D29994: Use pthreads for thread-local lsan allocator cache on darwin.

That does look like it could be a stack-overflow seg fault though.

Feb 22 2017, 10:39 AM
fjricci added a comment to D29994: Use pthreads for thread-local lsan allocator cache on darwin.

The stack trace from the debugger isn't particularly helpful:

Feb 22 2017, 10:38 AM