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

Busy transport causes PONG to fail assertion and panic. #174

Open
sqwishy opened this issue Feb 2, 2019 · 1 comment
Open

Busy transport causes PONG to fail assertion and panic. #174

sqwishy opened this issue Feb 2, 2019 · 1 comment
Labels

Comments

@sqwishy
Copy link

sqwishy commented Feb 2, 2019

I get a panic from an assertion failure in debug builds after starting a client that is configured to join a large number of channels. The message burst stuff is at its defaults, after maybe a minute or two, it panics while trying to respond to a ping. Maybe because the transport is considered not writable due to the throttling?

If my understanding is correct, maybe if it fails to send a ping immediately, it can set a flag that the transport can look for whenever it does become writable to know to preempt the queued messages and send a pong?

thread 'irc' panicked at 'assertion failed: result.is_ready()', /home/sqwishy/.cargo/registry/src/github.com-1ecc6299db9ec823/irc-0.13.6/src/client/transport.rs:122:25
@aatxe aatxe added the bug label Feb 3, 2019
@aatxe
Copy link
Owner

aatxe commented Feb 3, 2019

Your explanation about the throttling seems plausible to me, and if so, something like your proposed solution should work. I'll investigate when I have the chance (but things are quite busy right now).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants