[
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: [email protected]
For additional commands, e-mail: [email protected]