[ 
https://issues.apache.org/jira/browse/IO-764?focusedWorklogId=752467&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-752467
 ]

ASF GitHub Bot logged work on IO-764:
-------------------------------------

                Author: ASF GitHub Bot
            Created on: 04/Apr/22 19:35
            Start Date: 04/Apr/22 19:35
    Worklog Time Spent: 10m 
      Work Description: garydgregory commented on code in PR #343:
URL: https://github.com/apache/commons-io/pull/343#discussion_r842076125


##########
src/test/java/org/apache/commons/io/IOUtilsTest.java:
##########
@@ -1643,5 +1644,19 @@ public void testToString_URL_CharsetName() throws 
Exception {
     public void testToString_URL_CharsetNameNull() throws Exception {
         testToString_URL(null);
     }
+    
+    @Test
+    public void testBigString() throws IOException {
+       String foo = StringUtils.repeat("\uD83D", (Integer.MAX_VALUE)/2-1);

Review Comment:
   > No shared CI will provide you these resources.
   
   Hi @michael-o 
   I wrote a different version of the test that is less resource-intensive and 
more lenient. See git master. The main code is still broken though.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 752467)
    Time Spent: 1h  (was: 50m)

> IOUtils.write() throws OutOfMemoryError/NegativeArraySizeException while 
> writing big strings
> --------------------------------------------------------------------------------------------
>
>                 Key: IO-764
>                 URL: https://issues.apache.org/jira/browse/IO-764
>             Project: Commons IO
>          Issue Type: Bug
>    Affects Versions: 2.11.0
>            Reporter: David Georg Reichelt
>            Assignee: Gary D. Gregory
>            Priority: Critical
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> Currently, if I try to write a sufficiently big to a stream, IOUtils.write 
> fails:
> {code:java}
> java.lang.NegativeArraySizeException: -1283060862
> at java.base/java.lang.StringCoding.encodeUTF8(StringCoding.java:904)
> at java.base/java.lang.StringCoding.encode(StringCoding.java:449)
> at java.base/java.lang.String.getBytes(String.java:964)
> at org.apache.commons.io.IOUtils.write(IOUtils.java:3251)
> at org.apache.commons.io.FileUtils.writeStringToFile(FileUtils.java:3541)
> at 
> org.apache.commons.io.FileUtils.writeStringToFile(FileUtils.java:3524){code}
> The reason for this is that getBytes does not support Strings with this size. 
> This should be fixed.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to