RFR: 8261731: shallow copy the internal buffer of a scalar-replaced java.lang.String object

Xin Liu xliu at openjdk.java.net
Mon Mar 15 05:58:07 UTC 2021


On Tue, 9 Mar 2021 07:14:13 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

>>> Split.java
>> 
>> hi, @TobiHartmann , 
>> Could you teach me how to trigger crashes for java/lang/String/Split.java and java/lang/management/MemoryMXBean/LowMemoryTest2.sh ? 
>> 
>> I tried different options like "'-ea -esa -XX:CompileThreshold=100' with/without -XComp, -XX:-TieredCompilation. still no luck.
>> or Could you paste a replay file so I can investigate it?
>
> Sure, here are the replay and hs_err files for the Split.java failure:
> [replay_pid5320.log](https://github.com/openjdk/jdk/files/6106543/replay_pid5320.log)
> [hs_err_pid5320.log](https://github.com/openjdk/jdk/files/6106544/hs_err_pid5320.log)
> 
> And for the LowMemoryTest2 failure:
> [replay_pid18829.log](https://github.com/openjdk/jdk/files/6106550/replay_pid18829.log)
> [hs_err_pid18829.log](https://github.com/openjdk/jdk/files/6106551/hs_err_pid18829.log)
> 
> It seems like the failures are very intermittent though :(

hi, @TobiHartmann , 
Could you try out the latest version 94626e8? I haven't  reproduced the error from the two replay files.  My best guess is that both of them crashed because of some special nodes which are subclasses of StrIntrinsicNode. I only handled the case StrEqualsNode before. This patch handles them.  It also dumps the unknown node to tty in case it still meets unknown code shape.

-------------

PR: https://git.openjdk.java.net/jdk/pull/2570


More information about the hotspot-compiler-dev mailing list