Bug 78954 - Compiler cannot cope with 4000 jars on the classpath
Summary: Compiler cannot cope with 4000 jars on the classpath
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.2.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Andrew Clement CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-18 10:01 EST by Andrew Clement CLA
Modified: 2004-11-23 11:00 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Clement CLA 2004-11-18 10:01:47 EST
We have a problem when the classpath is extremely long.  This is because bcel,
the weaver itself and the JDT compiler attempt to open all the jars before
commencing processing.  It is possible on windows to run out of file handles if
this is attempted and the compiler blows up with a 'too many files open' type
failure.

I have a fix ready in JDT, the weaver, and BCEL.  In all places we open files on
demand and we also manage the pool of open ones - if you exceed the limit on
open jars then it will close a few before opening any more.  This limit will be
configurable through a property.
Comment 1 Andrew Clement CLA 2004-11-23 11:00:49 EST
Fixes all in.

Fixed the Classpath management code in BCEL and in JDT to manage a list of open
archives, defaults to a max of 1000 but can be set higher through the property:
  org.aspectj.weaver.openarchives 

Also made archive opening lazy in all cases.

Build complete, fix available:
BUILD COMPLETE -  build.398
Date of build: 11/23/2004 13:38:32
Time to build: 116 minutes 4 seconds
Last changed: 11/23/2004 13:07:43
Last log entry: Final !! fixes for Bug 78954: Compiler cannot cope with 4000
jars on the classpath- Includes the modified JDT classes.
Latest good AspectJ jar available at:
download.eclipse.org/technology/ajdt/dev/aspectj-DEVELOPMENT.jar