Unable to generate forwarding URL. Exception: oracle.apps.fnd.cache.CacheException

Posted on November 18, 2008. Filed under: Apps Technology Stack, DBA/Admin Tips, Diagnostics, R12, TroubleShooting | Tags: , , |

While trying to access the login page below error is reported.

“Unable to generate forwarding URL. Exception: oracle.apps.fnd.cache.CacheException”

This simple message doesnot give much information. Digging into logs yielded below detailed error message.

$INST_TOP/logs/ora/10.1.3/j2ee/oacore/oacore_default_group_1/application.log

html: Servlet error
oracle.apps.fnd.cache.CacheException
        at oracle.apps.fnd.cache.AppsCache.get(AppsCache.java:228)
        at oracle.apps.fnd.profiles.Profiles.getProfileOption(Profiles.java:1485)
        at oracle.apps.fnd.profiles.Profiles.getProfile(Profiles.java:354)
        at oracle.apps.fnd.profiles.ExtendedProfileStore.getSpecificProfileFromDB(ExtendedProfileStore.java:211)
        at oracle.apps.fnd.profiles.ExtendedProfileStore.getSpecificProfile(ExtendedProfileStore.java:171)
        at oracle.apps.fnd.profiles.ExtendedProfileStore.getProfile(ExtendedProfileStore.java:148)
        at oracle.apps.fnd.common.logging.DebugEventManager.configureUsingDatabaseValues(DebugEventManager.java:1259)
        at oracle.apps.fnd.common.logging.DebugEventManager.configureLogging(DebugEventManager.java:1114)
        at oracle.apps.fnd.common.logging.DebugEventManager.internalReinit(DebugEventManager.java:1083)
        at oracle.apps.fnd.common.logging.DebugEventManager.reInitialize(DebugEventManager.java:1050)
        at oracle.apps.fnd.common.logging.DebugEventManager.reInitialize(DebugEventManager.java:1037)
        at oracle.apps.fnd.common.AppsLog.reInitialize(AppsLog.java:595)
        at oracle.apps.fnd.common.AppsContext.initLog(AppsContext.java:941)
        at oracle.apps.fnd.common.AppsContext.initializeContext(AppsContext.java:926)
        at oracle.apps.fnd.common.AppsContext.initializeContext(AppsContext.java:891)
        at oracle.apps.fnd.common.AppsContext.<init>(AppsContext.java:751)
        at oracle.apps.fnd.common.WebAppsContext.<init>(WebAppsContext.java:1014)
        at oracle.apps.fnd.sso.Utils.getAppsContext(Utils.java:525)
        at oracle.apps.fnd.sso.AppsLoginRedirect.AppsSetting(AppsLoginRedirect.java:120)
        at oracle.apps.fnd.sso.AppsLoginRedirect.init(AppsLoginRedirect.java:170)
        at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpApplication.loadServlet(HttpApplication.java:2
232)
        at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpApplication.findServlet(HttpApplication.java:4
622)
        at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpApplication.findServlet(HttpApplication.java:4
546)
        at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpApplication.getRequestDispatcher(HttpApplicati
on.java:2822)
        at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHan
dler.java:740)
        at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandl
er.java:451)
        at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
        at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
        at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
        at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableR
esourcePooledExecutor.java:303)
        at java.lang.Thread.run(Thread.java:595)
Caused by: oracle.apps.jtf.base.resources.FrameworkException: Error in IAS Cache: java.lang.NullPointerException: null Connection
        at oracle.apps.jtf.cache.IASCacheProvider.get(IASCacheProvider.java:712)
        at oracle.apps.jtf.cache.CacheManager.getInternal(CacheManager.java:4802)
        at oracle.apps.jtf.cache.CacheManager.get(CacheManager.java:4624)
        at oracle.apps.fnd.cache.AppsCache.get(AppsCache.java:216)
        … 30 more
Caused by: oracle.apps.jtf.base.resources.FrameworkException:
An exception occurred in the method CacheAccess.get
null
The base exception is:
null Connection
        at oracle.apps.jtf.base.resources.FrameworkException.convertException(FrameworkException.java:607)
        at oracle.apps.jtf.base.resources.FrameworkException.addException(FrameworkException.java:585)
        at oracle.apps.jtf.base.resources.FrameworkException.<init>(FrameworkException.java:66)
        at oracle.apps.jtf.base.resources.FrameworkException.<init>(FrameworkException.java:88)
        at oracle.apps.jtf.base.resources.FrameworkException.<init>(FrameworkException.java:202)
        at oracle.apps.jtf.base.resources.FrameworkException.<init>(FrameworkException.java:218)
        at oracle.apps.jtf.base.resources.FrameworkException.<init>(FrameworkException.java:249)
        … 34 more

There could be many root causes for this error. If you look closely into the errorstack, it complains about null connection.

Caused by:
oracle.apps.jtf.base.resources.FrameworkException:
Error in IAS Cache:
java.lang.NullPointerException:
null Connection

Every access to the login page (http://machine.domain.com:port/OA_HTML/AppsLogin) (in R12) establishes a connection to the database as GUEST user using the DBC file. (In 11i, the url page is a static html which doesnt establish a connection)

If the mid-tier gets a connection, it displays the login page else it throws “oracle.apps.fnd.cache.CacheException”.

Now lets look at some possible reasons for not getting a connection.

1. Database is down
2. Database is up but the listener is down.
3. Archive Location is full, which prevents new connections till freed-up.
4. The instance was recently cloned and the GUEST user password is not in sync.

When the instance is cloned from source, there is a remote chance that the guest user password is not in sync. By sync, i mean the profile option value and the dbc file value for guest user password.

Steps to verify the values (perform below steps in the mid-tier)

4.1 DBC File value

$ grep -i GUEST_USER_PWD $FND_SECURE/[SID].dbc

GUEST_USER_PWD=GUEST/GUEST

4.2 Profile Option Value

sqlplus apps/[apps_pwd]
select fnd_profile.value(‘GUEST_USER_PWD’) from dual;

FND_PROFILE.VALUE(‘GUEST_USER_PWD’)
——————————————————————————–
GUEST/GUEST

Values from 4.1 and 4.2 should be in sync and in our case it is. Now lets connect to the database using the guest password.

4.3 GUEST User Connectivity Check

sqlplus apps/[apps_pwd]
select FND_WEB_SEC.VALIDATE_LOGIN(‘GUEST’,’GUEST’) from dual;

FND_WEB_SEC.VALIDATE_LOGIN(‘GUEST’,’GUEST’)
——————————————————————————–
Y

5. Ok, i didnt do a clone and the GUEST user password is in sync. What next.

The next possible reason, the database is not allowing any new sessions. May be the maximum number of sessions defined at the database level had already reached.

If you had followed all the steps sequentially as defined above, you would have realised that database does accept new connections, since you were able to verify the GUEST user password profile option value. If SESSIONS parameter value had been reached you would have got the error ORA-00018: maximum number of sessions exceeded.

6. Now what, my database is accepting new sessions.

Next option is to look for stale database connections.

ps -fu [oracle_user] | grep -i ‘LOCAL=NO’

This command will give you a list of stale connections. Use below command to kill them and to free up resources.

CAUTION: BELOW COMMAND WILL KILL THE CONNECTIONS

ps -fu [oracle_user] | grep -i ‘LOCAL=NO’ | grep -v grep | awk ‘{print “kill -9 “$2}’ | ksh

Hope one of the above mentioned steps resolves your issue when you encounter “Unable to generate forwarding URL. Exception: oracle.apps.fnd.cache.CacheException”

cheers,
OraclePitStop.

Advertisements

Make a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

6 Responses to “Unable to generate forwarding URL. Exception: oracle.apps.fnd.cache.CacheException”

RSS Feed for OraclePitStop – Lets share some knowledge Comments RSS Feed

thanks for the good notes

Thanks Saisrikanth.

cheers,
OraclePitStop.

First of all congratulation for such a great site. I learned a lot reading here today. I will make sure i visit this site more often so I can learn more.

Make your long Urls shorter – Free Url redirection – Hide your affilate URLS

None of these solutions is the one for me… any other ideas?!

Hi, I have the same problem with JDeveloper 10.1.3.3 in Windows. I noticed that GUEST password was diffent on the .dbc file and i corrected it. But I get the same error even after correcting it.

I could not try the step 6 because i’m getting this problem on windows.

Any help will be highly appreciated.

Regards
Raghu

Hi,

We got this error when APPS_TS_TX_DATA ran out of space. So its a good idea to check the DB alert log also.

– Vikram


Where's The Comment Form?

Liked it here?
Why not try sites on the blogroll...

%d bloggers like this: