[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] [URGENT] Indigo bug causes framework to keep bundle file handles open for lifetime of framework instance.

+1 for fixing.
Especially that it will make it looks like it is p2's fault when failing to restart after an update.

On 2011-06-13, at 5:42 PM, Thomas Watson wrote:

Please see bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=349105

There has been a regression in the Equinox framework with respect to the file handles it keeps open for each installed bundle. In Helios the framework defaulted to keeping at most 100 bundle jar files open at a time. In Indigo a bug has been introduced that basically disables this functionality and causes the framework to keep every bundle jar file which gets something loaded from it to be left open until the framework is shutdown.

This mostly effects platforms like Linux where the ulimit (number of files a process can have open at a time) is limited. I have been told that some common Linux distributions limit this to 1024 by default. The result is that the platform will not be able to start successfully the first time if there are over 1000 bundles installed. This is because the framework must open every bundle jar to parse its manifest and then the jar file is left open until the framework shuts down. The bug is rather severe, but there is a work around on some systems by increasing the ulimit. I am not sure if that is always feasible and it is far from obvious to the typical user.

We have started a build of the eclipse/equinox in preparation incase we decide that this must be fixed for the Indigo release. Let me emphasize the statement that "we must decide" if this is important enough to fix for Indigo. The Equinox and Eclipse project leadership is asking for input on the need to fix this in Indigo and the ability for others to react in time to consume the fix. For example, I know all the EPPs will have to be respun. I am fairly certain other projects will have to respin if they have prebuilt targets that they deliver with their tools. For example, I think RAP falls into this category and perhaps Riena. If these projects cannot react in time then we may have no choice but to wait for SR1 to fix.


cross-project-issues-dev mailing list