Sensationalistic topic title is sensationalistic.
Out of interest, what circumstances led you to find it - assuming you don’t spend all day writing random String concatenation routines?
I was rendering the ‘fps’ to the screen in LWJGL:
String s = "Framerate: "+framerate+"fps";
I needed to benchmark the text-rendering performance, so I repeated the text:
s = s + s;
s = s + s;
s = s + s;
After a few thousand frames, I saw this on the screen:
"nullnullFramerate: 60fpsFramerate: 60fps"
and I was like >>> :persecutioncomplex: >>> :o >>> ;D
Good find. Did you fill a report?
yeah, but at the time (about a week ago) i didn’t know that the bug was only triggered with the eclipse compiler. I just found out about that, so i investigated the differences between the bytecode of eclipse and javac. After modifying the sourcecode accordingly, i managed to get the output of javac to crash too. Unfortunately i cannot update my bugreport, so i will probably get a could-not-reproduce within a few weeks.
Hmm that is a pretty serious bug. Wonder why it hasn’t already been spotted?
Cas
the problem is triggered by the empty loop. It’s rather uncommon to have that in your code, so my guess us that hotspot incorrently threats some operations as dead code.
If you were motivated you could always email the report to the hotspot developer mailing list.
Thanks for the suggestion. About an hour ago I received a similar PM from krausest, so I submitted the issue on the mailing list a few minutes ago
OMG, YOU MISSSPELLEDED A WORDZ!
That usually never happens, but when it does, it leaves a phrase.
Whoa, look at all those bugs they’re fixing, and there’s more when you change the ‘bXX’ numbers! Those Java devs are working harder than I thought
yeah it’s almost like they pay people to work on it full-time or something …
yeah it’s almost like they pay people to work on it full-time or something …
Wouldn’t surprise me if most of the fixes come from community soldiers though and not people actually under Oracle employment.