They are not part of standard GC, therefore permanent.
They are owned by their classloader, only if the classloader is
destroyed then the objects are dropped.

--heinz

On 8/31/06, Jason Dillon <[EMAIL PROTECTED]> wrote:
Um... then what does Perm stand for?

--jason


On Aug 30, 2006, at 11:24 PM, Heinz Drews wrote:

> MaxPermSize specifies the amount of space used for class and method
> objects.
> Creating classes dynamically e.g. proxies, using cglib or other
> dynamic byte code enhancers require more space than the default.
> The Sun document explicitly names JSP implementations as culprits for
> running out of space.
>
> Seems that we have to monitor the value for the runtime also.
>
> The parameter is used by the Sun JVM on all platforms.  But they might
> be different default values.  I could not find the default value
> documented.
>
> --heinz
>
>
> On 8/31/06, Jason Dillon <[EMAIL PROTECTED]> wrote:
>> I still dunno what -XXMaxPermSize does... will this wok on all
>> JVM's?  Or is this just for windows.
>>
>> I notice that someone updated the wiki to show this... I think we may
>> need to have an example for Windows and an example for others... as
>> I've never needed to set this... and it appears that the Mac OS X JVM
>> does not recognize it either.
>>
>> Anyone know if this is Windows specific?
>>
>> --jason
>>
>>
>> On Aug 30, 2006, at 10:49 PM, Heinz Drews wrote:
>>
>> > If it would be my OS I would have enough money to produce a better
>> > one :-)
>> >
>> > In my case was jspc 1.4.5-SNAPSHOT and increasing MaxPermSize was
>> > the remedy.
>> >
>> > --Heinz
>> >
>> > On 8/31/06, Jason Dillon <[EMAIL PROTECTED]> wrote:
>> >> I'm not offended... well, not by your email at least... your os...
>> >> well that is another story :-P
>> >>
>> >> Hopefully we will have the magic recipe for building on windows
>> soon.
>> >>
>> >> --jason
>> >>
>> >>
>> >> On Aug 30, 2006, at 10:01 PM, Heinz Drews wrote:
>> >>
>> >> > Please don't see my comments as offense.
>> >> > They are born from frustration.  It seemed that build has been
>> >> > promoted from being the way to being the destination.
>> >> >
>> >> > For me it seems that setting MaxPermSize is helping a lot.
>> >> > The situation that the total process stopped because of a
>> >> failing test
>> >> > has not happened again.
>> >> >
>> >> > Just finished a successful build using bootstrap under WinXP.
>> >> >
>> >> > --Heinz
>> >> >
>> >> > On 8/31/06, Jason Dillon <[EMAIL PROTECTED]> wrote:
>> >> >> To clarify... the move of the downloaded sources to target/
>> >> external
>> >> >> was intended, as I did want to make sure that mvn clean removed
>> >> >> them.  These sources are not intended to be modified by hand.
>> >> >> Anything that you end up having problems with need to make it
>> >> back to
>> >> >> those repositories as changes, so that bootstrap by itself
>> >> >> functions.  This is not a problem with bootstrap, but a problem
>> >> with
>> >> >> those dependent projects in addition to your local
>> environment/os.
>> >> >> While I would very much like to get these build problems
>> fixed for
>> >> >> you, changing bootstrap is not the right answer IMO.
>> >> >>
>> >> >> --jason
>> >> >>
>> >> >>
>> >> >> On Aug 30, 2006, at 7:38 AM, Joe Bohn wrote:
>> >> >>
>> >> >> > Jason,
>> >> >> >
>> >> >> > I'm not sure if this was intended or not ... but having these
>> >> >> > thirdparty items under target results in the source being
>> purged
>> >> >> > when doing an mvn clean.   This is unfortunate for those of
>> >> us that
>> >> >> > are hitting the failures on the openejb tests.  My memory may
>> >> not
>> >> >> > be correct but I thought that prior to this change I could do
>> >> the
>> >> >> > following:
>> >> >> >
>> >> >> > - "bootstrap"  (with the change to use the jspc 1.4.5-
>> >> SNAPSHOT to
>> >> >> > avoid the jspc problem).
>> >> >> > - watch it fail to build openejb due to the test failures.
>> >> >> > - run "mvn clean install -Dmaven.test.skip=true"
>> >> >> >
>> >> >> > However, now that openejb is under target the clean
>> deletes the
>> >> >> > source and before it attempts to build and the result is
>> that I
>> >> >> > still don't get the openejb jar created in my local repo.
>> >> Now I
>> >> >> > think I have to do the  following:
>> >> >> >
>> >> >> > - "bootstrap"  (with the change to use the jspc 1.4.5-
>> >> SNAPSHOT to
>> >> >> > avoid the jspc problem).
>> >> >> > - watch it fail to build openejb due to the test failures.
>> >> >> > - cd to target\external\openejb2
>> >> >> > - run "mvn -Dmaven.test.skip=true"
>> >> >> > - run "mvn clean install"
>> >> >> >
>> >> >> > Am I doing something wrong?
>> >> >> >
>> >> >> > Thanks,
>> >> >> > Joe
>> >> >> >
>> >> >> >
>> >> >> > [EMAIL PROTECTED] wrote:
>> >> >> >> Author: jdillon
>> >> >> >> Date: Sat Aug 26 20:25:18 2006
>> >> >> >> New Revision: 437291
>> >> >> >> URL: http://svn.apache.org/viewvc?rev=437291&view=rev
>> >> >> >> Log:
>> >> >> >> Changed bootstrap to put external stuff into target/external
>> >> >> >> instead of thirdparty
>> >> >> >> Reduced ant output using -emacs and logger
>> >> >> >> Modified:
>> >> >> >>     geronimo/server/trunk/bootstrap
>> >> >> >>     geronimo/server/trunk/bootstrap.bat
>> >> >> >>     geronimo/server/trunk/bootstrap.xml
>> >> >> >> Modified: geronimo/server/trunk/bootstrap
>> >> >> >> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/
>> >> bootstrap?
>> >> >> >> rev=437291&r1=437290&r2=437291&view=diff
>> >> >> >>
>> >> >>
>> >>
>> =====================================================================
>> >> >> >> =========
>> >> >> >> --- geronimo/server/trunk/bootstrap (original)
>> >> >> >> +++ geronimo/server/trunk/bootstrap Sat Aug 26 20:25:18 2006
>> >> >> >> @@ -19,5 +19,5 @@
>> >> >> >>      PWD=`cygpath --windows $PWD`
>> >> >> >>  fi
>> >> >> >>  -ant $BUILD_OPTIONS -f bootstrap.xml "$@"
>> >> >> >> +ant $BUILD_OPTIONS -emacs -logger
>> >> >> >> org.apache.tools.ant.NoBannerLogger -f bootstrap.xml "$@"
>> >> >> >>  Modified: geronimo/server/trunk/bootstrap.bat
>> >> >> >> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/
>> >> >> >> bootstrap.bat?rev=437291&r1=437290&r2=437291&view=diff
>> >> >> >>
>> >> >>
>> >>
>> =====================================================================
>> >> >> >> =========
>> >> >> >> --- geronimo/server/trunk/bootstrap.bat (original)
>> >> >> >> +++ geronimo/server/trunk/bootstrap.bat Sat Aug 26 20:25:18
>> >> 2006
>> >> >> >> @@ -10,7 +10,7 @@
>> >> >> >>  set PROGNAME=%~nx0%
>> >> >> >>  set ARGS=%*
>> >> >> >>  -ant %BUILD_OPTIONS% -f bootstrap.xml %ARGS%
>> >> >> >> +ant %BUILD_OPTIONS% -emacs -logger
>> >> >> >> org.apache.tools.ant.NoBannerLogger -f bootstrap.xml %ARGS%
>> >> >> >>   :END
>> >> >> >>  Modified: geronimo/server/trunk/bootstrap.xml
>> >> >> >> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/
>> >> >> >> bootstrap.xml?rev=437291&r1=437290&r2=437291&view=diff
>> >> >> >>
>> >> >>
>> >>
>> =====================================================================
>> >> >> >> =========
>> >> >> >> --- geronimo/server/trunk/bootstrap.xml (original)
>> >> >> >> +++ geronimo/server/trunk/bootstrap.xml Sat Aug 26 20:25:18
>> >> 2006
>> >> >> >> @@ -14,19 +14,19 @@
>> >> >> >>          </sequential>
>> >> >> >>      </macrodef>
>> >> >> >>      -    <macrodef name="build-thirdparty">
>> >> >> >> +    <macrodef name="build-external">
>> >> >> >>          <attribute name="url"/>
>> >> >> >>          <attribute name="name"/>
>> >> >> >>          <sequential>
>> >> >> >> -            <mkdir dir="${basedir}/thirdparty"/>
>> >> >> >> +            <mkdir dir="${basedir}/target/external"/>
>> >> >> >>              -            <exec executable="svn" dir="$
>> >> {basedir}/
>> >> >> >> thirdparty">
>> >> >> >> +            <exec executable="svn" dir="${basedir}/target/
>> >> >> external">
>> >> >> >>                  <arg value="co"/>
>> >> >> >>                  <arg value="@{url}"/>
>> >> >> >>                  <arg value="@{name}"/>
>> >> >> >>              </exec>
>> >> >> >>              -            <mvn goal="install" dir="$
>> {basedir}/
>> >> >> >> thirdparty/@{name}"/>
>> >> >> >> +            <mvn goal="install" dir="${basedir}/target/
>> >> external/@
>> >> >> >> {name}"/>
>> >> >> >>          </sequential>
>> >> >> >>      </macrodef>
>> >> >> >>      @@ -42,6 +42,7 @@
>> >> >> >>           <target name="init" depends="init:discover,
>> >> >> >> init:windows, init:defaults">
>> >> >> >>          <record name="${basedir}/bootstrap.log"/>
>> >> >> >> +                 <echo>Starting bootstrap build...</echo>
>> >> >> >>      </target>
>> >> >> >>      @@ -88,14 +89,12 @@
>> >> >> >>      <!-- ======== -->
>> >> >> >>           <target name="clean" depends="clean:init,
>> >> clean:minimal,
>> >> >> >> clean:full">
>> >> >> >> -        <delete dir="${basedir}/thirdparty"/>
>> >> >> >> +        <delete dir="${basedir}/target"/>
>> >> >> >>                   <mvn goal="clean"/>
>> >> >> >>      </target>
>> >> >> >>           <target name="clean:init" depends="init">
>> >> >> >> -        <echo>Cleaning...</echo>
>> >> >> >> -                 <mkdir dir="${user.home}/.m2/repository"/>
>> >> >> >>      </target>
>> >> >> >>      @@ -120,18 +119,18 @@
>> >> >> >>      </target>
>> >> >> >>           -    <!-- ========== -->
>> >> >> >> -    <!-- Thirdparty -->
>> >> >> >> -    <!-- ========== -->
>> >> >> >> +    <!-- ========= -->
>> >> >> >> +    <!-- Externals -->
>> >> >> >> +    <!-- ========= -->
>> >> >> >>           <target name="specs" depends="init">
>> >> >> >>          <echo>Building Specs...</echo>
>> >> >> >> -        <build-thirdparty url="http://svn.apache.org/repos/
>> >> asf/
>> >> >> >> geronimo/specs/trunk" name="specs"/>
>> >> >> >> +        <build-external url="http://svn.apache.org/repos/
>> asf/
>> >> >> >> geronimo/specs/trunk" name="specs"/>
>> >> >> >>      </target>
>> >> >> >>           <target name="openejb2" depends="init">
>> >> >> >>          <echo>Building OpenEJB2...</echo>
>> >> >> >> -        <build-thirdparty url="http://svn.codehaus.org/
>> >> openejb/
>> >> >> >> trunk/openejb2" name="openejb2"/>
>> >> >> >> +        <build-external url="http://svn.codehaus.org/
>> openejb/
>> >> >> >> trunk/openejb2" name="openejb2"/>
>> >> >> >>      </target>
>> >> >> >>   </project>
>> >> >>
>> >> >>
>> >>
>> >>
>>
>>


Reply via email to