JDK-8233023 : assert(Opcode() == mem->Opcode() || phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw) failed: no mismatched stores, except on raw memory
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: openjdk8u232
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2019-10-25
  • Updated: 2020-01-28
  • Resolved: 2020-01-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
openjdk8u252 b01Fixed
Related Reports
Relates :  
Description
Apache spark workloads fail on JDK 8u dev tree on fastdebug with:

#  Internal Error (/disk/openjdk/upstream-sources/openjdk8u-dev/hotspot/src/share/vm/opto/memnode.cpp:2487), pid=311486, tid=0x00007f75e39f9700
#  assert(Opcode() == mem->Opcode() || phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw) failed: no mismatched stores, except on raw memory

Reproducer:

$ wget
https://github.com/renaissance-benchmarks/renaissance/releases/download/v0.9.0/renaissance-mit-0.9.0.jar
$ java -jar renaissance-mit-0.9.0.jar dec-tree -r 5
====== dec-tree (apache-spark), iteration 0 started ======
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/memnode.cpp:2489
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/shade/trunks/jdk8u-dev/hotspot/src/share/vm/opto/memnode.cpp:2489),
pid=10910, tid=0x00007ff7a84d8700
#  assert(Opcode() == mem->Opcode() || phase->C->get_alias_index(adr_type()) ==
Compile::AliasIdxRaw) failed: no mismatched stores, except on raw memory
#
# JRE version: OpenJDK Runtime Environment (8.0) (build
1.8.0-internal-fastdebug-shade_2019_10_25_11_31-b00)
# Java VM: OpenJDK 64-Bit Server VM (25.71-b00-fastdebug mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c
unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/shade/trunks/jdk8u-dev/hs_err_pid10910.log
#
# Compiler replay data is saved as:
# /home/shade/trunks/jdk8u-dev/replay_pid10910.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
Comments
URL: https://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/rev/127e100fb80e User: andrew Date: 2020-01-28 03:31:16 +0000
28-01-2020

See JDK-8236719 for a link to the fix.
07-01-2020

Fix Request (OpenJDK 8u): Please approve this 8u-only fix. The issue only surfaces for fastdebug JVMs. Product builds are not affected. The fix is to complete the backport and amend the assert condition. Patch has been reviewed by Paul Hohensee and Roland Westrelin. webrev: http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8233023/02/webrev/ RFR: http://mail.openjdk.java.net/pipermail/jdk8u-dev/2019-October/010522.html
06-11-2019

Seems to only affect verification code. Hence, I've lowered priority.
29-10-2019

Originally reported here: http://mail.openjdk.java.net/pipermail/jdk8u-dev/2019-October/010497.html It looks like there was a piece missing in the backport for JDK-8140309: @@ -2393,7 +2400,8 @@ st->Opcode() == Op_StoreVector || Opcode() == Op_StoreVector || phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw || - (Opcode() == Op_StoreL && st->Opcode() == Op_StoreI), // expanded ClearArrayNode + (Opcode() == Op_StoreL && st->Opcode() == Op_StoreI) || // expanded ClearArrayNode + (is_mismatched_access() || st->as_Store()->is_mismatched_access()), "no mismatched stores, except on raw memory: %s %s", NodeClassNames[Opcode()], NodeClassNames[st->Opcode()]); if (st->in(MemNode::Address)->eqv_uncast(address) &&
25-10-2019