History | Log In     View a printable version of the current page. Get help!  
Issue Details (XML | Word)

Key: JBPAPP-66
Type: Bug Bug
Status: Closed Closed
Resolution: Done
Priority: Major Major
Assignee: Shelly McGowan
Reporter: Shelly McGowan
Votes: 0
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
JBoss Enterprise Platform App Edition

Deploying SEAM examples results in java.lang.OutOfMemoryError: PermGen space

Created: 06/Mar/07 01:26 PM   Updated: 29/Nov/07 03:57 PM
Component/s: Seam
Affects Version/s: 4.2.ALPHA1
Fix Version/s: 4.2.RC1
Security Level: Public (Everyone can see)

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
File Attachments: 1. GZip Archive server-OOM.log.gz (1.43 Mb)

Issue Links:
Related
This issue related:
JBPAPP-469 Out of perm-gen memory when deploying... Critical Resolved
 

Workaround Description:
If many applications are to be run simultaenously, we recommend the following adjustments be made to your run.conf file:
JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"

You might also consider -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled if you are doing a lot of redeployment.


 Description  « Hide
There are two SEAM examples that are provided with the SEAM Application Platform distribution. Additionally, there are several examples provided in seam/examples. Attempting to deploy all the examples, causes the server's PermGen space to be exhausted. The server is no longer usable and must be killed by an explicit "kill" command.

The following JIRA issue is possibly related but has not yet been confirmed:

http://jira.jboss.com/jira/browse/JBAS-3071

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order:
Shelly McGowan [06/Mar/07 01:42 PM]
server.log attached

Permaine Cheung [22/Mar/07 02:44 PM]
Is there someone who can check if this is the same issue as noted above for us?

Shelly McGowan [23/Mar/07 09:42 AM]
This is still being seen in ALPHA3. Even if all the apps are not deployed at the same time the error occurs eventually deploying and undeploying requiring a server restart.

Permaine Cheung [23/Mar/07 10:00 AM]
Please check this out. Thanks.

Norman Richards [23/Mar/07 11:00 AM]
Increase the perm gen? (-XX:PermSize and -XX:MaxPermSize ?)


Shelly McGowan [23/Mar/07 01:39 PM]
While that solution may fix the bug, it doesn't solve the issue. We are exhibiting OOM in other areas of our 4.2.0 test effort. A few seam demo app deployments seems to do the trick. What perm gen setting do you recommend?

Norman Richards [23/Mar/07 01:57 PM]
Like with anything in Java, you need memory settings appropriate for that application. If you are running many applications simultaenously, then I can definitely imagine you might need to bump things up. For my normal usage, I have been using:

JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512"

I haven't seen a permgen error in quite some time.

You might also consider -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled if you are doing a lot of redeployment.


Alex Pinkin [04/Apr/07 12:07 PM]
Requirement is that all Seam demo apps need to work out of the box with no config changes.

Are we going to change JAVA_OPTS during the platform build? Can this change apply to "production" config only?

Fernando Nasser [04/Apr/07 06:03 PM]
I think Norman is right in that an application may have specific memory requirements that may be higher than the default.
Of course, if there was a marketing type of requirement that the Seam examples should not have high resource demands than that is another story.
This examples seem to be a little memory thirsty.

We shouldn't actually be deploying Seam examples by default. Production setups may not want that. We should have instruction on how to run the examples in the documentation, including how to deploy them and any possible configuration requirements like increased memory parameters.

P.S.: We should _not_ have to kill the server on a "PermGen space exhausted" condition. Some more graceful failure mode should happen.

Shelly McGowan [11/Apr/07 12:25 PM]
This OOM is still seen in ALPHA6 - using out-of-box all config after deploying/running 7 of the examples. This is not new information just an update on status for ALPHA6.

Fernando Nasser [12/Apr/07 10:30 AM]
We are making Norman's proposed change:

JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512"

 in the "production" configuration. I am not sure if that will stay though. It has implications, for instance it raises the minimun requirements for the machine to run AS.

Ideally, this samples should not be deployed by default (I hope they are not, as people won't want samples of any sort in their production environments) and the intructions to deploy them should state that these configuration parameters must be set to run them.

Adjusting the paramenters should also be part of the QE setup to run them.

This said, I don't think we should have samples that consume so many resorces. these samples should be reengineered to not require all that.

 

Permaine Cheung [12/Apr/07 11:33 AM]
None of the examples are deployed by default.
The proposed JAVA_OPTS will be added to instructions to deploy them.

Norman, please look into reengineering the examples.

Shelly McGowan [26/Apr/07 04:54 PM]
With production config provided in 4.2.0.RC1, the SEAM example applications and demos were exercised successfully and the OOM was *not* encountered.

Shelly McGowan [30/Apr/07 08:59 AM]
No longer a BLOCKER with introduction of production config.

Shelly McGowan [30/Apr/07 09:43 PM]
This issue is considered RESOLVED with the production config. We need to document to users in the Getting Started Guide this recommendation. If additional issues are uncovered with memory leaks, they will be filed separately.

Shelly McGowan [21/May/07 11:18 AM]
Will verify with RC5.

Alex Pinkin [03/Aug/07 06:30 AM]
re-opening just to change security level

Shelly McGowan [30/Aug/07 02:43 PM]
closing as verified and will reopen if issues are found in CP or update releases.