Monday, February 27, 2017

EBS R12 -- error in OACORE, Login page can not be dispayed - java.lang.NoClassDefFoundError javax.crypto.SunJCE_b

Here is a quick problem&resolution style article from me. I have encountered this problem in an EBS 12.1 instance.
Started the week with this ugly problem and actually it made me give a significant effort.
It first looked like there was a problem with the database connection, then it made me think that it is cased by the jdk (jdk corruption) , finally it was solved by increasing the heap sizes (Permsize actually)
It made me give lots of efforts, because there wasn't any heap size related error recorded in anywhere, in any log or output file.
The standard class "javax.crypto.SunJCE_b" and "the NoClassDefFoundError" made me think that it may be related with the Permsize.

Permsize controls the Permanent Space , which is used by stored classes, methods etc. 
-XX:PermSize: initial value
-XX:MaxPermSize: max value


Anyways, I will keep it short this time.. I need to write this and continue working on it.. (I m working on the reason behind..)

PROBLEM: Login page can not be displayed. (Internet Explorer message : "This page cannot be displayed")
oacore, oafm, forms and eveything could be started with status 0, but Application's Login page can not be displayed. Apache is there and redirecting to oacore, but oacore could not do its jobs due.

ERRORS IN OACORE (actually in LOG_HOME -> application.log):
Exception in thread "main" oracle.apps.fnd.common.AppsException: oracle.apps.fnd.common.PoolException: Exception creating new Poolable object.
at oracle.apps.fnd.profiles.Profiles.getProfileOption(Profiles.java:1509)
at oracle.apps.fnd.profiles.Profiles.getProfile(Profiles.java:362)

...
..
.

Caused by: java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.SunJCE_b
at javax.crypto.Cipher.getInstance(DashoA13*..)
at oracle.security.o5logon.O5LoginClientHelper.decryptAES(Unknown Source)


SOLUTION: 

Increasing the heap sizes Xms , Xmx and XX:PermSize, and restarting oacore.
(Increased the heap sizes directly in opmn.xml located in $INST_TOP, it could be done with the autoconfig, as well.. I mean updating  the context file and  running autoconfig)

No comments :

Post a Comment