[chttp2] Fix fuzzer found flow control error (#32716)
Previously we triggered a flow control update when `announced < target/2`, but if `target==1` then we fail to send a flow control update (announced is never less than 1/2==0) and break our forward progress guarantees. b/259780449 internally.pull/32720/head
parent
8038d2d878
commit
f9085e4496
3 changed files with 887 additions and 3 deletions
@ -0,0 +1,876 @@ |
||||
enable_bdp: true |
||||
actions { |
||||
stream_write { |
||||
id: 512 |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
stream_write { |
||||
id: 2 |
||||
size: 167772160 |
||||
} |
||||
} |
||||
actions { |
||||
set_min_progress_size { |
||||
size: 1 |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 99 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 6712937 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 0 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
step_time_ms: 9018723195515904 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
step_time_ms: 0 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
set_memory_quota: 537557792 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 0 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 0 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
stream_write { |
||||
id: 524288 |
||||
size: 2097152 |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
allocate_memory: 65 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 2048 |
||||
} |
||||
actions { |
||||
step_time_ms: 0 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 8386653583721889792 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 281453501874176 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 0 |
||||
} |
||||
actions { |
||||
step_time_ms: 0 |
||||
} |
||||
actions { |
||||
perform_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
allocate_memory: 4210688 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
||||
actions { |
||||
allocate_memory: 4227858432 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 16384 |
||||
} |
||||
actions { |
||||
perform_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
allocate_memory: 1028 |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
deallocate_memory: 85 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
allocate_memory: 536870912 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 16384 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
||||
actions { |
||||
allocate_memory: 67174400 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
allocate_memory: 2 |
||||
} |
||||
actions { |
||||
stream_write { |
||||
size: 4 |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
deallocate_memory: 0 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 32 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 16384 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
allocate_memory: 45 |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 16384 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
stream_write { |
||||
id: 8192 |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
allocate_memory: 7 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 0 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
perform_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
stream_write { |
||||
id: 7 |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 16445 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
deallocate_memory: 4278190080 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
set_pending_size { |
||||
id: 13056 |
||||
size: 45 |
||||
} |
||||
} |
||||
actions { |
||||
allocate_memory: 13056 |
||||
} |
||||
actions { |
||||
allocate_memory: 267 |
||||
} |
||||
actions { |
||||
read_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
deallocate_memory: 0 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
set_memory_quota: 268435456 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 0 |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
step_time_ms: 16384 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
allocate_memory: 0 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
set_memory_quota: 99 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
set_memory_quota: 2 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
set_memory_quota: 0 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
read_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
allocate_memory: 0 |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
||||
actions { |
||||
read_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_from_remote { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
deallocate_memory: 536870912 |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
deallocate_memory: 4 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
allocate_memory: 0 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
allocate_memory: 2 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
perform_send_to_remote { |
||||
} |
||||
} |
||||
actions { |
||||
allocate_memory: 3211264 |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
} |
||||
actions { |
||||
deallocate_memory: 2 |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
||||
actions { |
||||
periodic_update { |
||||
} |
||||
} |
Loading…
Reference in new issue