StackOverflowError after upgrading eclipse compiler #3389
Closed
HarryWeppner
started this conversation in
General
Replies: 2 comments 6 replies
-
Interesting question. Could you please share your reproducer, ideally not using any 3rd party library etc? |
Beta Was this translation helpful? Give feedback.
6 replies
-
String template work which involved string concatenation has been removed in 4.34. That would be my guess and with that we can close this issue. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Background
We have a JUnit test intended to give us an early signal if the stack memory usage changes significantly (enough). This test did its job and started failing after upgrading ECJ from 4.27 to 4.33.
After bisecting further, I found that the test started failing with 4.29. That narrowed down the list of commits to 90 (compared to 4.28).
I used
javap -c <class-file>
on several class files for Java classes found on the test's stack trace and compiled them with 4.28 and 4.29. The most glaring change difference was the use ofin
4.29
vs. aStringBuilder.append
chain in4.28
.That led me to #1139 and its implementation of JEP 280: Indify String Concatenation. I used that insight to identify a minimal change to get passing and failing test behavior by setting
org.eclipse.jdt.core.compiler.codegen.useStringConcatFactory
todisabled
andenabled
, respectively.Question
@jarthana , @iloveeclipse, since you were primarily involved in #1139, would you expect a different stack memory usage, or is there a lurking bug?
Beta Was this translation helpful? Give feedback.
All reactions