[ 
https://issues.apache.org/jira/browse/IVY-1197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12917044#action_12917044
 ] 

Mandie Smith commented on IVY-1197:
-----------------------------------

I tried the latest code from SVN trunk and am still seeing the OutOfMemory 
error with both httpclient 3.0 and 3.1.  I've noticed this does not seem to be 
affected by the ANT_OPTS values.  The file I'm trying to publish is almost 
900MB and I have tried using export ANT_OPTS="-Xmx2048m -Xms2048m" and seen no 
change in the results.

Here's the stacktrace:

BUILD FAILED
..... java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOf(Arrays.java:2786)
        at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:94)
        at sun.net.www.http.PosterOutputStream.write(PosterOutputStream.java:61)
        at org.apache.ivy.util.FileUtil.copy(FileUtil.java:181)
        at org.apache.ivy.util.FileUtil.copy(FileUtil.java:160)
        at 
org.apache.ivy.util.url.BasicURLHandler.upload(BasicURLHandler.java:217)
        at 
org.apache.ivy.util.url.URLHandlerDispatcher.upload(URLHandlerDispatcher.java:82)
        at org.apache.ivy.util.FileUtil.copy(FileUtil.java:148)
        at 
org.apache.ivy.plugins.repository.url.URLRepository.put(URLRepository.java:84)
        at 
org.apache.ivy.plugins.repository.AbstractRepository.put(AbstractRepository.java:130)
        at 
org.apache.ivy.plugins.resolver.RepositoryResolver.put(RepositoryResolver.java:234)
        at 
org.apache.ivy.plugins.resolver.RepositoryResolver.publish(RepositoryResolver.java:216)
        at 
org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:281)
        at 
org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:260)
        at 
org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:172)
        at org.apache.ivy.Ivy.publish(Ivy.java:600)
        at org.apache.ivy.ant.IvyPublish.doExecute(IvyPublish.java:311)
        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at 
org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)


Here's the top of the MANIFEST.MF of my ivy.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 17.0-b16 (Sun Microsystems Inc.)
Specification-Title: Apache Ivy with Ant tasks
Specification-Version: 2.2.x-local-20101001163220
Specification-Vendor: Apache Software Foundation
Implementation-Title: org.apache.ivy
Implementation-Version: 2.2.x-local-20101001163220
Implementation-Vendor: Apache Software Foundation
Implementation-Vendor-Id: org.apache
Extension-name: org.apache.ivy
Build-Version: 2.2.x-local-20101001163220
Main-Class: org.apache.ivy.Main



> OutOfMemoryError duriong ivy:publish
> ------------------------------------
>
>                 Key: IVY-1197
>                 URL: https://issues.apache.org/jira/browse/IVY-1197
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0
>            Reporter: Michael Rumpf
>         Attachments: clipboard.txt
>
>
> When publishing a large file, an OutOfMemoryError occurs.
> {code}
> [ivy:publish]         published ppg to 
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
> BUILD FAILED
> /export/build/hudson/jobs/ppg-rcp/workspace/ppg-rcp/com.daimler.ppg.rcp.builder/build-wrapper.xml:152:
>  The following error occurred while executing this line:
> /export/build/hudson/jobs/ppg-rcp/workspace/ppg-rcp/com.daimler.ppg.rcp.builder/build-wrapper.xml:277:
>  java.lang.OutOfMemoryError: Java heap space
>       at java.util.Arrays.copyOf(Arrays.java:2786)
>       at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:94)
>       at sun.net.www.http.PosterOutputStream.write(PosterOutputStream.java:61)
>       at org.apache.ivy.util.FileUtil.copy(FileUtil.java:168)
>       at 
> org.apache.ivy.util.url.BasicURLHandler.upload(BasicURLHandler.java:200)
>       at 
> org.apache.ivy.util.url.URLHandlerDispatcher.upload(URLHandlerDispatcher.java:82)
>       at org.apache.ivy.util.FileUtil.copy(FileUtil.java:140)
>       at 
> org.apache.ivy.plugins.repository.url.URLRepository.put(URLRepository.java:85)
>       at 
> org.apache.ivy.plugins.repository.AbstractRepository.put(AbstractRepository.java:130)
>       at 
> org.apache.ivy.plugins.resolver.RepositoryResolver.put(RepositoryResolver.java:219)
>       at 
> org.apache.ivy.plugins.resolver.RepositoryResolver.publish(RepositoryResolver.java:209)
>       at 
> org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:282)
>       at 
> org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:261)
>       at 
> org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:170)
>       at org.apache.ivy.Ivy.publish(Ivy.java:600)
>       at org.apache.ivy.ant.IvyPublish.doExecute(IvyPublish.java:299)
>       at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
>       at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
>       at sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
>       at org.apache.tools.ant.Task.perform(Task.java:348)
>       at org.apache.tools.ant.Target.execute(Target.java:390)
>       at org.apache.tools.ant.Target.performTasks(Target.java:411)
>       at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
>       at 
> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
>       at org.apache.tools.ant.Project.executeTargets(Project.java:1249)
>       at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
>       at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
>       at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> Total time: 14 minutes 24 seconds
> Finished: FAILURE
> {code}
> The size of the file that is being uploaded is: 687712714, so around 
> 650-700MB.
> The publish task is part of a Hudson Ant build where the artefacts are 
> published to an Artifactory repository at the end.
> I have given the Job 1300MB for the max heap size.
> It seems as if the whole file is loaded into memory for the upload.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to