On Aug 7, 2020, at 2:35 PM, John Rose <john.r.r...@oracle.com> wrote: > > (Here’s a tidbit of JMM politics: I once heard Doug Lea > considering whether maybe all fields should be treated > more like final fields. I don’t know if this is still a live > idea, but it would make this bug go way, since nearly all > constructors would then get fences of some sort.)
Paul helpfully pointed me at Aleksey’s excellent description and investigation of this proposal, which I had forgotten about: https://shipilev.net/blog/2014/all-fields-are-final/ https://bugs.openjdk.java.net/browse/JDK-8031818 The JVM flag -XX:+AlwaysSafeConstructors might be useful to enable this proposed feature and see if it suppresses the bug. (Don’t forget to unlock.) Looks like the conversation is stalled, pending further insights and problem fixes. I had an idea for fixing one of the problems with chained constructors, commented on JDK-8032218. — John