Vignesh Babu
a2c89d0b24
[fuzzing] Define a common fuzzing interface and move API fuzzer to it ( #32853 )
...
Requires cherrypick for grpc_fuzzer.bzl file.
2 years ago
Alisha Nanda
4e2f92bf9c
[metadata] Fix fuzzer bug with metadata arg. ( #32787 )
...
Bug: b/276525236.
2 years ago
Craig Tiller
db3daf567b
[api-fuzzer] Enable fuzzing over config vars ( #32736 )
...
Add the capability for api-fuzzer to fuzz over different config
variables, to enable us to spot incompatible configurations there
sooner.
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
a363b6c001
[fuzzing] Implement endpoints for FuzzingEventEngine ( #32689 )
...
Implement listeners, connection, endpoints for `FuzzingEventEngine`.
Allows the fuzzer to select write sizes and delays, connection delays,
and port assignments.
I made a few modifications to the test suite to admit this event engine
to pass the client & server tests:
1. the test factories return shared_ptr<> to admit us to return the same
event engine for both the oracle and the implementation - necessary
because FuzzingEventEngine forms a closed world of addresses & ports.
2. removed the WaitForSingleOwner calls - these seem unnecessary, and we
don't ask our users to do this - tested existing linux tests 1000x
across debug, asan, tsan with this change
Additionally, the event engine overrides the global port picker logic so
that port assignments are made by the fuzzer too.
This PR is a step along a longer journey, and has some outstanding
brethren PR's, and some follow-up work:
* #32603 will convert all the core e2e tests into a more malleable form
* we'll then use #32667 to turn all of these into fuzzers
* finally we'll integrate this into that work and turn all core e2e
tests into fuzzers over timer & callback reorderings and io
size/spacings
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
bdaf604f1b
[chttp2] Fix fuzzer found crash ( #32696 )
...
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
2 years ago
Yijie Ma
bdea76728b
[fix] Prevent a signed integer overflow in timeout_encoding.cc ( #32432 )
...
Return `Timeout(kMaxHours, Unit::kHours)` if the value is about to
overflow in `DivideRoundingUp`.
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
2 years ago
Esun Kim
905df9dee6
Update Abseil to 20230125 ( #32139 )
...
* Update abseil to 1.20230125.0
* Fix IWYU
2 years ago
Yijie Ma
e7b5499ca8
[EventEngine] RunAfter migration: api_fuzzer ( #32090 )
...
* initial commit
* review
* clang-tidy
* cleanup
* clang-format
2 years ago
Yijie Ma
fc54381aec
Fix a transport leak in subchannel ( #32071 )
...
* Use a unique_ptr with custom deleter for grpc_transport in
SubchannelConnector::Result
* comment
* fix
* iwyu
* std::ignore
* review
* explicit release ownership
2 years ago
Craig Tiller
67f364e23e
[cleanup] Eliminate usage of GRPC_ASSERT(false...); ( #31757 )
...
* crash function
* progress
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fixes
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
* fix
* use cpp attr
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix
* fix
* add exclusion
* fix
* typo
* fix
* fmt
* Update tcp_socket_utils.cc
* Automated change: Fix sanity tests
* fix
* revert php changes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yijie Ma
9ff89e81c4
fix order issue in setting grpc_tcp_client_impl ( #32022 )
2 years ago
Yijie Ma
f99b8b5bc4
Convert c-style comments to C++-style comments ( #31923 )
...
* baseline
* fix clang-tidy
* manually revert these files
* manually fixup at eof
* revert 2 more files
* change check_deprecated_grpc++.py
* change end2end_defs.include template
* fix check_include_guards.py
* untrack tools/distrib/python/convert_cstyle_comments_to_cpp.py
not yet ready to be submitted
* fix
yapf check_include_guards.py
remove a space...
* fix version.cc.template
* fix version_info.h.template
2 years ago
Cheng-Yu Chung
f5d21653fc
Revert "[event_engine] Move combiner executor usage to event engine ( #31713 )" ( #31753 )
...
This reverts commit b04aa1cf92
.
Co-authored-by: AJ Heller <hork@google.com>
2 years ago
Cheng-Yu Chung
77b3972f95
Clean up the TODO item in build target `grpc_base` part `channel_args` ( #31642 )
...
* Clean up the TODO item in build target `grpc_base` part `channel_args`
* Update
* Update
* Update
* Automated change: Fix sanity tests
* update
* Automated change: Fix sanity tests
2 years ago
Craig Tiller
b04aa1cf92
[event_engine] Move combiner executor usage to event engine ( #31713 )
...
* [event_engine] Move combiner executor usage to event engine
* fix
* review feedback
* fix
* x
* fix
* fix
2 years ago
Cheng-Yu Chung
7e3ada34e6
Clean up the TODO item in build target `grpc_base` -- part `closure` ( #31001 )
...
* Clean up the TODO item in build target `grpc_base` part `closure`
* Update
* Update
* Revert "Update"
This reverts commit daf3118390
.
* Update
* Update
* Automated change: Fix sanity tests
2 years ago
Craig Tiller
c545350633
Reland: [promises] Compression filter conversion ( #31686 )
...
* Revert "Revert "[promises] Compression filter conversion (#31204 )" (#31682 )"
This reverts commit fa31b36cb1
.
* fix?
* fix
2 years ago
Craig Tiller
fa31b36cb1
Revert "[promises] Compression filter conversion ( #31204 )" ( #31682 )
...
This reverts commit a8c983528a
.
2 years ago
Craig Tiller
a8c983528a
[promises] Compression filter conversion ( #31204 )
...
* Convert compress filter
* decompress sketch
* Automated change: Fix sanity tests
* progress
* progress
* got the new filter impls compiling
* Automated change: Fix sanity tests
* declare the bits
* allocate control types
* stub in pipe accessors
* init pipes
* send-path
* working through the state machines
* [arena] pool allocator
* add tests
* Automated change: Fix sanity tests
* better sizes
* iwyu
* Automated change: Fix sanity tests
* first pass cut fragments
* fix1
* fix
* Automated change: Fix sanity tests
* fix
* iwyu
* build-deps
* fix for windows
* fix
* fixes
* better-logs
* better-logs
* callpushpush-->tryconcurrently
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* logging improvements
* logging improvements
* fixes
* Automated change: Fix sanity tests
* respect flag
* handle eos
* cancel_after_client_done
* handle failed sends
* more error handling
* Automated change: Fix sanity tests
* more stuff
* remove unnecessary conversion
* hackity hack hack
* fixes
* progress
* Automated change: Fix sanity tests
* capture metadata from promise to recieve up
* spacing
* debug,fix
* not-used
* fix
* fix
* tune
* unify compress/decompress
* fixes
* send_message/send_trailing_metadata ordering
* cleanup loop
* remove minimal stack bits
* better error generation
* fix-build
* Automated change: Fix sanity tests
* cancellation of recv message for forwarded receives
* fix
* compile fix
* fix clobbering
* fix test, convert to gtest
* fix
* Automated change: Fix sanity tests
* cleanup
* fixes
* fix
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* add test
* Automated change: Fix sanity tests
* fix
* fix
* fix
* no need to store message per filter
* Automated change: Fix sanity tests
* danke yash
* iwyu
* clang-tidy
* Automated change: Fix sanity tests
* fix
* [promise] CallPushPull -> more general TryConcurrently
* Automated change: Fix sanity tests
* [promise] Introduce map_pipe, cleanup factories
* [promise] Promise based filter changes for messages
* [log] Longer space for filenames
* [test] Add some debugability affordances to async_end2end_test
* add comment
* Automated change: Fix sanity tests
* fix-merge
* fix-merge
* fix
* [chttp2] Fix a bug whereby trailers-only is not reported
We don't report trailers-only if the trailers are parsed prior to executing recv_initial_metadata
* comments
* fix for ruby
* review feedback
* merge
* fix
* Automated change: Fix sanity tests
* fix bm?
* re-add dropped flag
* turn on some traces to try and debug ruby
* debug for ruby problem
* proposed chttp2 fix
* Revert "turn on some traces to try and debug ruby"
This reverts commit 1bf3cfd552
.
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Cheng-Yu Chung
3ef817b3bf
Clean up the TODO item in build target `grpc_base` -- part `slice` ( #31003 )
...
* Clean up the TODO item in build target `grpc_base` part `slice`
* Automated change: Fix sanity tests
2 years ago
Craig Tiller
afa3a6c890
[event_engine] Fix for the EE/iomgr shutdown ordering problem ( #31265 )
...
* Remove ResetDefaultEventEngine
Now that it is a weak_ptr, there's no need to explicitly reset it. When
the tracked shared_ptr is deleted, the weak_ptr will fail to lock, and a
new default EventEngine will be created.
* forget existing engine with FactoryReset
* init/shutdown in event engine for now
* fix
* fix
* fix windows deadlock
* Automated change: Fix sanity tests
* fix
* better windows fix
Co-authored-by: AJ Heller <hork@google.com>
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Esun Kim
3c96517fc0
Simplified GRPC_ERROR_CREATE macros ( #31222 )
...
* Simplified GRPC_ERROR_CREATE macros
* Code migration
2 years ago
Craig Tiller
66c8e098ee
[slice] Remove murmur implementation ( #31118 )
...
* [slice] Remove _internal variants of APIs
* Automated change: Fix sanity tests
* fix
* reduce bloat
* fixes
* Automated change: Fix sanity tests
* murmurings
* Automated change: Fix sanity tests
* progress
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
AJ Heller
6cac641c64
EventEngineFactoryReset - remove custom factory and reset default engine ( #30554 )
...
* EventEngineFactoryReset - remove custom factory and reset default engine
* fix
* Automated change: Fix sanity tests
* unused parameter
* fix
* fix
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago
Craig Tiller
9c98d67d7a
[c++14] absl::make_unique --> std::make_unique ( #31159 )
...
* [c++14] absl::make_unique --> std::make_unique
* fix
* fix
2 years ago
AJ Heller
2ee2c91c92
Reland x2: Make GetDefaultEventEngine return a shared_ptr ( #30619 )
...
* Reland x2: Make GetDefaultEventEngine return a shared_ptr
* remove thread leak from NativeDNSResolver
This is not going to work for resolvers that support cancellation.
* give resolvers bounded lifetimes
Some resolver own EventEngines. EventEngines cannot run off the end of
the process since they have unjoined threads (problematic in a small set
of environments). This gives resolvers bounded lifetimes, and allows
replacement of resolvers without ASAN issues of deleting resolvers in
active use (occurs in tests).
* fix
* fix windows
* fix surface init test
* fix
* sanitize
* use after move
* the test must wait for the callback to be destroyed
* windows fix: delete the resolver on iomgr shutdown, not before
* Make TimerManager threads non-joinable
On gRPC shutdown, any unjoined TimerManager threads will cause TSAN to
detect thread leaks. This fix resolves issues I saw in end2end test
shutdown in another PR, where a single timer manager thread was always
alive after the test ended.
The long-term solution is to integrate the new ThreadPool here, but this
unblocks me for now.
* backport fix
* fix
* shared_ptr<EventEngine> in EventEngine benchmarks
2 years ago
Esun Kim
d43511f4af
Removed GRPC_ERROR_NONE ( #31131 )
2 years ago
Esun Kim
ba8af0157b
Removing GRPC_ERROR_[REF|UNREF|IS_NONE] ( #31089 )
...
* Removing GRPC_ERROR_[REF|UNREF|IS_NONE]
* Clean up unnecessary error
* Fix
* Fix2
* Remove unnecessary else
2 years ago
Craig Tiller
1ad4bbe78e
Revert "fix ( #31018 )" ( #31021 )
...
This reverts commit 2e6f268dfc
.
2 years ago
Mark D. Roth
5e0165bc02
EventEngine: fix callers of Run() and RunAfter() to create ExecCtx ( #31047 )
2 years ago
Craig Tiller
2e6f268dfc
fix ( #31018 )
2 years ago
Craig Tiller
96f5cddb5f
[time] Introduce time sources ( #30815 )
...
* [time] Introduce time sources
* make import trivial
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* review feedback
* fix
* Automated change: Fix sanity tests
* ios fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
c2ab8c99bb
Revert "Revert "[c++] Move environment functions to C++ ( #30937 )" ( #30986 )" ( #30988 )
...
This reverts commit 96264e07b8
.
2 years ago
Craig Tiller
96264e07b8
Revert "[c++] Move environment functions to C++ ( #30937 )" ( #30986 )
...
This reverts commit 74c0d6fe3f
.
2 years ago
Craig Tiller
74c0d6fe3f
[c++] Move environment functions to C++ ( #30937 )
...
* [gprpp] Move env to C++
* move headers/impl
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* Update http_proxy.cc
* fix
* fix
* rename
* fix merge
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Vignesh Babu
70dd34b438
Revert "Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args"" ( #30509 )
...
* Revert "Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args (#30028 )" (#30495 )"
This reverts commit 0b1a8c984b
.
* bug fix
* bug fix
* fix sanity
2 years ago
Craig Tiller
1ed09bd6dc
[api_fuzzer] Fix timeout case ( #30578 )
2 years ago
AJ Heller
d025c1732f
Revert "Reland: Make GetDefaultEventEngine return a shared_ptr ( #30563 )" ( #30573 )
...
This reverts commit ee7c0a8e4c
.
2 years ago
AJ Heller
ee7c0a8e4c
Reland: Make GetDefaultEventEngine return a shared_ptr ( #30563 )
...
* Reland: "Make GetDefaultEventEngine return a shared_ptr (#30280 )"
This reverts commit 45959e7cc1
.
* Attempted fix with NoDestruct
* Not a process-wide singleton for the type. Just a NonDestruct
* fix
2 years ago
AJ Heller
45959e7cc1
Revert "Make GetDefaultEventEngine return a shared_ptr ( #30280 )" ( #30558 )
...
This reverts commit 4df74f2b4c
.
2 years ago
AJ Heller
4df74f2b4c
Make GetDefaultEventEngine return a shared_ptr ( #30280 )
...
This works around valgrind memory leaks by giving EventEngines a fixed
lifetime. We eventually want ref-counted EventEngines internally, so this is
a step in the right direction as well.
2 years ago
Craig Tiller
9cbedfe66f
[sleep] Fix use after free discovered by fuzzer ( #30542 )
...
* minimized crash
* [sleep] Fix use after free discovered by fuzzer
2 years ago
AJ Heller
8f5300b95d
Rename the default EventEngine headers ( #30528 )
...
* Rename the default EventEngine headers
Small cleanup. This code hasn't been related to factories for a month or
two.
* ensure only one target contains default_event_engine.h
* src + hdr in same target
* include guards
2 years ago
Vignesh Babu
0b1a8c984b
Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args ( #30028 )" ( #30495 )
...
This reverts commit 2c977a4d98
.
2 years ago
Vignesh Babu
2c977a4d98
Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args ( #30028 )
...
* convert tcp code to use EndpointConfig and successfully compile
* regenerate projects
* copying config options used in tcp code to create map backed endpoint configs
* fix minor build issues
* fix includes in tests
* fix some build and test issues
* modifying endpoint config definition from an abstract interface into a concrete implementation
* minor fix
* add unreachable code check
* fix some windows build issues
* fix more build issues
* adding a grpc_tcp_generic_options struct to hold data extracted from EndpointConfig
* code formatting
* simplify
* fix sanity checks
* fix windows issues
* some posix fixes
* disabling copy constructor and copy assignment operator for endpoint config
* fix sanity checks
* fix syntax error
* fix weird formatting
* fix build issue
* fix review comments
* reverting un-necessary change
* remove channel args completely from windows impl since it is unused
* remove unused headers and fix usage in endpoint_pair_windows.cc
* cleanup
* cleanup
* fix some initialization issues
* re-generate projects
* removing some files
* fix ifdef for windows
* fixing windows build issue due to improper header file include
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* review comments
* add comment
* review comments
* rename GetPointer to GetVoidPointer
* cleanup
* Automated change: Fix sanity tests
* removing EndpointConfig::Get method
* Automated change: Fix sanity tests
* minor fix
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2 years ago
Cheng-Yu Chung
3d0bdb34c1
Fix long http2 header values ( #30379 )
...
* Fix long HTTP2 header values
* Add unit test
* Update for comments
* Add corpus
* Automated change: Fix sanity tests
* Add comments
* Replace `std::size_t` with `size_t`
* Automated change: Fix sanity tests
* Update
* Update
Co-authored-by: ralphchung <ralphchung@users.noreply.github.com>
2 years ago
Craig Tiller
05e6bf2e4a
[build] Add test/core/util, test/core/event_engine to auto build deps ( #30364 )
...
* [build] Add test/core/util, test/core/event_engine to auto build deps
* deal with suppressions
* fix suppressions
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* progress
* Automated change: Fix sanity tests
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
c19d6e2146
[api_fuzzer] Fix internal build ( #30402 )
2 years ago
Craig Tiller
df52004032
[iwyu] Add test/core/end2end ( #29998 )
...
* [iwyu] Add test/core/end2end
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* update
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
AJ Heller
64939531f9
Re-Reland: Add SRV and TXT record lookup methods to the iomgr API ( #30246 )
...
* Revert "Revert "Reland: Add SRV and TXT record lookup methods to the iomgr PAI (#30242 )"
This reverts commit b5966f39eb
.
* release lock before unreffing
2 years ago