-
Bug
-
Resolution: Fixed
-
P4
-
17, 18
-
b15
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8277292 | 17.0.3-oracle | Aleksey Shipilev | P4 | Resolved | Fixed | b01 |
JDK-8277199 | 17.0.2 | Aleksey Shipilev | P4 | Resolved | Fixed | b05 |
$ CONF=linux-x86_64-zero-fastdebug make exploded-test TEST=runtime/Monitor/SyncOnValueBasedClassTest.java
STDERR:
stdout: [];
stderr: [Exception in thread "main" java.lang.RuntimeException: synchronization on value based class did not fail
at SyncOnValueBasedClassTest$FatalTest.main(SyncOnValueBasedClassTest.java:128)
]
exitValue = 1
java.lang.RuntimeException: 'fatal error: Synchronizing on object' missing from stdout/stderr
Template interpreters implement this check by going to to slowpath that calls InterpreterRuntime::monitorenter. Zero already goes to that path when UseHeavyMonitors is enabled, so we might just enable it when lock diagnostics is requested. This would cost us zero (pun intended) when diagnostic option is disabled.
- backported by
-
JDK-8277199 Zero: Handle DiagnoseSyncOnValueBasedClasses VM option
- Resolved
-
JDK-8277292 Zero: Handle DiagnoseSyncOnValueBasedClasses VM option
- Resolved
- relates to
-
JDK-8273489 Zero: Handle UseHeavyMonitors on all monitorenter paths
- Resolved
-
JDK-8288282 Zero-release build is broken after JDK-8279047 due to UseHeavyMonitors is read-only
- Resolved
-
JDK-8257027 [JEP 390] Diagnose synchronization on @ValueBased classes
- Resolved
- links to
-
Commit openjdk/jdk17u/1d11bcd9
-
Commit openjdk/jdk/86a8e552
-
Review openjdk/jdk17u/154
-
Review openjdk/jdk17u/209
-
Review openjdk/jdk/5412