fjricci (Francis Ricci)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 4 2015, 11:34 AM (77 w, 3 h)

Recent Activity

Yesterday

fjricci committed rL303906: Fix typo in tls patch.
Fix typo in tls patch
Thu, May 25, 12:56 PM
fjricci closed D33286: Don't require ThreadState to be contained within tls on all platforms.

Committed as rL303886

Thu, May 25, 12:21 PM
fjricci committed rL303887: Implement tls scanning for darwin LSan.
Implement tls scanning for darwin LSan
Thu, May 25, 10:41 AM
fjricci committed rL303886: Don't require ThreadState to be contained within tls on all platforms.
Don't require ThreadState to be contained within tls on all platforms
Thu, May 25, 10:41 AM

Wed, May 24

fjricci updated the diff for D33286: Don't require ThreadState to be contained within tls on all platforms.

Factor out ThreadState location into helper function

Wed, May 24, 10:35 AM

Tue, May 23

fjricci updated the diff for D33286: Don't require ThreadState to be contained within tls on all platforms.

Don't clobber thread state pointer in the tls shadow memory

Tue, May 23, 9:58 AM
fjricci requested review of D33286: Don't require ThreadState to be contained within tls on all platforms.

This patch passes tests on its own, which is to be expected because it's currently a NFC (enabling darwin tls is blocked on this, so it hasn't been committed yet). However, it looks like this line causes many test failures, when combined with the patch to enable darwin tls:

Tue, May 23, 8:02 AM

Mon, May 22

fjricci updated the diff for D33286: Don't require ThreadState to be contained within tls on all platforms.

Only remove checks on Darwin.

Mon, May 22, 8:20 AM

Fri, May 19

fjricci added a comment to D33286: Don't require ThreadState to be contained within tls on all platforms.

Yeah, I wasn't sure whether the preferred method here was to skip the block if Darwin or the current solution. There currently aren't any os-specific references in this file. Hopefully @dvyukov or @kubamracek have insight on the preferred way to do this.

Fri, May 19, 11:26 AM
fjricci committed rL303422: Use write instead of read permissions to check for global sections on mac.
Use write instead of read permissions to check for global sections on mac
Fri, May 19, 6:47 AM
fjricci closed D33322: Use write instead of read permissions to check for global sections on mac by committing rL303422: Use write instead of read permissions to check for global sections on mac.
Fri, May 19, 6:47 AM

Thu, May 18

fjricci created D33322: Use write instead of read permissions to check for global sections on mac.
Thu, May 18, 9:52 AM

Wed, May 17

fjricci updated the diff for D33286: Don't require ThreadState to be contained within tls on all platforms.

Fix if condition equality

Wed, May 17, 9:02 AM
fjricci created D33286: Don't require ThreadState to be contained within tls on all platforms.
Wed, May 17, 9:00 AM
fjricci committed rL303266: Revert "Implement tls scanning for darwin LSan".
Revert "Implement tls scanning for darwin LSan"
Wed, May 17, 8:39 AM
fjricci committed rL303262: Implement tls scanning for darwin LSan.
Implement tls scanning for darwin LSan
Wed, May 17, 7:48 AM
fjricci closed D33215: Implement tls scanning for darwin LSan by committing rL303262: Implement tls scanning for darwin LSan.
Wed, May 17, 7:48 AM

Tue, May 16

fjricci updated the diff for D33215: Implement tls scanning for darwin LSan.

Check pthread_create result

Tue, May 16, 2:10 PM

Mon, May 15

fjricci created D33215: Implement tls scanning for darwin LSan.
Mon, May 15, 2:52 PM
fjricci closed D33072: Account for stack redzone when computing sp on darwin.

Committed as r302898

Mon, May 15, 7:31 AM

Fri, May 12

fjricci committed rL302920: Disable two failing darwin lsan tests.
Disable two failing darwin lsan tests
Fri, May 12, 10:05 AM
fjricci added a comment to D32191: Enable lsan test suite for darwin x86-64.

Looks like XFAIL doesn't work, because they pass in LeakSanitizer-AddressSanitizer, and are just very flaky in LeakSanitizer-Standalone, so they end up XPASS-ing. I'll move them to UNSUPPORTED to fix the buildbot, and then we can go from there. I don't think it's reverting all of the lsan test suite for 2 flaky tests that I can't repro on 10.11 or 10.12.

Fri, May 12, 10:03 AM
fjricci added a comment to D32191: Enable lsan test suite for darwin x86-64.

I'm running the tests in a "repeat while test passes" loop, and neither of them are failing for me on 10.11 or 10.12.

Fri, May 12, 9:39 AM
fjricci added a comment to D32191: Enable lsan test suite for darwin x86-64.

