Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Heap space problem

Hi Andy

Sorry the typo was just in the email. I tried it both ways setting the values via Window->Pref..->AspectJ Compiler->Other or setting it via eclipse.ini.

OffTopic: When i set it via eclipse.ini i get some Output on the AJDT Event Trace that i didn't get before.
"ClassFileChangeChecking: no reported changes in that state". Somtimes it is alot of Messages i get eg. when soemthing changed

The only difference that i see is the time when eclipse crashes with settings off it crashes earlier.

What do you mean by alot of files? I actually don't know the exact number of hits but i would guess somewhere around 1000. Can't figure it out exactly since the build doesn't finish.

What i was wondering, now i have alwas two dependencies between projects, one of type src and one of type lib (the bin folder of the same project). Does this lead to any problems?
Example:

Project2: .classpath
...
<classpathentry exported="true" kind="src" path="/Project1"/>
<classpathentry exported="true" kind="lib" path="/Project1/bin/">
	<attributes>
		<attribute name="org.eclipse.ajdt.aspectpath" value="org.eclipse.ajdt.aspectpath"/>
	</attributes>
</classpathentry>

Just tried to build it again with -Xset:minimalModel=true,typeDemotion=true set in the global compiler preferences.
And eclipse started with -consolelog.
On the console i get: "typeDemotion=true: type demotion switched ON" per project that is being build.

Project1:
21:1:22 Types affected during build = 899
21:1:23 Timer event: 33609ms: Total time spent in AJBuilder.build()
21:1:24 Created 71 markers in 899 files

Project2:
21:3:19 Types affected during build = 1926
21:3:20 Timer event: 116984ms: Total time spent in AJBuilder.build()
21:3:22 Created 198 markers in 1926 files

Project3:
21:17:7 Types affected during build = 4441
21:17:9 Timer event: 828563ms: Total time spent in AJBuilder.build()
21:17:10 Created 3 markers in 4441 files

...

All the previous mentioned Projects are build successfully. I can't provide any numbers for them since there are another 34 Plugin projects in the workspace that got build (they are also AJ projects they do some internal weaving) an then it crashed again. On the console i got the following error:

OOM: GC overhead limit exceeded

Already thanks for your help

Florian


-----Original Message-----
From: aspectj-users-bounces@xxxxxxxxxxx [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Andy Clement
Sent: Donnerstag, 27. Januar 2011 19:45
To: aspectj-users@xxxxxxxxxxx
Subject: Re: [aspectj-users] Heap space problem

Hi Florian,

Just want to double check:

> I've tried minmalModel=true and also typeDemotion=true.

Is that an email typo or did you mispell minimalModel=true in the
project settings too?

Right now you have to set those properties for all projects, I presume
you are doing that, and not just for one.  (I think there might be a
system property you can set when you start your eclipse so it applies
the settings across all projects, but I'd have to check)

-Xset:minimalModel=true,typeDemotion=true

They definitely should not have zero impact, they may not fix things
but at least something should happen: heap coming down, compile time
going up, something.  There is a debug option I think we can turn on
to confirm they are active, you may even see something if you start
eclipse with the console open (-consolelog option).

My suspicion on heap usage is usually the structure model.  The
'minimalModel' setting should ensure it discards model elements for
any types not affected by aspects - so its impact can depend on how
pervasive your aspects are.  You only have a few, but do they hit most
of the files in most of the projects?

cheers
Andy

On 27 January 2011 06:35, Florian Weiss <florian.weiss@xxxxxxxxxx> wrote:
> Hi @ all
>
>
>
> I have a problem using AspectJ within Eclipse (AJDT).
>
>
>
> Problem description:
>
> Following project dependencies.
>
>
>
>                                Project1
>
>                                       |
>
>                                Project2
>
>                                /              \
>
>                 Project3              Project4
>
>                 /      |     \              /
>
> Project5       |     Project6
>
>                 Project7
>
>
>
> (aprox. 10K Classes,  10 Aspects)
>
>
>
> All Projects are AJ projects. The aspects are located in Project1 and 3 and
> should be woven into all projects that depend directly or indirectly on the
> containing project.
>
>
>
> All projects have a project dependency to the project(s) above. And also an
> entry in the aspect path to the bin folder of the project(s) above. Both
> dependencies are exported.
>
> I might be wrong but AFAIK this should be correct.
>
>
>
> Most of the pointcuts use execution() compared with within(). There are only
> few that user call().
>
>
>
> The problem is that the build fails since it runs out of heap space and
> Eclipse crashes(Heap size is set to 3 GB). I've tried minmalModel=true and
> also typeDemotion=true. No changes.
>
>
>
> Environment Info:
>
> Eclipse 3.6.1 (Helios)
>
> WinXP Pro SP2 running as a VM
>
> 10 GB RAM
>
>
>
> Any ideas what could be wrong with this setup that causes this excessive use
> of heap?
>
>
>
> If some important information is missing please tell.
>
>
>
> Greets Florian
>
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users


Back to the top