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

Tilman Hausherr edited comment on PDFBOX-6120 at 12/15/25 10:23 AM:
--------------------------------------------------------------------

the jdk is pretty recent. My own test was on Windows. I just tested on a linux 
system with Temurin-17.0.15+6 with -Xmx2g and it works fine. After a bit of 
searching I also found an AdoptOpenJdk system 1.8.0_292 and the test was also 
successful. I also added a trace to see whether the input file gets closed and 
yes it does.


was (Author: tilman):
the jdk is pretty recent. My own test was on Windows. I just tested on a linux 
system with Temurin-17.0.15+6 with -Xmx2g and it works fine. After a bit of 
searching I also found an AdoptOpenJdk system 1.8.0_292 and the test XXXXXXX 
(ongoing). I also added a trace to see whether the input file gets closed and 
yes it does.

> PreflightParser .validate leads to "Too many open files"
> --------------------------------------------------------
>
>                 Key: PDFBOX-6120
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-6120
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Preflight
>    Affects Versions: 3.0.6 PDFBox
>            Reporter: Théo Lenoble
>            Priority: Major
>
> Hi from France,
> Hope my english will be clear enough to explain what we encounter :D
> We use org.apache.pdfbox:preflight:3.0.6, calling static method 
> PreflightParser.validate we encounter "Too many open files" issues.
> We solved it locally by extending PreflightParser, implementing Closeable 
> interface and overriding validate function.
> Exemple of our solution :
> {code:java}
> public class CustomPreflightParser extends PreflightParser implements 
> Closeable {
>   public static ValidationResult validate(File file) throws IOException {
>     ValidationResult result;
>     try(
>       // we move PreflightParser initialisation here
>       CustomPreflightParser parser = new CustomPreflightParser(file);
>       PreflightDocument document = (PreflightDocument) parser.parse()
>     ) {
>       result = document.validate();
>     }
>     catch (SyntaxValidationException e)
>     {
>       result = e.getResult();
>     }
>     return result;
>   }
>   @Override
>   public void close() {
>     IOUtils.closeQuietly( this.source );
>     IOUtils.closeQuietly( this.document );
>     // May be missing close ressources, seems to be enought for us
>   }
> }
> {code}
> We didn't spend more time on it so may be there is a better solution ?
> We wanted to share it with you in case you validate the issue and provide a 
> proper fix.
> And may be it could help other to avoid having the same issue (or have a 
> quick imperfect solution).
> Hope this could help :)
> Regards,
> Théo Lenoble



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to