Yeah, I xfail-ed those two tests for now to fix the buildbots, since I figure it's worth the test coverage (and this doesn't enable lsan by default outside the test suite anyway). Looking into the failures currently.

Fri, May 12, 9:25 AM
fjricci committed rL302912: Disable two failing darwin lsan tests.
Disable two failing darwin lsan tests
Fri, May 12, 9:14 AM
fjricci committed rL302904: Enable lsan test suite on Darwin x86_64 builds.
Enable lsan test suite on Darwin x86_64 builds
Fri, May 12, 8:23 AM
fjricci closed D32191: Enable lsan test suite for darwin x86-64 by committing rL302904: Enable lsan test suite on Darwin x86_64 builds.
Fri, May 12, 8:23 AM
fjricci committed rL302899: Add dyld to sanitizer procmaps on darwin.
Add dyld to sanitizer procmaps on darwin
Fri, May 12, 7:24 AM
fjricci closed D32968: Add dyld to sanitizer procmaps on darwin by committing rL302899: Add dyld to sanitizer procmaps on darwin.
Fri, May 12, 7:24 AM
fjricci committed rL302898: Account for stack redzone when computing sp on darwin.
Account for stack redzone when computing sp on darwin
Fri, May 12, 7:24 AM

Thu, May 11

fjricci updated the diff for D33072: Account for stack redzone when computing sp on darwin.

Remove accidental inclusion of extra files

Thu, May 11, 8:01 AM
fjricci updated the diff for D33072: Account for stack redzone when computing sp on darwin.

Remove ifdef

Thu, May 11, 8:01 AM
fjricci added a comment to D33072: Account for stack redzone when computing sp on darwin.

Ah, okay, I didn't realize that aarch64 has a redzone as well (thread_get_register_pointer_values is only for x86). Will update.

Thu, May 11, 7:59 AM

Wed, May 10

fjricci created D33072: Account for stack redzone when computing sp on darwin.
Wed, May 10, 1:42 PM
fjricci updated the diff for D32968: Add dyld to sanitizer procmaps on darwin.

Use static global to avoid use of cxa guard

Wed, May 10, 10:16 AM
fjricci reopened D32968: Add dyld to sanitizer procmaps on darwin.

Looks like we can't use the wrapper function for the static variable, because we don't always have access to the __cxa_guard functions. I reverted the commit for now, but I think the solution is to move the cached dyld header back to a static global var.

Wed, May 10, 9:48 AM
fjricci committed rL302693: Revert "Add dyld to sanitizer procmaps on darwin".
Revert "Add dyld to sanitizer procmaps on darwin"
Wed, May 10, 9:47 AM
fjricci committed rL302692: Revert "Disable static caching of dyld header on Go sanitizers".
Revert "Disable static caching of dyld header on Go sanitizers"
Wed, May 10, 9:47 AM
fjricci committed rL302681: Disable static caching of dyld header on Go sanitizers.
Disable static caching of dyld header on Go sanitizers
Wed, May 10, 8:53 AM
fjricci committed rL302673: Add dyld to sanitizer procmaps on darwin.
Add dyld to sanitizer procmaps on darwin
Wed, May 10, 7:51 AM
fjricci closed D32968: Add dyld to sanitizer procmaps on darwin by committing rL302673: Add dyld to sanitizer procmaps on darwin.
Wed, May 10, 7:51 AM

Tue, May 9

fjricci updated the diff for D32968: Add dyld to sanitizer procmaps on darwin.

Use function to wrap dyld header static var and check for recurse error

Tue, May 9, 9:53 AM
fjricci committed rL302530: Avoid unnecessary calls to vm_region_recurse.
Avoid unnecessary calls to vm_region_recurse
Tue, May 9, 7:23 AM
fjricci closed D32966: Avoid unnecessary calls to vm_region_recurse by committing rL302530: Avoid unnecessary calls to vm_region_recurse.
Tue, May 9, 7:23 AM

Mon, May 8

fjricci added a dependent revision for D32968: Add dyld to sanitizer procmaps on darwin: D32191: Enable lsan test suite for darwin x86-64.
Mon, May 8, 8:40 AM
fjricci added a dependency for D32191: Enable lsan test suite for darwin x86-64: D32968: Add dyld to sanitizer procmaps on darwin.
Mon, May 8, 8:40 AM
fjricci updated the diff for D32968: Add dyld to sanitizer procmaps on darwin.

Consolidate diff a bit

Mon, May 8, 8:32 AM
fjricci updated the diff for D32968: Add dyld to sanitizer procmaps on darwin.

Small refactor

Mon, May 8, 8:22 AM
fjricci updated the summary of D32968: Add dyld to sanitizer procmaps on darwin.
Mon, May 8, 8:15 AM
fjricci created D32968: Add dyld to sanitizer procmaps on darwin.
Mon, May 8, 8:15 AM
fjricci created D32966: Avoid unnecessary calls to vm_region_recurse.
Mon, May 8, 7:17 AM

