Thursday, February 13, 2014

java.lang.OutOfMemoryError: PermGen space

java.lang.OutOfMemoryError: PermGen space

Problem :


We come across this common exception when starting STS Eclipse or trying to compile java classes through maven command.

Exception I Encountered Was :


###################################################################################################################

[ERROR] PermGen space -> [Help 1]
java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
1)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(Cl
assRealm.java:389)
        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(
SelfFirstStrategy.java:42)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadCl
ass(ClassRealm.java:259)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm
.java:242)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm
.java:227)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
1)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(Cl
assRealm.java:389)
        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(
SelfFirstStrategy.java:42)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadCl
ass(ClassRealm.java:259)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm
.java:242)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm
.java:227)
        at org.apache.maven.plugin.jar.AbstractJarMojo.createArchive(AbstractJar
Mojo.java:202)
        at org.apache.maven.plugin.jar.AbstractJarMojo.execute(AbstractJarMojo.j
ava:255)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default
BuildPluginManager.java:106)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:208)
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/OutOfMemoryErr
or
###################################################################################################################

Solution :


This exception was caused when i was starting the Eclipse for the very first time and also while i was using the mvn compile command to compile the java classes. To resolve this exception i increased the memory size in command prompt before restarting eclipse and increasing the memory in maven options. See below for the examples.

Example :


- Follow the above steps outlined and you should be able to resolve it :

1)Add this to command line JVM before starting tomcat server : -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled 2)For Maven options use this : set MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=128m This should resolve the above exceptions.


Similar Exception :

     

- java.lang.OutOfMemoryError: PermGen space


ORA-06502: PL/SQL: numeric or value error

ORA-06502: PL/SQL: numeric or value error

Problem :


We come across this common exception when we are using PL/SQL or we receive soap related webservice response.

Exception I Encountered Was :


###################################################################################################################

ORA-06502: PL/SQL: numeric or value error

###################################################################################################################

Solution :


This exception was caused when i was trying to assign a value which was big enough for a input value. It started throwing these errors. It was also caused when trying to insert too many characters into a string field.

Make sure the input value you are giving for the web service are not violating the limit set by the web service.

Example :


- Validate the input fields against the web service fields and you should be able to resolve this issue.


Similar Exception :

     

- ORA-06502: PL/SQL: numeric or value error


Tuesday, February 11, 2014

resource is out of sync with the file system


resource is out of sync with the file system

Problem :


We come across this common exception when using eclipse and try to start the tomcat server.

Exception I Encountered Was :


###################################################################################################################

resource is out of sync with the file system ... with may file names listed...

###################################################################################################################

Solution :


This exception was caused when i switched to a different work space and restarted tomcat server. It started throwing these errors. Please follow any of the solutions to vanish the error.

1) Right click on the file or project and select refresh. This should be enough to clear all the errors related to resource is out of sync with the file system exception.

2) You can set the preferences to automatically refresh your project with the following steps :
  • Select Window in eclipse menu then
  • Select Preferences
  • Select & Expand first tab General and then
  • Select Workspace and then
  • Select the option "Refresh Automatically" or "Refresh using native hooks or polling" then
  • Click apply
  • Click Ok

  • Now you are good to go.....


Example :


- Follow the above steps outlined and you should be able to resolve it.


Similar Exception :

     

- resource is out of sync with the file system