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