Fri, May 5

fjricci committed rL302260: Add missing 'arch' key to valid qHostInfo keys.
Add missing 'arch' key to valid qHostInfo keys
Fri, May 5, 10:31 AM
fjricci closed D32711: Add missing 'arch' key to valid qHostInfo keys by committing rL302260: Add missing 'arch' key to valid qHostInfo keys.
Fri, May 5, 10:31 AM

Wed, May 3

fjricci committed rL302027: Don't attempt to use mpx registers on unsupported platforms.
Don't attempt to use mpx registers on unsupported platforms
Wed, May 3, 8:13 AM
fjricci closed D32719: Don't attempt to use mpx registers on unsupported platforms by committing rL302027: Don't attempt to use mpx registers on unsupported platforms.
Wed, May 3, 8:13 AM

Tue, May 2

fjricci updated the diff for D32719: Don't attempt to use mpx registers on unsupported platforms.

Move checks into cpp files

Tue, May 2, 7:23 AM
fjricci added a comment to D32719: Don't attempt to use mpx registers on unsupported platforms.

Yeah, that works too, just wasn't sure which way was preferred.

Tue, May 2, 7:20 AM

Mon, May 1

fjricci created D32719: Don't attempt to use mpx registers on unsupported platforms.
Mon, May 1, 3:08 PM
fjricci created D32711: Add missing 'arch' key to valid qHostInfo keys.
Mon, May 1, 11:41 AM

Fri, Apr 28

fjricci added inline comments to D25886: [Test Suite] Properly respect --framework option.
Fri, Apr 28, 11:23 AM

Apr 21 2017

fjricci added a comment to D32191: Enable lsan test suite for darwin x86-64.

nvm, looks like the source browser is now up-to-date

Apr 21 2017, 8:23 AM
fjricci added a comment to D32191: Enable lsan test suite for darwin x86-64.

Oh wow, it is. If you look in the source-code browser, it appears to be running on out-of-date code (note the CHECK(0 && "unimplemented") in StopTheWorld): http://green.lab.llvm.org/green/job/clang-stage1-configure-RA/ws/compiler-rt.src/lib/lsan/lsan_common_mac.cc

Apr 21 2017, 8:12 AM
fjricci added a comment to D32191: Enable lsan test suite for darwin x86-64.

