151 Commits

Author SHA1 Message Date
Andrew Noyes
b5084c634d Inform boost context of valgrind usage
This fixes the "client switching stacks?" warning that valgrind is
currently issuing.

Also fix a memory error that currently doesn't manifest because of the
way FastAllocator works (if you free a small buffer and then immediately
allocate the same size buffer in FastAllocator you always get the same
buffer back). You can see it if you set FDB_VALGRIND_PRECISE= (causes
FastAllocator to use malloc)

Also minor refactoring and cleanup of CoroFlow.actor.cpp

Also (probably) fix the other sanitizer builds, although I didn't test
that
2021-03-09 01:33:32 +00:00
Markus Pilman
f514194aec Merge remote-tracking branch 'origin/master' into features/coroutine2 2021-02-17 09:03:07 -07:00
A.J. Beamon
601a548cfe Revert "Move new config to config.h.cmake"
This reverts commit 2951ebb4e7e3d630ab22038606a999437f3e8cee.
2021-02-08 14:01:02 -08:00
A.J. Beamon
2951ebb4e7 Move new config to config.h.cmake 2021-02-08 13:34:17 -08:00
A.J. Beamon
85ec192169 Remove bad merge line 2021-02-08 13:02:55 -08:00
A.J. Beamon
aaf0a9aa7b Merge branch 'release-6.3' into merge-release-6.3-into-master
# Conflicts:
#	build/docker-compose.yaml
#	cmake/ConfigureCompiler.cmake
#	fdbclient/FileBackupAgent.actor.cpp
#	fdbrpc/AsyncFileCached.actor.h
#	fdbrpc/IAsyncFile.h
#	fdbrpc/IRateControl.h
#	fdbrpc/simulator.h
#	fdbserver/KeyValueStoreSQLite.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	fdbservice/ServiceBase.cpp
2021-02-08 12:58:34 -08:00
Markus Pilman
6e571ab87b Merge branch 'master' of github.com:apple/foundationdb into features/coroutine2 2021-02-08 10:25:29 -07:00
Andrew Noyes
e4a55908ff
Merge pull request #4222 from sfc-gh-mpilman/features/jemalloc
Replace standard malloc with jemalloc
2021-02-04 12:47:29 -08:00
Markus Pilman
7b489da13b introduce USE_JEMALLOC and some refactoring 2021-02-04 11:53:28 -07:00
Christophe Chevalier
ff0667b28d winbuild: define BOOST_USE_WINDOWS_H, WIN32_LEAN_AND_MEAN and NOMINMAX to fix various macro expansions issues
- NOMINMAX to fix confusion between std::max(..) and max(..) macro redefinition
- BOOST_USE_WINDOWS_H to prevent boost from redefining win32 APIs
- WIN32_LEAN_AND_MEAN to fix include ordering issues with winsock.h
2021-01-30 15:15:02 +01:00
Markus Pilman
7c64e3943b compile boost for sanitizers 2021-01-27 19:13:02 -07:00
Markus Pilman
0696c2d9b4 several bug fixes 2021-01-27 18:22:48 -07:00
Andrew Noyes
341069fcce WIP asan on boost coroutine2 2021-01-26 17:10:13 -07:00
Kao Makino
29976f0b41 Fix minor issues for aarch64 2021-01-25 12:10:57 -08:00
Andrew Noyes
ff7d306b09 Merge branch 'release-6.3' into anoyes/merge-6.3-to-master
Include conflict markers for now. Will resolve.
2021-01-15 18:04:09 +00:00
Andrew Noyes
e2e9b70206 Remove -Wno-unused-value 2021-01-06 22:09:38 +00:00
Markus Pilman
dae8ea24ad Move compiler definitions into config file 2020-11-25 15:06:59 -07:00
Andrew Noyes
e82339f40e
Merge pull request #3906 from sfc-gh-anoyes/anoyes/use-gcov
Add USE_GCOV cmake option
2020-10-27 08:27:46 -07:00
Andrew Noyes
79163947a6 Add FLOW_KNOBS->VALGRIND_PRECISE 2020-10-22 16:31:48 +00:00
Andrew Noyes
1ad779631f
Update cmake/ConfigureCompiler.cmake 2020-10-16 09:19:10 -07:00
Andrew Noyes
dd23f5707f Use add_link_options 2020-10-16 14:59:17 +00:00
Andrew Noyes
52c8acf1e0 Link to how to build instrumented libc++ 2020-10-15 21:37:47 +00:00
Andrew Noyes
62d3b1c674 Use add_link_options. Also add USE_MSAN
And define the macros stacktrace.amalgamation.cpp expects
2020-10-15 17:08:41 +00:00
Andrew Noyes
68de888fb4 Add USE_GCOV cmake option
Enabling this option adds --coverage to compilation flags and dumps
coverage data (*.gcda) files in flushAndExit. Otherwise coverage data
would not be dumped in flushAndExit. Applications that exit more
normally (e.g. returning from main) don't need special changes to dump
coverage data.

This is still experimental and we don't exactly have a plan for running
this in CI e.g., so this change just adds the option.

