← Back to team overview

openjdk team mailing list archive

Bug#952668: openjdk-11-jre-headless fails to install in buster, Fatal Error in Frame v ~StubRoutines::call_stub

 

The crash happens here:

   0:   c5 f8 ae 5d a0          vstmxcsr -0x60(%rbp)
   5:   8b 45 a0                mov    -0x60(%rbp),%eax
   8:   81 e0 c0 ff 00 00       and    $0xffc0,%eax
   e:   3b 05 06 6c f2 1d       cmp    0x1df26c06(%rip),%eax        # 0x1df26c1a
  14:   0f 84 08 00 00 00       je     0x22
  1a:   c5 f8 ae 15 f8 6b f2    vldmxcsr 0x1df26bf8(%rip)        # 0x1df26c1a

It's probably the first VEX-encoded instruction that is being executed.

> CPU:total 1 (initial active 1) (1 cores per cpu, 1 threads per core) family 6 model 85 stepping 4, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, aes, clmul, 3dnowpref, tsc, tscinvbit
> CPU Model and flags from /proc/cpuinfo:
> model name      : Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz
> flags                      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 movbe popcnt aes hypervisor lahf_lm 3dnowprefetch pti arat

This is obviously not a real CPU (not even with virtualization), it's
a very unusual combination of flags.

I believe this commit

changeset:   52471:643e5a73d48a
user:        vdeshpande
date:        Mon Nov 04 10:12:23 2019 +0100
summary:     8221092: UseAVX=3 has performance degredation on Skylake (X7) processors

unconditionally enables AVX2 for Skylake CPUs, independent of actual
CPU capabilities.

You can likely work around this with -XX:UseAVX=0.