Hi Roy, I'm not sure what you are using to create these stacktraces and what they are telling me. Could you try to give some more detail so that I can reproduce them?
That said, we do have some way to limit open zip files using the "felix.cache.filelimit" property (see [0]). I think that might be what you want - however, if you have a way to reproduce the above and there are two open files I would still be interested in knowing about it... regards, Karl [0] http://felix.apache.org/documentation/subprojects/apache-felix-framework/apache-felix-framework-configuration-properties.html#framework-configuration-properties On Fri, Sep 18, 2020 at 4:26 PM Roy Teeuwen <r...@teeuwen.be> wrote: > > Hey Devs, > > I am investigating why our application is sometimes going over the open file > limit of the linux servers we are on, and one of the things I have noticed so > far is that felix actually has an open file for every bundle twice! An > example here is given. It seems that the java.util.zip.ZipFile always has two > open files. > > Is this something that is known? Could there be anything done to fix this so > that it’s at least only one open file per bundle? Our application has 800 > bundles => 1600 open files goes to the bundles alone, not counting the > embedded jars that also count as an extra open file (which would result to > 2200 open files if you cound those too) > > Greets, > Roy > > #1648 /opt/application/launchpad/felix/bundle339/version0.0/bundle.jar by > thread:main on Fri Sep 18 16:09:01 CEST 2020 > at > java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:216) > at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1271) > at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1237) > at > java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:727) > at > java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844) > at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247) > at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177) > at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:191) > at > org.apache.felix.framework.util.SecureAction.openZipFile(SecureAction.java:651) > at > org.apache.felix.framework.util.WeakZipFileFactory$WeakZipFile.<init>(WeakZipFileFactory.java:169) > at > org.apache.felix.framework.util.WeakZipFileFactory$WeakZipFile.<init>(WeakZipFileFactory.java:151) > at > org.apache.felix.framework.util.WeakZipFileFactory.create(WeakZipFileFactory.java:78) > at > org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:83) > at > org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:793) > at > org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:480) > at > org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:215) > at > org.apache.felix.framework.cache.BundleCache.getArchives(BundleCache.java:432) > at org.apache.felix.framework.Felix.init(Felix.java:787) > at org.apache.felix.framework.Felix.init(Felix.java:641) > at org.apache.sling.launchpad.base.impl.Sling.init(Sling.java:347) > at org.apache.sling.launchpad.base.impl.Sling.<init>(Sling.java:212) > at > org.apache.sling.launchpad.base.app.MainDelegate$1.<init>(MainDelegate.java:180) > at > org.apache.sling.launchpad.base.app.MainDelegate.start(MainDelegate.java:180) > at org.apache.sling.launchpad.app.Main.doStart(Main.java:411) > at org.apache.sling.launchpad.app.Main.doStart(Main.java:347) > at org.apache.sling.launchpad.app.Main.main(Main.java:135) > > > #1370 /opt/application/launchpad/felix/bundle339/version0.0/bundle.jar by > thread:main on Fri Sep 18 16:09:01 CEST 2020 > at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:178) > at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:191) > at > org.apache.felix.framework.util.SecureAction.openZipFile(SecureAction.java:651) > at > org.apache.felix.framework.util.WeakZipFileFactory$WeakZipFile.<init>(WeakZipFileFactory.java:169) > at > org.apache.felix.framework.util.WeakZipFileFactory$WeakZipFile.<init>(WeakZipFileFactory.java:151) > at > org.apache.felix.framework.util.WeakZipFileFactory.create(WeakZipFileFactory.java:78) > at > org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:83) > at > org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:793) > at > org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:480) > at > org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:215) > at > org.apache.felix.framework.cache.BundleCache.getArchives(BundleCache.java:432) > at org.apache.felix.framework.Felix.init(Felix.java:787) > at org.apache.felix.framework.Felix.init(Felix.java:641) > at org.apache.sling.launchpad.base.impl.Sling.init(Sling.java:347) > at org.apache.sling.launchpad.base.impl.Sling.<init>(Sling.java:212) > at > org.apache.sling.launchpad.base.app.MainDelegate$1.<init>(MainDelegate.java:180) > at > org.apache.sling.launchpad.base.app.MainDelegate.start(MainDelegate.java:180) > at org.apache.sling.launchpad.app.Main.doStart(Main.java:411) > at org.apache.sling.launchpad.app.Main.doStart(Main.java:347) > at org.apache.sling.launchpad.app.Main.main(Main.java:135) -- Karl Pauls karlpa...@gmail.com