Skip to content

smite-scenarios: reduce read timeout to 1s#136

Open
morehouse wants to merge 2 commits into
masterfrom
reduce_recv_timeout_1s
Open

smite-scenarios: reduce read timeout to 1s#136
morehouse wants to merge 2 commits into
masterfrom
reduce_recv_timeout_1s

Conversation

@morehouse

Copy link
Copy Markdown
Owner

For current handshake-type flows (open_channel->accept_channel and funding_created->funding_signed), the largest observed response time in the Nyx VM was 444ms under contention. Thus the current timeout value of 5s is overkill and we can safely reduce it to 1s.

Keeping the receive timeout value as low as possible is important for fuzzing efficiency since there are certain situations where a target may ignore one of our messages instead of sending us the response we're waiting for. This was observed in practice with Eclair, which will ignore an open_channel message if it has the same temporary_channel_id as one for which Eclair already sent an accept_channel response.

Eclair also ignores many other kinds of messages as well:

I imagine there are also various edge cases where other implementations will also ignore certain messages, so it's important that we don't waste more time waiting than necessary when this happens.

This enables the executor to reduce timeouts for messages that are
processed quickly and increase timeouts for messages that are processed
more slowly.
For current handshake-type flows (open_channel->accept_channel and
funding_created->funding_signed), the largest observed response time in
the Nyx VM was 444ms under contention.  Thus the current timeout value
of 5s is overkill and we can safely reduce it to 1s.

Keeping the receive timeout value as low as possible is important for
fuzzing efficiency since there are certain situations where a target may
ignore one of our messages instead of sending us the response we're
waiting for.  This was observed in practice with Eclair, which will
ignore an open_channel message if it has the same temporary_channel_id
as one for which Eclair already sent an accept_channel response.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant