Comments (3)
I took a quick look at this failure, and I believe it's a duplicate of issue #18777. @a7ehuo, may I ask you to confirm that?
from openj9.
@hzongaro fyi
from openj9.
the optimization corresponding to LastOptIndex is partialRedundancyElimination, which is similar to #18777, but it is not the same LastOptIndex.
Different method compiled at different optLevel can have different optimization index.
I'm not able to reproduce this issue locally but I took a look at jit.log.478608.14881.20240306.164801.478608.log. After deadTreeElimination, the volatile load of the field Test.b
n42n
is buried under a store node: lstorei
n47n
. This looks the same issue as #18777: there are two side effects under one treetop, which could potentially cause confusion/incorrectness in other passes of the optimizations.
n32n BBStart <block_6> (freq 5534) [0x7effd4dbe2d0] bci=[-1,19,20] rc=0 vc=115 vn=- li=-1 udi=- nc=0
n43n treetop [0x7effd4dbe640] bci=[-1,30,20] rc=0 vc=115 vn=- li=-1 udi=- nc=1
n40n l2f [0x7effd4dbe550] bci=[-1,28,20] rc=2 vc=116 vn=- li=- udi=- nc=1
n39n lsub [0x7effd4dbe500] bci=[-1,27,20] rc=1 vc=116 vn=- li=- udi=- nc=2
n36n lconst 5 (highWordZero X!=0 X>=0 ) [0x7effd4dbe410] bci=[-1,20,20] rc=1 vc=116 vn=- li=- udi=- nc=0 flg=0x4104
n38n lloadi Test.g J[#428 Shadow +8] [flags 0x604 0x0 ] (cannotOverflow ) [0x7effd4dbe4b0] bci=[-1,24,20] rc=1 vc=116 vn=- li=- udi=- nc=1 flg=0x1000
n37n aload <'this' parm LTest;>[#422 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 ) [0x7effd4dbe460] bci=[-1,23,20] rc=1 vc=116 vn=- li=- udi=- nc=0 flg=0x104
n44n treetop [0x7effd4dbe690] bci=[-1,30,20] rc=0 vc=117 vn=- li=-1 udi=- nc=1
n42n floadi Test.b F[#429 volatile Shadow +28] [flags 0x2605 0x0 ] [0x7effd4dbe5f0] bci=[-1,30,20] rc=2 vc=117 vn=- li=- udi=- nc=1
n41n aload <'this' parm LTest;>[#422 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 ) [0x7effd4dbe5a0] bci=[-1,29,20] rc=1 vc=116 vn=- li=- udi=- nc=0 flg=0x104
n304n treetop [0x7effd4e3dec0] bci=[-1,33,20] rc=0 vc=0 vn=- li=- udi=- nc=1
n45n fadd [0x7effd4dbe6e0] bci=[-1,33,20] rc=2 vc=116 vn=- li=1 udi=- nc=2
n40n ==>l2f
n42n ==>floadi
n47n lstorei Test.g J[#428 Shadow +8] [flags 0x604 0x0 ] [0x7effd4dbe780] bci=[-1,35,20] rc=0 vc=115 vn=- li=-1 udi=- nc=2
n35n aload <'this' parm LTest;>[#422 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 ) [0x7effd4dbe3c0] bci=[-1,19,20] rc=1 vc=115 vn=- li=- udi=- nc=0 flg=0x104
n46n f2l [0x7effd4dbe730] bci=[-1,34,20] rc=1 vc=115 vn=- li=- udi=- nc=1
n45n ==>fadd
...
...
<optimization id=34 name=deadTreesElimination method=Test.l()V>
Performing 34: deadTreesElimination
O^O DEAD TREES ELIMINATION: it is safe to remove volatile field load tree n42n
...
...
n32n BBStart <block_6> (freq 5534) [0x7effd4dbe2d0] bci=[-1,19,20] rc=0 vc=200 vn=- li=-1 udi=- nc=0
n43n treetop [0x7effd4dbe640] bci=[-1,30,20] rc=0 vc=200 vn=- li=-1 udi=- nc=1
n40n l2f [0x7effd4dbe550] bci=[-1,28,20] rc=2 vc=200 vn=- li=- udi=- nc=1
n39n lsub [0x7effd4dbe500] bci=[-1,27,20] rc=1 vc=200 vn=- li=- udi=- nc=2
n36n lconst 5 (highWordZero X!=0 X>=0 ) [0x7effd4dbe410] bci=[-1,20,20] rc=1 vc=200 vn=- li=- udi=- nc=0 flg=0x4104
n38n lloadi Test.g J[#428 Shadow +8] [flags 0x604 0x0 ] (cannotOverflow ) [0x7effd4dbe4b0] bci=[-1,24,20] rc=1 vc=200 vn=- li=- udi=- nc=1 flg=0x1000
n37n aload <'this' parm LTest;>[#422 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 ) [0x7effd4dbe460] bci=[-1,23,20] rc=1 vc=200 vn=- li=- udi=- nc=0 flg=0x104
n47n lstorei Test.g J[#428 Shadow +8] [flags 0x604 0x0 ] [0x7effd4dbe780] bci=[-1,35,20] rc=0 vc=200 vn=- li=-1 udi=- nc=2
n35n aload <'this' parm LTest;>[#422 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 ) [0x7effd4dbe3c0] bci=[-1,19,20] rc=1 vc=200 vn=- li=- udi=- nc=0 flg=0x104
n46n f2l [0x7effd4dbe730] bci=[-1,34,20] rc=1 vc=200 vn=- li=- udi=- nc=1
n45n fadd [0x7effd4dbe6e0] bci=[-1,33,20] rc=1 vc=200 vn=- li=- udi=- nc=2
n40n ==>l2f
n42n floadi Test.b F[#429 volatile Shadow +28] [flags 0x2605 0x0 ] [0x7effd4dbe5f0] bci=[-1,30,20] rc=1 vc=200 vn=- li=- udi=- nc=1
n41n aload <'this' parm LTest;>[#422 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 ) [0x7effd4dbe5a0] bci=[-1,29,20] rc=1 vc=200 vn=- li=- udi=- nc=0 flg=0x104
from openj9.
Related Issues (20)
- CryptoTests SecureRandomTests getSeedBytes() timeout HOT 2
- jdk_container_0_FAILED jdk/internal/platform/docker/TestLimitsUpdating.java OCI runtime error: the requested cgroup controller `cpu` is not available HOT 1
- jdk_container_0_FAILED jdk/internal/platform/docker/TestGetFreeSwapSpaceSize.java RuntimeException: OperatingSystemMXBean.getTotalSwapSpaceSize() reported 6392111104 expected 0 HOT 3
- jdk_container_0_FAILED Error: invalid configuration, cannot specify resource limits without cgroups v2 and --cgroup-manager=systemd HOT 4
- Unhandled exceptions when running Renaissance akka-uct benchmark with disableTreeSimplification HOT 2
- sanity.functional can't delete cmdLineTester_criu_nonPortableRestore HOT 7
- jdk_util_1_FAILED java/util/concurrent/tck/JSR166TestCase.java#forkjoinpool-common-parallelism Segmentation error vmState=0x000501ff HOT 3
- JDK22 serviceability_jvmti_j9_1_FAILED serviceability/jvmti/vthread/VThreadEventTest/VThreadEventTest.java FAILED: event count is wrong HOT 1
- threadMXBeanTestSuite1_7_FAILED Segmentation error vmState=0x00051dff HOT 4
- Ubuntu 24_04 testSCCMLTests1_openj9_0_FAILED Cannot remove shared cache "ShareClassesCMLTests" as there are JVMs still attached to the cache HOT 5
- openJcePlusTests_0_FAILED timed out at runCurveMixTest HOT 6
- Unload stale package entries from classHashTable
- jvmti/vthread/GetThreadStateMountedTest/GetThreadStateMountedTest JVMTI_THREAD_STATE_WAITING_INDEFINITELY JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT some mandatory bits are not set HOT 11
- OpenJDK jdk_security4 crash vmState=0x000522ff HOT 1
- JDK22 openJcePlusTests_0_FAILED Running gcm_oneReadByteCorrupt test Fail. No exception thrown. HOT 6
- JDK22 serviceability_jvmti_j9_1_FAILED serviceability/jvmti/vthread/GetThreadStateMountedTest/GetThreadStateMountedTest.java JVMTI_THREAD_STATE_WAITING_INDEFINITELY - FAILED HOT 1
- JIT: Unsafe putByte/putShort/putChar must narrow store to appropriate size HOT 1
- JDK head requires java.lang.Access.allowSecurityManager()
- Can't build Windows HOT 3
- CRIU pie: 19618: Error (criu/pie/restorer.c:1839): prctl failed @1839 with -1 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openj9.