(this is the test run, by the way: http://green.lab.llvm.org/green/job/clang-stage1-configure-RA_check/30443)

Apr 21 2017, 8:10 AM
fjricci added a comment to D32191: Enable lsan test suite for darwin x86-64.

Well, looks like the zips that get downloaded are invalid zips, and extraction fails midway through. I've been looking into the actual failures, and it's actually a bit interesting. It's almost as if the tests are being run on a pretty old version of lsan, as pretty much all of the failures look like things that I've seen before and fixed (ie false-positive leaks from libxpc, etc).

Apr 21 2017, 8:10 AM
fjricci added a comment to D32191: Enable lsan test suite for darwin x86-64.

The failures still don't repro with a clean build, but it looks like I can just download the buildbot state from here: http://green.lab.llvm.org/green/job/clang-stage1-configure-RA/ws/, so hopefully I can cherry-pick into that and see the failures.

Apr 21 2017, 6:50 AM
fjricci reopened D32191: Enable lsan test suite for darwin x86-64.

Looks like this caused a large number of test failures. I'm a bit confused, since things worked fine locally, but I'm going to try to do a totally clean build with the buildbot config to see if I can repro.

Apr 21 2017, 6:20 AM

Apr 20 2017

fjricci added inline comments to D32191: Enable lsan test suite for darwin x86-64.
Apr 20 2017, 2:46 PM
fjricci added inline comments to D32191: Enable lsan test suite for darwin x86-64.
Apr 20 2017, 2:45 PM
fjricci committed rL300897: Enable lsan test suite on Darwin x86_64 builds.
Enable lsan test suite on Darwin x86_64 builds
Apr 20 2017, 2:40 PM
fjricci closed D32191: Enable lsan test suite for darwin x86-64 by committing rL300897: Enable lsan test suite on Darwin x86_64 builds.
Apr 20 2017, 2:40 PM
fjricci retitled D32191: Enable lsan test suite for darwin x86-64 from Enable lsan by default on 64-bit darwin, and enable lsan test suite to Enable lsan test suite for darwin x86-64.
Apr 20 2017, 2:25 PM
fjricci committed rL300894: Enable leak sanitizer builds for darwin.
Enable leak sanitizer builds for darwin
Apr 20 2017, 2:24 PM
fjricci closed D32192: Enable leak sanitizer builds for darwin by committing rL300894: Enable leak sanitizer builds for darwin.
Apr 20 2017, 2:24 PM
fjricci updated the diff for D32191: Enable lsan test suite for darwin x86-64.

Refactor to address comments

Apr 20 2017, 2:17 PM
fjricci committed rL300890: make detect_leaks=1 the default for the lsan test suite.
make detect_leaks=1 the default for the lsan test suite
Apr 20 2017, 2:14 PM
fjricci closed D32297: make detect_leaks=1 the default for the lsan test suite by committing rL300890: make detect_leaks=1 the default for the lsan test suite.
Apr 20 2017, 2:14 PM
fjricci added inline comments to D32191: Enable lsan test suite for darwin x86-64.
Apr 20 2017, 2:07 PM
fjricci updated the diff for D32192: Enable leak sanitizer builds for darwin.

Add test cases

Apr 20 2017, 11:09 AM
fjricci created D32297: make detect_leaks=1 the default for the lsan test suite.
Apr 20 2017, 9:08 AM
fjricci updated the diff for D32191: Enable lsan test suite for darwin x86-64.

Disable by default, but keep testing enabled

Apr 20 2017, 9:06 AM

Apr 19 2017

fjricci added a comment to D32191: Enable lsan test suite for darwin x86-64.

I've been running this on some large internal FB programs, and I've found a couple issues with dyld memory which I think stem from the fact that sanitizer_procmaps_mac behaves differently than sanitizer_procmaps_linux. I'm also not very pleased with the performance, although I haven't dug into that too much yet.

Apr 19 2017, 3:49 PM
fjricci added a comment to D32190: Make sure to scan mmap'd memory regions for root pointers on OS X.

Done in r300765

Apr 19 2017, 2:38 PM
fjricci committed rL300765: Fixup style from r300760.
Fixup style from r300760
Apr 19 2017, 2:38 PM
fjricci committed rL300760: Make sure to scan mmap'd memory regions for root pointers on OS X.
Make sure to scan mmap'd memory regions for root pointers on OS X
Apr 19 2017, 2:24 PM
fjricci committed rL300759: Implement StopTheWorld for Darwin.
Implement StopTheWorld for Darwin
Apr 19 2017, 2:24 PM
fjricci closed D32190: Make sure to scan mmap'd memory regions for root pointers on OS X by committing rL300760: Make sure to scan mmap'd memory regions for root pointers on OS X.
Apr 19 2017, 2:24 PM
fjricci closed D32189: Implement StopTheWorld for Darwin by committing rL300759: Implement StopTheWorld for Darwin.
Apr 19 2017, 2:24 PM
fjricci updated the diff for D32190: Make sure to scan mmap'd memory regions for root pointers on OS X.

Update comment and add TODO

Apr 19 2017, 11:33 AM
fjricci added inline comments to D32190: Make sure to scan mmap'd memory regions for root pointers on OS X.
Apr 19 2017, 11:29 AM
fjricci added a comment to D32190: Make sure to scan mmap'd memory regions for root pointers on OS X.

Yeah, it appears that sanitizer_procmaps_mac iterates using _dyld_get_image_vmaddr_slide, which will iterate over only images, as opposed to the vm_region_recurse_64 which iterates over all memory regions. The linux implementation just reads straight out of /proc/self/maps.

Apr 19 2017, 10:43 AM
fjricci added inline comments to D32190: Make sure to scan mmap'd memory regions for root pointers on OS X.
Apr 19 2017, 10:35 AM
fjricci updated the diff for D32190: Make sure to scan mmap'd memory regions for root pointers on OS X.

Remove extra function definition

Apr 19 2017, 10:23 AM
fjricci updated the diff for D32190: Make sure to scan mmap'd memory regions for root pointers on OS X.

Rework to only recurse memory regions once

Apr 19 2017, 10:20 AM
fjricci added inline comments to D32190: Make sure to scan mmap'd memory regions for root pointers on OS X.
Apr 19 2017, 9:53 AM
fjricci added inline comments to D32190: Make sure to scan mmap'd memory regions for root pointers on OS X.
Apr 19 2017, 7:55 AM
fjricci added inline comments to D32190: Make sure to scan mmap'd memory regions for root pointers on OS X.
Apr 19 2017, 7:50 AM
fjricci updated the diff for D32189: Implement StopTheWorld for Darwin.

Address comments

Apr 19 2017, 7:42 AM
fjricci added inline comments to D32189: Implement StopTheWorld for Darwin.
Apr 19 2017, 7:28 AM
fjricci committed rL300691: Implement function to get registers from suspended thread on darwin.
Implement function to get registers from suspended thread on darwin
Apr 19 2017, 7:13 AM
fjricci committed rL300690: Move valid caller-pc checks out of platform-specific checks.
Move valid caller-pc checks out of platform-specific checks
Apr 19 2017, 7:13 AM