RFR: 8267926: AsyncLogGtest.java fails on assert with: decorator was not part of the decorator set specified at creation. [v3]

Xin Liu xliu at openjdk.java.net
Mon May 31 17:09:48 UTC 2021


> The root cause of the intermittent failure is that _decorators in LogDecorations 
> may be inconsistent with LogOutput::_decorators. It could happen when gtest disables a
> Log output via set_log_config(TestLogFileName, "all=off").
> 
> Since we copy the entire logDecorations, it's reasonable to copy _decorator as well. 
> LogDecorator is a bitmask of uint. It's even smaller than a reference on LP64 platforms.
> 
> This patch not only fixes intermittent crash in JDK-8267926, but also fixes JDK-8267952.
> Two hazards of async logging in `LogConfiguration::configure_output` are eliminated. 
> This patch also adds a storestore barrier to make sure it's safe on weak consistency machines.

Xin Liu has updated the pull request incrementally with one additional commit since the last revision:

  Increase reader's counter before creating LogDecoration.

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4257/files
  - new: https://git.openjdk.java.net/jdk/pull/4257/files/5ad232b2..3b2d7636

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4257&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4257&range=01-02

  Stats: 10 lines in 3 files changed: 5 ins; 0 del; 5 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4257.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4257/head:pull/4257

PR: https://git.openjdk.java.net/jdk/pull/4257


More information about the hotspot-runtime-dev mailing list