Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full stack server fuzzer #6071

Merged
merged 54 commits into from
Apr 6, 2016
Merged
Changes from 1 commit
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
762a8df
Fuzzers now handle asserts.
nicolasnoble Apr 1, 2016
df262c6
Starting server fuzzer
ctiller Apr 2, 2016
da1d7d9
Remove corpus generator
ctiller Apr 2, 2016
2d8d13a
Server fuzzer progress
ctiller Apr 3, 2016
029fbbd
x
ctiller Apr 3, 2016
5696bf1
Merge branch 'e2efuzz' of github.com:ctiller/grpc into e2efuzz
ctiller Apr 3, 2016
df04c1f
Fix crash
ctiller Apr 4, 2016
016ab20
Merge branch 'e2efuzz' of github.com:ctiller/grpc into e2efuzz
ctiller Apr 4, 2016
94b4c9c
Squelch logs
ctiller Apr 4, 2016
c6ab620
Merge branch 'e2efuzz' of github.com:ctiller/grpc into e2efuzz
ctiller Apr 4, 2016
688b024
Revert "x"
ctiller Apr 4, 2016
e05b464
Revert "Revert "x""
ctiller Apr 4, 2016
c1e66d6
Expand corpus
ctiller Apr 4, 2016
9790c4e
x
ctiller Apr 4, 2016
9c5c14f
Expand corpus
ctiller Apr 4, 2016
3f22892
Expand corpus
ctiller Apr 4, 2016
4e5b4f5
Expand corpus
ctiller Apr 4, 2016
db1baa2
Fix things
ctiller Apr 4, 2016
3337362
Stuff
ctiller Apr 4, 2016
d401fad
Squelch
ctiller Apr 4, 2016
d7d774c
Debug help
ctiller Apr 4, 2016
9e9edbc
Introduce machinery to allow tests to register plugins
ctiller Apr 4, 2016
a446ee2
Add test to verify bad behavior
ctiller Apr 4, 2016
4a9a2b9
Merge branch 'head-of-line-blocking' into filters-can-cause-closes
ctiller Apr 4, 2016
c48ca71
Add a test demonstrating forced closure of a stream, and make it work
ctiller Apr 4, 2016
8573c2e
Merge github.com:grpc/grpc into e2efuzz
ctiller Apr 4, 2016
94625cd
Merge branch 'filters-can-cause-closes' into e2efuzz
ctiller Apr 4, 2016
73619b9
Fix termination
ctiller Apr 4, 2016
49653e5
Expand corpus
ctiller Apr 4, 2016
49fe21c
Expand corpus
ctiller Apr 4, 2016
f35e5f7
Merge branch 'fuzzer-polish' of github.com:nicolasnoble/grpc into e2e…
ctiller Apr 4, 2016
128c39e
Merge
ctiller Apr 4, 2016
fd11496
Expand corpus
ctiller Apr 4, 2016
22a3dfd
Fix stream id order handling
ctiller Apr 4, 2016
e25efc1
Expand corpus
ctiller Apr 4, 2016
d153cbe
Allow specifying max input length
ctiller Apr 4, 2016
b4e4ffb
Expand corpus, found a leak!
ctiller Apr 5, 2016
236521a
Expand corpus, found a leak!
ctiller Apr 5, 2016
3726c10
Missed file
ctiller Apr 5, 2016
d5b6d4e
Expand corpus
ctiller Apr 5, 2016
10f3aed
Merge branch 'e2efuzz' of github.com:ctiller/grpc into e2efuzz
ctiller Apr 5, 2016
9cac2a1
Fix memory leak (I think)
ctiller Apr 5, 2016
3693078
Add handy debug
ctiller Apr 5, 2016
7a6f60e
More controllable squelching
ctiller Apr 5, 2016
a73debd
Squelch
ctiller Apr 5, 2016
494efaf
More corpus
ctiller Apr 5, 2016
7bfd8be
clang-fmt
ctiller Apr 5, 2016
c708f8a
Fix struct
ctiller Apr 5, 2016
e9aefba
Merge branch 'filters-can-cause-closes' into e2efuzz
ctiller Apr 5, 2016
76210ed
Expand corpus
ctiller Apr 5, 2016
26d3fd2
Merge branch 'e2efuzz' of github.com:ctiller/grpc into e2efuzz
ctiller Apr 5, 2016
3666722
clang-fmt
ctiller Apr 5, 2016
f64df11
Merge branch 'nanopb_fuzzer' of github.com:dgquintas/grpc into e2efuzz
ctiller Apr 6, 2016
36bb50a
Merge github.com:grpc/grpc into e2efuzz
ctiller Apr 6, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix crash
  • Loading branch information
ctiller committed Apr 4, 2016
commit df04c1f7f6aec6e95722ec0b023a6b29b6ea871c
41 changes: 23 additions & 18 deletions src/core/lib/surface/call.c
Original file line number Diff line number Diff line change
Expand Up @@ -1074,25 +1074,30 @@ static void receiving_initial_metadata_ready(grpc_exec_ctx *exec_ctx,

gpr_mu_lock(&call->mu);

grpc_metadata_batch *md =
&call->metadata_batch[1 /* is_receiving */][0 /* is_trailing */];
grpc_metadata_batch_filter(md, recv_initial_filter, call);
call->has_initial_md_been_received = true;

if (gpr_time_cmp(md->deadline, gpr_inf_future(md->deadline.clock_type)) !=
0 &&
!call->is_client) {
GPR_TIMER_BEGIN("set_deadline_alarm", 0);
set_deadline_alarm(exec_ctx, call, md->deadline);
GPR_TIMER_END("set_deadline_alarm", 0);
}
if (!success) {
bctl->success = false;
} else {
grpc_metadata_batch *md =
&call->metadata_batch[1 /* is_receiving */][0 /* is_trailing */];
grpc_metadata_batch_filter(md, recv_initial_filter, call);
call->has_initial_md_been_received = true;

if (gpr_time_cmp(md->deadline, gpr_inf_future(md->deadline.clock_type)) !=
0 &&
!call->is_client) {
GPR_TIMER_BEGIN("set_deadline_alarm", 0);
set_deadline_alarm(exec_ctx, call, md->deadline);
GPR_TIMER_END("set_deadline_alarm", 0);
}

if (call->saved_receiving_stream_ready_ctx.bctlp != NULL) {
grpc_closure *saved_rsr_closure = grpc_closure_create(
receiving_stream_ready, call->saved_receiving_stream_ready_ctx.bctlp);
grpc_exec_ctx_enqueue(exec_ctx, saved_rsr_closure,
call->saved_receiving_stream_ready_ctx.success, NULL);
call->saved_receiving_stream_ready_ctx.bctlp = NULL;
if (call->saved_receiving_stream_ready_ctx.bctlp != NULL) {
grpc_closure *saved_rsr_closure = grpc_closure_create(
receiving_stream_ready, call->saved_receiving_stream_ready_ctx.bctlp);
grpc_exec_ctx_enqueue(exec_ctx, saved_rsr_closure,
call->saved_receiving_stream_ready_ctx.success,
NULL);
call->saved_receiving_stream_ready_ctx.bctlp = NULL;
}
}

gpr_mu_unlock(&call->mu);
Expand Down