You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by "Daniel Martin (JIRA)" <de...@velocity.apache.org> on 2007/04/07 09:04:34 UTC
[jira] Updated: (VELOCITY-203) No upper limit on cached file
handles causes random ResourceLoader exceptions
[ https://issues.apache.org/jira/browse/VELOCITY-203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Martin updated VELOCITY-203:
-----------------------------------
Attachment: breaktexen.xml
The breaktexen.xml ant build script will, on Linux or Solaris, fail with this error message:
[texen] SEVERE: ResourceManager : unable to find resource 'NumFacts.vm' in any resource loader.
This despite the fact that the file exists at that point.
The problem is with a template that holds onto too many open files.
In regular production code where we hit this, we were generating ~ 1500 files through several nested foreach statements.
> No upper limit on cached file handles causes random ResourceLoader exceptions
> -----------------------------------------------------------------------------
>
> Key: VELOCITY-203
> URL: https://issues.apache.org/jira/browse/VELOCITY-203
> Project: Velocity
> Issue Type: Bug
> Components: Texen
> Affects Versions: 1.0-Release
> Environment: Operating System: other
> Platform: Other
> Reporter: Ian Ragsdale
> Assigned To: Velocity-Dev List
> Attachments: breaktexen.xml
>
>
> The Generator class caches filehandles while generating files. There is no
> upper limit on the number of filehandles it will cache, so when generating many
> files with the same generator, it eventually hits the per-process limits on the
> number of open files. This then causes failures in the resource loader because
> it cannot open any more files. I've seen this problem on OS X and Linux, but it
> should be a pretty universal problem.
> You can work around this problem by increasing the number of filehandles
> available to the ant task, but that isn't always easy to do when running it as a
> subtask from an IDE, and it should be fairly simple to implement a basic LRU scheme.
> An alternative fix would be to more accurately report the error - the current
> implementation just throws a ResourceNotFound exception, making it very hard to
> track down the root cause of the error.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org