Tested with clang11
2020-10-15 17:08:41 +00:00
Lukas Joswiak
7a356d142c Disable network test, peg doctest to version 2.4 2020-10-08 14:24:36 -07:00
Lukas Joswiak
2442466fc5 Remove pthread flag 2020-10-08 13:45:00 -07:00
Lukas Joswiak
ff5eafcf42 Swap to -pthread from -lpthread
This is a (probably temporary?) fix to actually fix the compilation
issue with the added unit tests when compiling with gcc. The issue seems
to be that lpthread is getting linked before another library which
requires it, so linking fails. Linking pthread instead of lpthread fixes
the issue, but this may have an effect on other binaries in the system
as well.
2020-10-02 22:52:42 -07:00
XiaoxiWang
1c96a37a77 turn off avx instruction when enable valgrind 2020-08-14 21:14:48 +00:00
Evan Tschannen
a49cb41de7 Merge branch 'release-6.3'
# Conflicts:
#	CMakeLists.txt
#	cmake/ConfigureCompiler.cmake
#	fdbserver/Knobs.cpp
#	fdbserver/StorageCache.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	flow/ThreadHelper.actor.h
#	flow/serialize.h
#	tests/CMakeLists.txt
2020-07-29 00:31:55 -07:00
Andrew Noyes
1d22a21510 Revert "temporarily disable compiler warnings"
This reverts commit 29142fa38220082c709b48d13d42ac679872e349.
2020-07-28 17:19:52 +00:00
Evan Tschannen
29142fa382 temporarily disable compiler warnings 2020-07-24 12:37:15 -07:00
Evan Tschannen
d3093f50bb attempt to get rid of compiler warnings 2020-07-24 12:24:42 -07:00
Evan Tschannen
e1dedff7b3 Merge branch 'release-6.2' into release-6.3
# Conflicts:
#	CMakeLists.txt
#	bindings/c/test/mako/mako.c
#	cmake/ConfigureCompiler.cmake
#	documentation/sphinx/source/downloads.rst
#	fdbcli/fdbcli.actor.cpp
#	fdbclient/FileBackupAgent.actor.cpp
#	packaging/msi/FDBInstaller.wxs
#	versions.target
2020-07-24 12:10:44 -07:00
Meng Xu
8ae0d9b73d Resolve merge conflict 2020-07-13 10:21:53 -07:00
Meng Xu
ef8c1060a2 Merge branch 'master' into mengxu/tmp-merge-6.3 2020-07-13 10:15:56 -07:00
A.J. Beamon
b09dddc07e Merge branch 'release-6.2' into merge-release-6.2-into-release-6.3
# Conflicts:
#	cmake/ConfigureCompiler.cmake
#	documentation/sphinx/source/downloads.rst
#	fdbrpc/FlowTransport.actor.cpp
#	fdbrpc/fdbrpc.vcxproj
#	fdbserver/DataDistributionQueue.actor.cpp
#	fdbserver/Knobs.cpp
#	fdbserver/Knobs.h
#	fdbserver/LogSystemPeekCursor.actor.cpp
#	fdbserver/MasterProxyServer.actor.cpp
#	fdbserver/Status.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	flow/flow.vcxproj
2020-07-10 15:06:34 -07:00
Andrew Noyes
f077d9889b Fix osx build 2020-07-10 09:46:32 -07:00
Andrew Noyes
6446b4c082 WIP 2020-07-09 22:02:43 +00:00
Russell Sears
4ce51c4cce
Merge pull request #2768 from atn34/atn34/arena-cpp
Check for memory errors in arena-allocated memory
2020-07-06 09:43:28 -07:00
Andrew Noyes
42159ccfe0 Add -Wpessimizing-move and -Wredundant-move for clang 2020-06-22 23:45:03 +00:00
Kao Makino
d02bf34b32 Handle processor specific flags properly 2020-06-22 17:40:08 +00:00
Russell Sears
3278222e2c
Merge pull request #3077 from tclinken/reenable-wclass-memaccess
Fix segmentation fault and reenable -Wclass-memaccess
2020-06-08 09:42:35 -07:00
Russell Sears
a99ceb9c42 Add cmake option to enable avx512 2020-06-02 15:07:00 -07:00
Russell Sears
11f658cfe2 Add cmake option to disable AVX 2020-06-02 15:07:00 -07:00
Russell Sears
e77f9701f3 Settle on using rte_memcpy when we do not know the copy size at runtime, and builtin memcpy otherwise 2020-06-02 15:06:57 -07:00
Russell Sears
b84fcbc828 folly_memcpy is ready for benchmarking 2020-06-02 14:51:21 -07:00
Russell Sears
678b57c0d9 port rte_memcpy to flow; add -mavx compiler flag 2020-06-02 14:51:21 -07:00
sfc-gh-tclinkenbeard
b7160bab2d Added -Woverloaded-virtual warning for clang, and fixed accidental overloads in flow.h 2020-05-24 13:53:35 -07:00
A.J. Beamon
d128252e90 Merge release-6.3 into master 2020-05-22 09:25:32 -07:00
Andrew Noyes
1448d1b214 Don't check for c11 atomics on windows
We don't need it. We don't even compile eio.c on windows apparently.
2020-05-20 21:50:57 +00:00