On Tue, 4 Feb 2025 23:02:24 GMT, Shaojin Wen <s...@openjdk.org> wrote:

>> The following code can reproduce the problem, writing out of bounds causes 
>> JVM Crash
>> 
>> 
>>          StringBuilder buf = new StringBuilder();
>>         buf.append('δΈ­');
>> 
>>         Thread[] threads = new Thread[40];
>>         final CountDownLatch latch = new CountDownLatch(threads.length);
>>         Runnable r = () -> {
>>             for (int i = 0; i < 1000000; i++) {
>>                 buf.setLength(0);
>>                 buf.trimToSize();
>>                 buf.append(123456789123456789L);
>>             }
>>             latch.countDown();
>>         };
>> 
>>         for (int i = 0; i < threads.length; i++) {
>>             threads[i] = new Thread(r);
>>         }
>>         for (Thread t : threads) {
>>             t.start();
>>         }
>>         latch.await();
>> 
>> 
>> This problem can be avoided by using the value of ensureCapacityInternal 
>> directly.
>
> Shaojin Wen has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Complete the javadoc

keep alive

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

PR Comment: https://git.openjdk.org/jdk/pull/23427#issuecomment-2708920840

Reply via email to