[
https://issues.apache.org/jira/browse/IO-764?focusedWorklogId=752894&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-752894
]
ASF GitHub Bot logged work on IO-764:
-------------------------------------
Author: ASF GitHub Bot
Created on: 05/Apr/22 13:41
Start Date: 05/Apr/22 13:41
Worklog Time Spent: 10m
Work Description: DaGeRe commented on PR #343:
URL: https://github.com/apache/commons-io/pull/343#issuecomment-1088718744
Thanks for the hints. I've removed my test, added the comments, removed
closing of the channel and fixed the checkstyle problems, and I rebased to
latest master state.
Getting the behaviour by mocking is not possible from my point of view,
because the problem happens when `getBytes` produces an array that is too big
for handling - returning this array from a mocked `getBytes` would result in
the same ressource usage as having it inside a String.
Is this ok from your point of view?
Issue Time Tracking
-------------------
Worklog Id: (was: 752894)
Time Spent: 1h 10m (was: 1h)
> 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 10m
> 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)