Have you tried just increasing the size of your PERM generation? Maybe it is not a leak but simply that you need just a little more than the JVM's default limit?
 
--
Andrew Thompson


----- Original Message ----
From: s erel <erelsagi@gmail.com>
To: Rules Users List <rules-users@lists.jboss.org>
Sent: Wednesday, October 10, 2007 11:07:01 AM
Subject: Re: [rules-users] PermGen OOM and shadow proxies

I've tried it with trunk and the OOM error still happens.

In our project working memories/facts are not shared between threads. One thread does not interfere with another thread rule evaluation.

Do we need shadow proxies for such a scenario?

The document says:
IMPORTANT: disabling shadow facts for a class inhibits the ability of the engine keep track of changes to that class attributes. It means, once asserted, a fact of that class MUST NOT change any of its attributes or the engine may start to present unpredictable behavior. It does not help to use update(). The only way to safely change an attribute of a fact whose shadow fact is disabled is to call modifyRetract() before changing the attribute, change the attribute and call modifyAssert()

What about when retracting in order to assert a new reference? Is it safe to use normal retract() ?



On 10/8/07, Mark Proctor <mproctor@codehaus.org> wrote:
s erel wrote:
I understand that shadow facts are created once during building.
Still, the application crashes in less than a minute when shadow facts are enabled and it runs for hours when they are disabled.

I was assuming it to be related to a corrupted data structure that leaks.

Can you think of such a case?
Are there any limitations for shadow facts (besides them being final)?
Can you try this with trunk and let us know if it still happens?
https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/


On 10/8/07, Mark Proctor < mproctor@codehaus.org> wrote:
s erel wrote:
Hello,

I've posted before regarding this issue.
We currently evaluating drools 4.01 for our project. We've noticed that the perm gen space grows at a rapid rate and that eventually results
in a OOM. When shadow facts are disabled, the problem seems to go away (or at least not as noticeable as before).

Any ideas?
What is the effect of a shadowed object which itself contains complex objects that are also involved in a pattern (through inline eval)?
when the system encounters a new Class, and shadow is enabled, it generates a proxy to that class - however this is a one time operation. The only way that shadow proxies would continue to be created would be if you where continually creating or loading new classes or redefinitions of the old classes.






_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org


https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users




_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org

https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users





Need a vacation? Get great deals to amazing places on Yahoo! Travel.