We had a unique encounter with the issue of Forms “freezing” on launch (also when seeing FRM-40734: Internal Error: PL/SQL Error occurred; FRM-92102: A network error has occurred) 
One of the key debugging actions taken is the steps related to My Oracle Support (support.oracle.com) article:
R12: Forms Runtime Diagnostics (FRD), Tracing And Logging For Forms In Oracle Applications ( Doc ID 438652.1 )
From this screenshot, you can see that the Forms Server is actually successfully launching (that’s why you can see the Navigator and Menu Bar), but something is not populating the actual session-related information (the menu items, the functions available,etc.)
Since we are on Single-Sign On (SSO) you might be freezing instead just after the Forms Login screen.
Turned out to be incorrect settings for the UTL_FILE_DIR parameter for the database which had been set using an online ALTER SYSTEM SET command, but would not show up until the database was re-started. (nb UTL_FILE_DIR is notoriously picky about quotes and commas for multiple directories being specified.) The ALTER command should appear as (for 11g):
SQL> alter system set UTL_FILE_DIR=’dir1′,’dir2′,’dir3′
But often someone uses the following (which used to work in 8i, 9i, but is now invalid):
SQL> alter system set UTL_FILE_DIR=’dir1,dir2,dir3′
Once the DB was restarted, it ended up with an incorrect UTL_FILE_DIR parameter and was unable to write the session flag files to the expected temporary directory (usually APPLPTMP).
One of the DB Trace files produced during the attempt to login included:
/* Section below shows AXF framework extensions are in-use */
PARSE #47660147519768:c=0,e=899,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=27491517,tim=1408123870515184
EXEC #47660147519768:c=0,e=21,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=27491517,tim=1408123870528903
WAIT #47660147519768: nam=’SQL*Net message to client’ ela= 1 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1408123870528942
FETCH #47660147519768:c=0,e=147,p=0,cr=14,cu=0,mis=0,r=1,dep=0,og=1,plh=27491517,tim=1408123870529153
STAT #47660147519768 id=1 cnt=1 pid=0 pos=1 obj=799475 op=’TABLE ACCESS FULL AXF_CONFIGS (cr=14 pr=0 pw=0 time=64 us cost=5 size=20 card=1)’
WAIT #47660147519768: nam=’SQL*Net message from client’ ela= 758 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1408123870530064
=====================
/* This appears to be a Session Date/Time check */
PARSING IN CURSOR #47660147509432 len=67 dep=0 uid=173 oct=3 lid=173 tim=1408123870540535 hv=1198194657 ad=’c576482b8′ sqlid=’apkw4m53qpzz1′
SELECT TO_CHAR (SYSDATE , ‘MM-DD-YYYY HH24:MI:SS ‘ ) FROM DUAL
END OF STMT
PARSE #47660147509432:c=0,e=179,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=1388734953,tim=1408123870540535
EXEC #47660147509432:c=1000,e=23,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=1388734953,tim=1408123870542624
WAIT #47660147509432: nam=’SQL*Net message to client’ ela= 7 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1408123870549410
FETCH #47660147509432:c=0,e=16,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,plh=1388734953,tim=1408123870565439
STAT #47660147509432 id=1 cnt=1 pid=0 pos=1 obj=0 op=’FAST DUAL (cr=0 pr=0 pw=0 time=1 us cost=2 size=0 card=1)’
WAIT #47660147509432: nam=’SQL*Net message from client’ ela= 528 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1408123870566111
=====================
/* This is how Servlets are tracking Sessions to Users when connections are switched to other middle-tier hosts – little session flag files being placed via UTL_FILE */
PARSING IN CURSOR #47660147514600 len=63 dep=0 uid=173 oct=3 lid=173 tim=1408123870566333 hv=3366187836 ad=’c4ec76ae0′ sqlid=’axark7b4a7wtw’
SELECT VALUE FROM V$PARAMETER WHERE NAME = ‘utl_file_dir’ <——-
END OF STMT
PARSE #47660147514600:c=0,e=174,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=1128103955,tim=1408123870566333
EXEC #47660147514600:c=0,e=62,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=1128103955,tim=1408123870566438
WAIT #47660147514600: nam=’SQL*Net message to client’ ela= 1 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1408123870566552
FETCH #47660147514600:c=7998,e=7815,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,plh=1128103955,tim=1408123870574414
STAT #47660147514600 id=1 cnt=1 pid=0 pos=1 obj=0 op=’HASH JOIN (cr=0 pr=0 pw=0 time=7812 us cost=3 size=54 card=1)’
STAT #47660147514600 id=2 cnt=1 pid=1 pos=1 obj=0 op=’FIXED TABLE FULL X$KSPPI (cr=0 pr=0 pw=0 time=2171 us cost=1 size=36 card=1)’
STAT #47660147514600 id=3 cnt=2752 pid=1 pos=2 obj=0 op=’FIXED TABLE FULL X$KSPPCV (cr=0 pr=0 pw=0 time=3758 us cost=1 size=49536 card=2752)’
WAIT #47660147514600: nam=’SQL*Net message from client’ ela= 890 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1408123870576789
RPC CALL:FUNCTION SYS.UTL_FILE.FOPEN(LOCATION IN VARCHAR2, FILENAME IN VARCHAR2, OPEN_MODE IN VARCHAR2, MAX_LINESIZE IN BINARY_INTEGER) RETURN FILE_TYPE;
RPC BINDS:
bind 0: dty=1 bfp=2b58be1c3ff8 flg=08 avl=46 mxl=32767 val=”/prodarmk/inst/apps/PRODARMK_ascopofinm01/temp”<———–
bind 1: dty=1 bfp=2b58be1b3ff8 flg=08 avl=22 mxl=32767 val=”YOUNGA2_MASTER_LOG.txt”
After the UTL_FILE_DIR setting was corrected, and the database re-started, Forms Launching worked correctly again.
However, there are dozens of other causes of this type of Forms Freeze issue. Some of the other things we had to rule out were:
adadmin:
- Recompile APPS Schema
- Recompile Forms executables
- Regenerate JAR files
- Recompile menus
- Recompile flexfields
Recompile Forms Server Binaries:
- cd $ORACLE_HOME/forms/lib; make -f ins_forms.mk sharedlib
- cd $ORACLE_HOME/forms/lib; make -f ins_forms.mk install
- adrelink.sh force=y “fnd fndfmxit.so”
- adrelink.sh force=y “fnd fndrwxit.so”
Verify APPS password and FND_ORACLE_USERID encryption.
Verify APPLSYSPUB connectivity.
Verify Forms Server launch operations manually using DBC
Socket version: http://<hostname>:<port>/forms/frmservlet?config=debug1&form_params=+config=<ORACLE_SID>.dbc
Servlet version: http://<hostname>:<port>/OA_HTML/frmservlet?config=debug1&form_params=+config=<ORACLE_SID>.dbc
Like this:
Like Loading...
You must be logged in to post a comment.