1. 15 Feb, 2022 4 commits
  2. 14 Feb, 2022 4 commits
    • Dmitry Zhuk's avatar
      Fix exception ignored by coro::Future<void> · 126c1959
      Dmitry Zhuk authored
      Summary: If `coro::Promise<void>` completes with exception, `coro::Future<void>` should throw this exception, but currently it just ignores it.
      
      Reviewed By: iahs
      
      Differential Revision: D34211495
      
      fbshipit-source-id: 99e2855646b907ac2a87c800bc8b9cb1eff82087
      126c1959
    • Alex Hornby's avatar
      add github actions for EdenFS on linux and fix Eden SCM Mac build (#106) · 36cd1d7e
      Alex Hornby authored
      Summary:
      Pull Request resolved: https://github.com/facebookexperimental/eden/pull/106
      
      Pull Request resolved: https://github.com/facebookexperimental/eden/pull/107
      
      Summary
      
      * Add EdenFS builds on external CI now EdenSCM is good
      
      * Mac builds on github actions by using brew for system dependencies
      
      To make this work had to fix some path ordering issues with install directories for Linux and Mac, and generalise the homebrew path fixups we were doing for bison to all the used homebrew packages.
      
      Previously Installed packages were being added after system paths, so our own installed thing might be ignored. On github these meant system python 3.9 was being used for hg tests rather than our specified 3.8 (this showed we have some test fails on python 3.9 with "SystemError: deallocated bytearray object has exported buffers", that are beyond the scope of this diff to fix)
      
      Also needed to include the getdeps generated python into the generated edenscmdeps3.zip archive setup.py produces otherwise EdenFS tests failed to import thrift.Thrift
      
      Eden tests are hanging when run externally about half way through, so disable them on github actions for now as this PR is already fairly large. They work when run locally on an internal devserver, so probably some bit of environment necessary is not defined in the test runner
      
      Reviewed By: chadaustin
      
      Differential Revision: D34116505
      
      fbshipit-source-id: d0d628db5daabc28d0bd8997cd5c1bc885ed1e73
      36cd1d7e
    • Yedidya Feldblum's avatar
      avoid the name I in some places · ebc15bae
      Yedidya Feldblum authored
      Summary:
      There is a collision with `#define I` in glibc's `math/complex.h`.
      
      https://github.com/bminor/glibc/blob/glibc-2.35/math/complex.h#L53
      
      Differential Revision: D34202940
      
      fbshipit-source-id: 15c6f6cd1d01e8f84f228f6ef51b9c2a42f27071
      ebc15bae
    • Yedidya Feldblum's avatar
      enable clang warning float-conversion · 5bed9cc9
      Yedidya Feldblum authored
      Summary: Enable it as an error and fix all resulting build failures in folly.
      
      Reviewed By: luciang
      
      Differential Revision: D33838564
      
      fbshipit-source-id: 13130e4b9c090db6a4ec7c8fcd150d6aa9c000b9
      5bed9cc9
  3. 13 Feb, 2022 1 commit
    • Yedidya Feldblum's avatar
      tweaks to the AtFork tests · a88662de
      Yedidya Feldblum authored
      Summary: Use `waitpid` for more exact waits. Use `_exit` in the child to skip unnecessary teardown work. Remove unused local variable.
      
      Differential Revision: D34191704
      
      fbshipit-source-id: 38f4275eab38a4ba5a41fbf617aa3fb389ea00c0
      a88662de
  4. 12 Feb, 2022 3 commits
    • Yedidya Feldblum's avatar
      Function uninit-call should use terminate_with · 002c6020
      Yedidya Feldblum authored
      Summary: When the Function signature is `noexcept`, rather than using `throw_exception`, in order to save a bit of generated code size.
      
      Reviewed By: luciang
      
      Differential Revision: D34190570
      
      fbshipit-source-id: c0f9cbd6abffd9b1517d28126d8eb5c491089ea8
      002c6020
    • Yedidya Feldblum's avatar
      patch AtFork test under TSAN · 70487d25
      Yedidya Feldblum authored
      Summary: TSAN detects and reports leaked threads in the child process, and exits nonzero. The parent process checks for zero exit code. Permit the TSAN exit code as well under TSAN.
      
      Differential Revision: D34191672
      
      fbshipit-source-id: 359fe91e617d962af2705896c392001bdd458d7b
      70487d25
    • Yedidya Feldblum's avatar
      forbid overriding sfinae in Function · ec16b8a7
      Yedidya Feldblum authored
      Summary: By using a clever trick which "absorbs" attempts to force types for what should be subject to sfinae.
      
      Reviewed By: luciang
      
      Differential Revision: D34160080
      
      fbshipit-source-id: a370c0240088cc78b8760e9f5736c3224842ae04
      ec16b8a7
  5. 11 Feb, 2022 4 commits
  6. 10 Feb, 2022 7 commits
    • Denis Dydychkin's avatar
      Temporarily disabling ConcurrentHashMapTest.ConcurrentInsertClear · 744a0a69
      Denis Dydychkin authored
      Summary: ConcurrentHashMapTest.ConcurrentInsertClear is reported as flaky, see T111753832, T111745080, etc. Temporarily disabling the test while investigating the root cause. Preliminary observation is that folly::CPUThreadPoolExecutor/(anonymous namespace)::HazptrTPETag doesn't shutdown cleanly. Happens both to SIMD and regular version
      
      Reviewed By: magedm
      
      Differential Revision: D34147319
      
      fbshipit-source-id: 8a9d9c71c4a42544df93fc48a324bd1299395719
      744a0a69
    • Ajanthan Asogamoorthy's avatar
      Implement getEkm · 7046027a
      Ajanthan Asogamoorthy authored
      Summary: As title says, in this case implement just means call into openssl's implementation
      
      Reviewed By: mingtaoy
      
      Differential Revision: D33828545
      
      fbshipit-source-id: 638adba4dd87dbccbc3886a512c52b5b8d44b5da
      7046027a
    • Ajanthan Asogamoorthy's avatar
      Add getEkm · c17c984d
      Ajanthan Asogamoorthy authored
      Summary: To generically get the exported keying material from our transports. As the code comments say this is intended to be used to bind data to the stream/connection itself.
      
      Reviewed By: yfeldblum, knekritz
      
      Differential Revision: D33828649
      
      fbshipit-source-id: c046eccfad5fc34188a310409ceb6c84d42e9f79
      c17c984d
    • Chad Austin's avatar
      fix 'error: Microsoft Visual C++ 14.0 is required' red herring on GitHub Actions (#998) · d3535fc2
      Chad Austin authored
      Summary:
      Pull Request resolved: https://github.com/facebook/watchman/pull/998
      
      A detailed description of this change is included in the new comment.
      
      Reviewed By: fanzeyi
      
      Differential Revision: D34124030
      
      fbshipit-source-id: f37c458bae135357e16b256e09f0d6eb8f1f996d
      d3535fc2
    • Chad Austin's avatar
      update all Windows jobs to windows-2019 (#1714) · 6b9d840a
      Chad Austin authored
      Summary:
      Pull Request resolved: https://github.com/facebook/folly/pull/1714
      
      windows-2016 will be removed in March, and now that we've updated
      Boost, we can upgrade to windows-2019.
      
      Reviewed By: genevievehelsel
      
      Differential Revision: D34119171
      
      fbshipit-source-id: caad432bebf6b8282844bf79f82b1fbc34f2df9e
      6b9d840a
    • Denis Dydychkin's avatar
      ConcurrentHashMap: Fix race condition in clear() · 39e19a49
      Denis Dydychkin authored
      Summary: ConcurrentHashMap's clear() implementation had a race condition where bucket_count_ / chunk_count_ might be changed after they are read, resulting in smaller than required replacement buffer being created. This change addresses race condition and adds test to reproduce the issue.
      
      Reviewed By: magedm
      
      Differential Revision: D34022761
      
      fbshipit-source-id: 1c8e8c382adf3839cbb4031e85314a02d963a762
      39e19a49
    • Yedidya Feldblum's avatar
      cut unused helper traits from Function · ad51d2b1
      Yedidya Feldblum authored
      Reviewed By: ot, luciang
      
      Differential Revision: D32974082
      
      fbshipit-source-id: b5bc35a56ef7600790938a73af586154b1631903
      ad51d2b1
  7. 09 Feb, 2022 10 commits
    • Alex Hornby's avatar
      remove generated thrift code and fix external CI (#26) · 7090d2e1
      Alex Hornby authored
      Summary:
      Pull Request resolved: https://github.com/facebookexperimental/rust-shed/pull/26
      
      Pull Request resolved: https://github.com/facebookexperimental/eden/pull/104
      
      No need for the checked in generated code anymore
      
      Successful external CI Linux run on Git Hub PR: https://github.com/facebookexperimental/eden/runs/5130405984?check_suite_focus=true
      
      Mac PR run fails with a SSL cert issue, will look separately
      
      Reviewed By: chadaustin, mitrandir77
      
      Differential Revision: D33840545
      
      fbshipit-source-id: eafc2a0e2191d438fd828adeebc2e318d319025f
      7090d2e1
    • Joseph Hwang's avatar
      Support arbitrary timepoint granularity QuantileEstimations · c9e8eb42
      Joseph Hwang authored
      Summary: This change should not make a functional difference to any existing callers. The underlying data structure stores a TimePoint.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D34060591
      
      fbshipit-source-id: b2b4d7f0d7fed8220cffb6b1dba5082d21073686
      c9e8eb42
    • Dead Code Bot's avatar
      Remove dead includes in folly/python · 9ee77a54
      Dead Code Bot authored
      Reviewed By: pranavtbhat
      
      Differential Revision: D34103812
      
      fbshipit-source-id: e02b728d468bf091e8b4521f8f8746a986a2130d
      9ee77a54
    • Kurt Tomlinson's avatar
      Move at least one virtual method to our cpp files · 48088b6d
      Kurt Tomlinson authored
      Summary: Define at least one virtual method in a cpp file.
      
      Differential Revision: D33891879
      
      fbshipit-source-id: 3d2e3177b112c5fc7b2b84ed8bc41c5d0e15127e
      48088b6d
    • Philip Pronin's avatar
      expose multi-add in SoftRealTimeExecutor · aa0ba075
      Philip Pronin authored
      Summary:
      `EDFThreadPoolExecutor` is currently the only implementation of
      `SoftRealTimeExecutor`, and it implements multi-add functionality (which
      allows us to wake up idle threads just once on batch-add, as well as reduces
      planning overhead), let's expose this at an interface level.
      
      Reviewed By: ot, luciang
      
      Differential Revision: D34095644
      
      fbshipit-source-id: ba59300a4c51599d7c6cbfaaabe3d6013be7c37f
      aa0ba075
    • Chad Austin's avatar
      fix Watchman build on FreeBSD · d14c1d91
      Chad Austin authored
      Summary:
      Watchman advertises support for FreeBSD but it's regressed a couple
      ways. Ensure it builds on FreeBSD again with a Vagrantfile.
      
      Reviewed By: ahornby
      
      Differential Revision: D33989289
      
      fbshipit-source-id: ff906bc219974bafbc349740ce6bddfe5bd2908f
      d14c1d91
    • Chad Austin's avatar
      add freebsd support · e3cad933
      Chad Austin authored
      Summary: Add some basic support for FreeBSD to getdeps.
      
      Reviewed By: ahornby
      
      Differential Revision: D33989129
      
      fbshipit-source-id: 42ff5f160b7e19c12196bb2e52a726f7815487bd
      e3cad933
    • Chad Austin's avatar
      fix WindowTest on Windows · 041a50c9
      Chad Austin authored
      Summary: `unsigned long` and `size_t` are not the same type on Clang Windows.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D34086667
      
      fbshipit-source-id: adba5d960cb4c8b8e13b62f419d5b4179b1525e1
      041a50c9
    • Xavier Deguillard's avatar
      eden: do not copy hg-server in shipit · f4cb3709
      Xavier Deguillard authored
      Summary:
      This is an old copy of Mercurial, saved to keep the Mercurial servers running
      until we completely pull the plug on them. Neither EdenFS nor EdenSCM should
      depend on it.
      
      Reviewed By: mitrandir77
      
      Differential Revision: D34081890
      
      fbshipit-source-id: 78e2c07fae75b3f25aa492ece03308f736d42769
      f4cb3709
    • Yedidya Feldblum's avatar
      simplify Function is-small check · 209cc2f8
      Yedidya Feldblum authored
      Summary:
      In a way which also happens to improve build speed.
      
      It turns out that the bulk of the improvement comes from removing the use of `std::is_nothrow_move_constructible` since it may internally have a `std::declval` in there. But that's not the only source of improvements.
      
      ```name=trunk
      $ foundation/scripts/run-perf-compile --syntax folly/futures/test/FutureTest.cpp
           8,367,373,932      instructions:uP
      ```
      ```name=branch
      $ foundation/scripts/run-perf-compile --syntax folly/futures/test/FutureTest.cpp
           8,101,850,897      instructions:uP
      ```
      
      Reviewed By: luciang
      
      Differential Revision: D32973629
      
      fbshipit-source-id: 37c27763a4f622750719db11fee7cb23c0b0291e
      209cc2f8
  8. 08 Feb, 2022 7 commits
    • Chad Austin's avatar
      upgrade libevent to 2.1.12 · ed9a4edd
      Chad Austin authored
      Summary:
      libevent 2.1.8 is not aware of the arc4random deprecation on FreeBSD,
      so upgrade to the latest.
      
      Reviewed By: xavierd
      
      Differential Revision: D33984680
      
      fbshipit-source-id: b7d2b869bc47d49d8f29df1b318d8f2067204aae
      ed9a4edd
    • Dan Melnic's avatar
      Adding AsyncSSLSocket::performReadv support · 39f73024
      Dan Melnic authored
      Summary: Adding AsyncSSLSocket::performReadv
      
      Reviewed By: afrind
      
      Differential Revision: D33717297
      
      fbshipit-source-id: 413f50fcaf1d59cec98765a095a5a5964f634e23
      39f73024
    • Chad Austin's avatar
      fix windows builds · 62fb14dc
      Chad Austin authored
      Summary:
      The new boost has an MSVC detection algorithm that 1) I don't
      understand and 2) does not even seem deterministic. Since our internal
      builds are pinned to vc142, force that in the manifest.
      
      Reviewed By: fanzeyi
      
      Differential Revision: D34085081
      
      fbshipit-source-id: d8ce4d8e28aad14f6fa60f9227dafb546ce321e5
      62fb14dc
    • Alex Hornby's avatar
      move autocargo up one level (#101) · 3a360d04
      Alex Hornby authored
      Summary:
      Pull Request resolved: https://github.com/facebookexperimental/eden/pull/101
      
      public_autocargo already existed for edenfs, but needed to move up a level so to make edenfs thrift definition visible via autocargo.
      
      Reviewed By: markbt
      
      Differential Revision: D32693522
      
      fbshipit-source-id: 4c070cfa2d6294a28c17697338f0309dcab1576f
      3a360d04
    • Alex Hornby's avatar
      generate the eden_scm github actions (#103) · f57a1427
      Alex Hornby authored
      Summary:
      Pull Request resolved: https://github.com/facebookexperimental/eden/pull/103
      
      Automate maintenance of the edenscm_* github actions yamls
      
      Add job file and name options and support for the Rust install section
      
      Reviewed By: fanzeyi
      
      Differential Revision: D34044422
      
      fbshipit-source-id: 7d5f07d37bab1eff5de30a88e710dbf7479ca192
      f57a1427
    • Alex Hornby's avatar
      regenerate github actions · 713c9b5e
      Alex Hornby authored
      Summary: Fix the getdeps.py  generation sub command and regenerate github actions before making changes to support actions generation for eden_scm
      
      Reviewed By: fanzeyi
      
      Differential Revision: D34044243
      
      fbshipit-source-id: 0039d04f25af4c842145dc142dae6b9996fc8046
      713c9b5e
    • Yedidya Feldblum's avatar
      revise Indestructible to elide dtors · 1c6d910c
      Yedidya Feldblum authored
      Summary:
      For global variables with nontrivial destructors, the compiler inserts calls to `atexit` to destroy the variables at shutdown time. For global variables with trivial destructors, the compiler elides such calls. Revise `Indestructible` to have a trivial destructor.
      
      Some compilers optimize further and remove such calls even for some nontrivial destructors, but not all do so.
      
      Also remove move-construction and move-assignment. And remove actual `constexpr`-constructibility since `::new` is not a constant expression.
      
      Reviewed By: chadaustin
      
      Differential Revision: D34026842
      
      fbshipit-source-id: 9ab2f957cbe9a67809a6c99e6b9370c1f4315777
      1c6d910c