[ 
https://issues.apache.org/jira/browse/VELOCITY-886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16195205#comment-16195205
 ] 

ventsy velev commented on VELOCITY-886:
---------------------------------------

I looked at the source code - ASTIntegerRange does exactly what the name 
suggests - returns a range of integers. In this case it allocates 67 million 
ints and loops over them initializing them with values 0 - 67million. It 
appears that the out of memory exception is not handled correctly. 

> Loop causes OutOfMemoryError exception
> --------------------------------------
>
>                 Key: VELOCITY-886
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-886
>             Project: Velocity
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: 1.7
>         Environment: Windows 7 OS. Java -Xms1024m -Xmx1024m
>            Reporter: ventsy velev
>              Labels: exception-handling, perfomance
>         Attachments: velocityError.png
>
>
> The following template will cause an out of memory exception. 
> #foreach($i in [0..67000000])
> #if($i == 0)
> hi
> #end
> #end
> I'm not sure why this happens as it's only a loop that only produces output 
> on the first iteration. 
> The same loop works fine if I reduce the number of iterations by 1 order of 
> magnitude.
> The engine fails hard and no output is produced.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org

Reply via email to