beast: Failed assertion in read_frame_op
I am operating some long running websocket clients and every few days I get the assertion failed in do_close case of the switch statement: Assertion `! d.ws.wr_block_’ failed. Is this a bug in the library or does it imply I am doing something wrong?
This was beast/websocket/impl/read.ipp line 454 as of commit 1ab7a2f04ca9a0b35f2032877cab78d94e96ebad.
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 15 (8 by maintainers)
Commits related to this issue
- Fix race in writes during reads: fix #261 This fixes a rare condition when responding to a ping or close frame where the wr_block_ stream variable is not correctly set for a short window of time. — committed to boostorg/beast by vinniefalco 7 years ago
- Fix race in writes during reads: fix #261 This fixes a rare condition when responding to a ping or close frame where the wr_block_ stream variable is not correctly set for a short window of time. — committed to boostorg/beast by vinniefalco 7 years ago
- Fix race in writes during reads: fix #261 This fixes a rare condition when responding to a ping or close frame where the wr_block_ stream variable is not correctly set for a short window of time. — committed to boostorg/beast by vinniefalco 7 years ago
- Fix race in writes during reads: fix #261 This fixes a rare condition when responding to a ping or close frame where the wr_block_ stream variable is not correctly set for a short window of time. — committed to boostorg/beast by vinniefalco 7 years ago
- Fix race in writes during reads: fix #261 This fixes a rare condition when responding to a ping or close frame where the wr_block_ stream variable is not correctly set for a short window of time. — committed to boostorg/beast by vinniefalco 7 years ago
- Fix race in writes during reads: fix #261 This fixes a rare condition when responding to a ping or close frame where the wr_block_ stream variable is not correctly set for a short window of time. — committed to boostorg/beast by vinniefalco 7 years ago
OK. So I’m stupid. I’m moving the websocket stream while a pending operation exists, by using a std::vector.
I’m running the new branch now.