@@ -111,6 +111,52 @@ Clusters with a Gold or Platinum license that are upgrading to 6.3 will need to
111111`xpack.security.enabled: true` in `elasticsearch.yml` to upgrade successfully.
112112If this value is not set, the cluster will be unable to form after upgrade.
113113
114+ [IMPORTANT]
115+ .Known issue with Elasticsearch 6.3.x on JDK 10
116+ ======================================================
117+
118+ There appears to be a bug in JDK 10 impacting Elasticsearch 6.3.x (note that the
119+ official Docker images are based on JDK 10). The issue appears to impact the C2
120+ compiler on hardware that supports
121+ https://en.wikipedia.org/wiki/AVX-512[AVX-512 instructions] (e.g., Skylake-X
122+ CPUs). The issue manifests as a segmentation fault in Java code executing
123+ `org.apache.lucene.util.MergedIterator#pullTop`:
124+
125+ [source,txt]
126+ ----
127+ #
128+ # A fatal error has been detected by the Java Runtime Environment:
129+ #
130+ # SIGSEGV (0xb) at pc=0x00007fc7ebc050eb, pid=1, tid=151
131+ #
132+ # JRE version: OpenJDK Runtime Environment (10.0.1+10) (build 10.0.1+10)
133+ # Java VM: OpenJDK 64-Bit Server VM (10.0.1+10, mixed mode, tiered, compressed oops, concurrent mark sweep gc, linux-amd64)
134+ # Problematic frame:
135+ # J 14088 c2 org.apache.lucene.util.MergedIterator.pullTop()V (135 bytes) @ 0x00007fc7ebc050eb [0x00007fc7ebc041e0+0x0000000000000f0b]
136+ ----
137+
138+ or executing `org.apache.lucene.util.MergedIterator#pushTop`:
139+
140+ [source,txt]
141+ ----
142+ #
143+ # A fatal error has been detected by the Java Runtime Environment:
144+ #
145+ # SIGSEGV (0xb) at pc=0x00007f8c43de5371, pid=1, tid=140
146+ #
147+ # JRE version: OpenJDK Runtime Environment (10.0.1+10) (build 10.0.1+10)
148+ # Java VM: OpenJDK 64-Bit Server VM (10.0.1+10, mixed mode, tiered, compressed oops, concurrent mark sweep gc, linux-amd64)
149+ # Problematic frame:
150+ # J 13039 c2 org.apache.lucene.util.MergedIterator.pushTop()V (92 bytes) @ 0x00007f8c43de5371 [0x00007f8c43de4c40+0x0000000000000731]
151+ ----
152+
153+ A workaround is to disable the C2 compiler from using AVX-512 instructions via
154+ the <<jvm-options,JVM option>> `-XX:UseAVX=2`. This issue has been taken
155+ upstream to the JDK maintainers and the workaround will be necessary until a
156+ version of the JDK that is not prone to this issue is released. For additional
157+ background, see {issue}31425[#31425].
158+
159+ +
114160Also see <<breaking-changes-6.3>>.
115161
116162[[breaking-6.3.0]]
0 commit comments