-
Enhancement
-
Resolution: Fixed
-
P4
-
None
-
b07
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8202807 | 10u-cpu | Aleksey Shipilev | P4 | Resolved | Fixed | master |
JDK-8202734 | 10.0.2 | Aleksey Shipilev | P4 | Resolved | Fixed | b06 |
JDK-8202530 | 10u-open | Aleksey Shipilev | P4 | Resolved | Fixed | master |
This issue covers the potential issue with MH_* strategies in StringConcatFactory that may end up calling toString() on arguments in wrong order. Non MH-strategies appear fine. See the evidence in the wild here:
https://www.guardsquare.com/en/blog/string-concatenation-java-9-conversion-confusion
This issue adds the relevant test for String concatenation. JDK 10 fails this new test. JDK 11+ passes the test, because the actual bug isJDK-8194554, which is fixed. In other words, StringConcatFactory implementation is actually correct, and it expects filterArguments to run in the specified order. Selectively applying fix from JDK-8194554 to JDK 10 makes it pass.
https://www.guardsquare.com/en/blog/string-concatenation-java-9-conversion-confusion
This issue adds the relevant test for String concatenation. JDK 10 fails this new test. JDK 11+ passes the test, because the actual bug is
- backported by
-
JDK-8202530 [TESTBUG] String concat tests should test toString() application order
-
- Resolved
-
-
JDK-8202734 [TESTBUG] String concat tests should test toString() application order
-
- Resolved
-
-
JDK-8202807 [TESTBUG] String concat tests should test toString() application order
-
- Resolved
-
- is blocked by
-
JDK-8194554 filterArguments runs multiple filters in the wrong order
-
- Resolved
-
- relates to
-
JDK-8200241 [TESTBUG] java/lang/String/concat/ tests should not force source/target = 9 anymore
-
- Resolved
-