RFR: 8356152: String.concat can throw StringIndexOutOfBoundsException [v4]
Andrey Turbanov
aturbanov at openjdk.org
Mon May 5 17:14:47 UTC 2025
On Mon, 5 May 2025 17:09:37 GMT, Andrey Turbanov <aturbanov at openjdk.org> wrote:
>> Raffaello Giulietti has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Added language concat + to test.
>
> test/jdk/java/lang/String/concat/HugeConcatTest.java line 38:
>
>> 36: import static org.junit.Assert.assertThrows;
>> 37:
>> 38: public class HugeConcatTest {
>
> I've tried to execute the test with reverting changes in `StringConcatHelper` - it doesn't fail.
> Added logging and actually OOM happened due to heap size:
>
> Reall got OOM: java.lang.OutOfMemoryError: Overflow: String length out of range
> Reall got OOM: java.lang.OutOfMemoryError: Overflow: String length out of range
> Reall got OOM: java.lang.OutOfMemoryError: Java heap space
> Reall got OOM: java.lang.OutOfMemoryError: Java heap space
> Reall got OOM: java.lang.OutOfMemoryError: Java heap space
> Reall got OOM: java.lang.OutOfMemoryError: Java heap space
> Reall got OOM: java.lang.OutOfMemoryError: Overflow: String length out of range
> Reall got OOM: java.lang.OutOfMemoryError: Overflow: String length out of range
> ----------System.err:(13/854)----------
> STARTED HugeConcatTest::testConcat_UTF16_UTF16 'testConcat_UTF16_UTF16()'
> SUCCESSFUL HugeConcatTest::testConcat_UTF16_UTF16 'testConcat_UTF16_UTF16()' [9ms]
> STARTED HugeConcatTest::testConcat_Latin1_UTF16 'testConcat_Latin1_UTF16()'
> SUCCESSFUL HugeConcatTest::testConcat_Latin1_UTF16 'testConcat_Latin1_UTF16()' [657ms]
> STARTED HugeConcatTest::testConcat_UTF16_Latin1 'testConcat_UTF16_Latin1()'
> SUCCESSFUL HugeConcatTest::testConcat_UTF16_Latin1 'testConcat_UTF16_Latin1()' [52ms]
> STARTED HugeConcatTest::testConcat_Latin1_Latin1 'testConcat_Latin1_Latin1()'
> SUCCESSFUL HugeConcatTest::testConcat_Latin1_Latin1 'testConcat_Latin1_Latin1()' [1ms]
>
>
> I think we should validate error message too. Not only fact that it was thrown.
_Really_ fails with Xmx7G
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25038#discussion_r2073836326
More information about the core-libs-dev
mailing list