Flush if needed before writing UTF-8 symbols and thread names #739
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since the max UTF-8 string length is 8191 and flushes are only triggered when there is less than 4KiB left in each JFR buffer, an (albeit abnormally long) thread name or symbol longer than 4KiB can wrap around and corrupt the offset at the start of the next buffer, unless the buffer is the last buffer in which case it will just overflow.