beast: BOOST_ASSERT(ws_.wr_block_ == tok_);

I am currently running Beast 116 but I think I’ve also seen the issue pop up with 112.

It shows up infrequently. I have not been able to reproduce the issue consistently and I don’t know what the root cause might be (it might be something I am doing).

The assertion triggers in write.ipp:475:

    upcall:
        BOOST_ASSERT(ws_.wr_block_ == tok_);

In the debug session I am looking at right now I see that ws_.wr_block_.id_ is 0 while tok_.id_ is 153.

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 22 (19 by maintainers)

Most upvoted comments

Thanks Vinnie, just tried it with Beast v167 and it works just fine now!

I’m encountering the same in debug builds when writing fast (after a few seconds runtime):

I believe this change fixes it:

https://github.com/boostorg/beast/commit/726118468b940473e34410b48f8558c775eae179

This fix was made on March 1st and it will be part of Boost 1.67.

  1. Server
  2. I haven’t set it explicitly but the default seems no
  3. Not set explicitly but it seems to be on by default
  4. Not explicitly (so unless they are called implicitly somewhere; no)