Here you will find Technical Stuff about JDEdwards EnterpriseOne, Oracle, SQL Server, Solaris, AS/400, Linux, UDB/DB2, unix, WebSphere OAS, Weblogic.
Friday, November 8, 2013
Run Large Batch on Change Assistant
E1:
CHA: Applying a Large Batch of ESUs, Such as Fix Current, Creates Many Pop-Up
Errors: "Business function Library load failed -
E:\JDEdwards\E900\PLANNER\bin32\CHRM.dll" (Doc ID 1353471.1)
We all might see this issue when applying big batch of
ESU. At this point there is no resolution from Oracle also.
I have done some changes in CHA start parameter and this has
resolved. Here is a solution I tested –
Change Target parameter from. This is for 64 bit Windows
Deployment Server
C:\Windows\SysWOW64\javaws.exe -localfile
"C:\Users\jdeservice\AppData\LocalLow\Sun\Java\Deployment\cache\xxxxxxxxxxxxxx"
Add –Xms and –Xmx parameter as shown below. Note the
localfile path should be kept same and only add Java memory parameters.
C:\Windows\SysWOW64\javaws.exe -Xms=256m -Xmx=2048m
-localfile
"C:\Users\jdeservice\AppData\LocalLow\Sun\Java\Deployment\cache\xxxxxxxxxxxx"
Test this and share your result on comment.
Friday, August 9, 2013
Start JDE Queue's
Start Queue manually
Go to system/bin32 on Enterprise Server
For Windows -
jdequeue.exe JDE jdepassword PD910 QB7333 UBE 5
For Unix -
runque.sh JDE jdepassword PD910 QB7333 UBE 5
where jdepassword is a password of JDE
PD910 is an environment defined in JDE.INI of Enterprise Server
Thursday, August 1, 2013
Oracle: Spool to Excel from SQLPlus
To Spool SQLPLus output to Excel (.xls) file, the trick is to turn On "MARKUP HTML"
set markup html on
set feedback off
spool c:\test.xls
select * from testdta.f0101
spool off
set markup html off
Thursday, July 11, 2013
Improve Performance of Server Manager
Improve Performance of Server Manager -
1.
Stop Server Manager Console Service
Regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\SCFMngmtConsole1\Parameters\Start
Click on Params
-Xmx786m
-Xrs
-Djde.home=C:\jde_home\SCFMC
-jar
oc4j.jar
New Value
-Xms512m
-Xmx1536m
-Djde.home=C:\jde_home\SCFMC
-jar
oc4j.jar
Start Server Manager Console Service
2. Another way to change is look for document on oracle support 1082765.1
Tuesday, July 9, 2013
Web client not openning PDF
Clicek View PDF on Submitted Job and PDF not opening.
2 Solution to resolve :
Sol 1) Press Control Key quickly after your click View PDF
Sol 2) Internet Option - Security - Trusted Site - Custom level
Verify below setting are Enable.
Download - File Download - Enable
Download - Font Download - Enable
Wednesday, May 29, 2013
Weblogic 11g Start Stop Script on Linux
How to start Weblogic Service automatically on restart ?
How to restart Weblogic instance on background ?
This are question that keeps fight our mind for weblogic on unix. I have made a script to restart Weblogic instance automatically on restart. This will stop and start Weblogic and Server Manager Agent in sequence. You can use this script and change parameters to adjust your environment.
The below script is for Linux system where executable is placed in /etc/init.d to start Weblogic 11g.
#
# This is to be saved on /etc/init.d
# Permissions chmod 755
# Owned by root:root
# Install using chkconfig --add weblogic
#
#
######################################
### Following parameter is set /etc/profile
# MW_HOME=/u01/app/wls1035/Middleware/
case $1 in
start)
su - oracle -c 'nohup /u01/jde_home/SCFHA/bin/startAgent > /dev/null &'
su - oracle -c 'nohup $MW_HOME/wlserver_10.3/server/bin/startNodeManager.sh > $MW_HOME/wlserver_10.3/common/nodemanager/nodemanager.out &'
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/startWebLogic.sh > $MW_HOME/user_projects/domains/E1_Apps/servers/AdminServer/logs/AdminServer.out &'
until nc -z jde91web 8000
do
sleep 10
done
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/startManagedWebLogic.sh NE1SVR t3://jde91web:8000 > $MW_HOME/user_projects/domains/E1_Apps/servers/NE1SVR/logs/NE1SVR.out &'
until nc -z jde91web 8016
do
sleep 10
done
;;
stop)
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/stopManagedWebLogic.sh NE1SVR t3://jde91web:8000 > $MW_HOME/user_projects/domains/"E1_Apps"/servers/NE1SVR/logs/NE1SVR.out &'
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/stopWebLogic.sh > $MW_HOME/user_projects/domains/E1_Apps/servers/AdminServer/logs/AdminServer.out &'
ps -ef | grep NodeManager | grep -v grep | awk '{system("kill -9 "$2)}'
su - oracle -c 'nohup /u01/jde_home/SCFHA/bin/stopAgent > /dev/null &'
;;
restart)
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/stopManagedWebLogic.sh NE1SVR t3://jde91web:8000 > $MW_HOME/user_projects/domains/E1_Apps/servers/NE1SVR/logs/NE1SVR.out &'
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/stopWebLogic.sh > $MW_HOME/user_projects/domains/E1_Apps/servers/AdminServer/logs/AdminServer.out &'
ps -ef | grep NodeManager | grep -v grep | awk '{system("kill -9 "$2)}'
su - oracle -c 'nohup /u01/jde_home/SCFHA/bin/stopAgent > /dev/null &'
su - oracle -c 'nohup /u01/jde_home/SCFHA/bin/startAgent > /dev/null &'
su - oracle -c 'nohup $MW_HOME/wlserver_10.3/server/bin/startNodeManager.sh > $MW_HOME/wlserver_10.3/common/nodemanager/nodemanager.out &'
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/startWeblogic.sh > $MW_HOME/user_projects/domains/E1_Apps/servers/AdminServer/logs/AdminServer.out &'
until nc -z jde91web 8000
do
sleep 10
done
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/startManagedWebLogic.sh NE1SVR t3://jde91web:8000 > $MW_HOME/user_projects/domains/E1_Apps/servers/NE1SVR/logs/NE1SVR.out &'
until nc -z jde91web 8016
do
sleep 10
done
;;
esac
How to restart Weblogic instance on background ?
This are question that keeps fight our mind for weblogic on unix. I have made a script to restart Weblogic instance automatically on restart. This will stop and start Weblogic and Server Manager Agent in sequence. You can use this script and change parameters to adjust your environment.
The below script is for Linux system where executable is placed in /etc/init.d to start Weblogic 11g.
#
# This is to be saved on /etc/init.d
# Permissions chmod 755
# Owned by root:root
# Install using chkconfig --add weblogic
#
#
######################################
### Following parameter is set /etc/profile
# MW_HOME=/u01/app/wls1035/Middleware/
case $1 in
start)
su - oracle -c 'nohup /u01/jde_home/SCFHA/bin/startAgent > /dev/null &'
su - oracle -c 'nohup $MW_HOME/wlserver_10.3/server/bin/startNodeManager.sh > $MW_HOME/wlserver_10.3/common/nodemanager/nodemanager.out &'
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/startWebLogic.sh > $MW_HOME/user_projects/domains/E1_Apps/servers/AdminServer/logs/AdminServer.out &'
until nc -z jde91web 8000
do
sleep 10
done
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/startManagedWebLogic.sh NE1SVR t3://jde91web:8000 > $MW_HOME/user_projects/domains/E1_Apps/servers/NE1SVR/logs/NE1SVR.out &'
until nc -z jde91web 8016
do
sleep 10
done
;;
stop)
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/stopManagedWebLogic.sh NE1SVR t3://jde91web:8000 > $MW_HOME/user_projects/domains/"E1_Apps"/servers/NE1SVR/logs/NE1SVR.out &'
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/stopWebLogic.sh > $MW_HOME/user_projects/domains/E1_Apps/servers/AdminServer/logs/AdminServer.out &'
ps -ef | grep NodeManager | grep -v grep | awk '{system("kill -9 "$2)}'
su - oracle -c 'nohup /u01/jde_home/SCFHA/bin/stopAgent > /dev/null &'
;;
restart)
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/stopManagedWebLogic.sh NE1SVR t3://jde91web:8000 > $MW_HOME/user_projects/domains/E1_Apps/servers/NE1SVR/logs/NE1SVR.out &'
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/stopWebLogic.sh > $MW_HOME/user_projects/domains/E1_Apps/servers/AdminServer/logs/AdminServer.out &'
ps -ef | grep NodeManager | grep -v grep | awk '{system("kill -9 "$2)}'
su - oracle -c 'nohup /u01/jde_home/SCFHA/bin/stopAgent > /dev/null &'
su - oracle -c 'nohup /u01/jde_home/SCFHA/bin/startAgent > /dev/null &'
su - oracle -c 'nohup $MW_HOME/wlserver_10.3/server/bin/startNodeManager.sh > $MW_HOME/wlserver_10.3/common/nodemanager/nodemanager.out &'
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/startWeblogic.sh > $MW_HOME/user_projects/domains/E1_Apps/servers/AdminServer/logs/AdminServer.out &'
until nc -z jde91web 8000
do
sleep 10
done
su - oracle -c 'nohup $MW_HOME/user_projects/domains/E1_Apps/bin/startManagedWebLogic.sh NE1SVR t3://jde91web:8000 > $MW_HOME/user_projects/domains/E1_Apps/servers/NE1SVR/logs/NE1SVR.out &'
until nc -z jde91web 8016
do
sleep 10
done
;;
esac
Friday, May 24, 2013
Identifying and Troubleshooting Call Object Kernel Zombie in JD Edwards (JDE)
In JD Edwards EnterpriseOne, a Call Object Kernel (CO Kernel) Zombie is a critical runtime issue where the kernel appears active but is stuck in a degraded or unstable state. It typically shows abnormal CPU/memory usage, thread stalls, and eventually leads to processing failures.
This guide explains how to identify a zombie kernel and trace the root cause using Server Manager, logs, and call stack analysis.
1. How to Identify a Call Object Kernel Zombie
Step 1: Check Kernel in Server Manager
- Open Server Manager
- Navigate to Call Object Kernel
-
Observe:
- CPU usage
- Memory consumption
- Note baseline values
Step 2: Check JDB Connections and Cache (8.98.4+)
If you are on Enterprise Server 8.98.4 or above, monitor:
- Open JDB connections
-
Cache count
Record abnormal spikes.
Step 3: Analyze Threads
- Go to kernel details
- Review active threads
-
Ignore:
-
WRK:IDLEthreads (not relevant)
-
-
Focus on active worker threads (
WRK:*)
Look for:
- Threads stuck or consuming resources abnormally
- Non-idle worker threads
Step 4: Review jde.log
- Open jde.log
-
Identify:
- Last successful operations
- First error or warning before kernel degradation
- Look for the point where kernel behavior changes
Step 5: Analyze JDENET_N Logs
- Open all JDENET_N logs
-
Identify:
- Error messages linked to kernel PID
- Any reference to zombie behavior or failure point
Step 6: Check Stack Reports
If available:
- Review stack dump files
-
Identify:
- Thread causing exception
- Business Function involved
Step 7: Cross-Reference JAS Logs
-
Look for:
- Call Object failures
- “Associated kernel not found” errors
- Unit-of-work failures
2. Example: Zombie Kernel Behavior Pattern
Observed Conditions
When kernel went into zombie state:
- CPU usage: ~20% constant
- Memory: 500–600 MB
- Open JDB connections: ~30
- JDE Cache count: 300–400
- Total threads: 13
- Idle threads: 9
3. Identifying the Culprit Thread
Example thread analysis:
| Thread ID | Type |
|---|---|
| 3944 | SYS:Response Msg Listener |
| 3396 | SYS:Dispatch (startup thread) |
| 4724 | SYS:IPC SRV |
| 3932 | WRK:SUPTON_055BD830_P4210 |
Conclusion
- System threads are not the issue
- Worker thread 3932 is the suspect
4. JAS Log Indicators
Example error:
*ERROR* COSE#1017 Associated kernel not found
Server: E1PRODENT3
PID: 1992
BSFN: F4211FSEditLine
User: SUPTON
Env: JPD900
Key observations:
- Kernel PID: 1992
- Business Function: F4211FSEditLine
- User: SUPTON
Logs -
Exception occurred in thread 3932.
So 3932 is WRK:SUPTON_055BD830_P4210
This is likely a suspect but not always. There could be chance that some other thread made this culprit. So don't conclude, but make this as a suspect.
User: SUPTON
Application: P4210
5. JDENET_N Call Stack Analysis
Call Stack (Top-to-Bottom Execution Flow)
Key execution chain:
F4211FSEditLine
→ CalculateSOMBFPriceCost
→ CalculateSalesPricesAndCosts
→ F4072CalculatePriceAdjustments
→ GetPrice
→ ConfigurationIDCacheFetch (CMFG.dll)
Critical Insight
-
The execution fails at:
ConfigurationIDCacheFetch (CMFG.dll) -
Cache behavior observed:
- 300–400 entries during failure
Call Stack
CSALES.dll/UNKNOWN/F4211FSEditLine
CSALES.dll/UNKNOWN/CalculateSOMBFPriceCost
CDIST.dll/UNKNOWN/CalculateSalesPricesAndCosts
CDIST.dll/UNKNOWN/F4072CalculatePriceAdjustments
CCUSTOM.dll/UNKNOWN/GetPrice
CMFG.dll/UNKNOWN/ConfigurationIDCacheFetch
IN JDENET_N call stack is read Top to bottom
So the source of culprit if
CMFG,dll ConfigurationIDCacheFetch
Client Machine: USNEWSPDWL3
Look for log
23 May 2013 16:11:15,627[WARN][RUNTIME]*ERROR* CallObject@15d1951c: COSE#1017 Associated kernel not found. Please see Enterprise Server log for details: host E1PRODENT3:6015(49239) SocID:54906 PID:1992 BSFN:F4211FSEditLine user:SUPTON Env:JPD900
23 May 2013 16:11:15,642[WARN][RUNTIME]*ERROR* CallObject@15d1951c: Server problem. The server may still be available, but because of state information, the entire unit-of-work must be resubmitted user:SUPTON Env:JPD900
Here from these logs
Server name : E1PRODENT3
PID: 1992
BSFN:F4211FSEditLine
User:SUPTON
Env:JPD900
Combining JAS.Log and JDENET.log this can be confimed
This Confirm F4211FSEditLine was a main BusinessFunction and Zombie occured because of CMFG.dll- ConfigurationIDCacheFetch
Note: In KRM we noted that the cache count when zombie occured was between 300-400
Now we go to Call Stack Thread - jde_1992_1369339853_1_dmp.log
3932 - WRK:SUPTON_055BD830_P4210
********************************************************
Thu May 23 16:10:53 2013
********************************************************
Generating call stacks for PID 1992 from PID 1992
********************************************************
====> Exception C0000005 ACCESS_VIOLATION occurred in thread 3932 with call stack:
0x7742e41b.
RtlFreeHeap! ntdll.dll
HeapFree! kernel32.dll
free! MSVCR100.dll
_jdeFreeInternal@4! jdel.dll
_RBTREE_IndexDestroy@4! jdekrnl.dll
_RBTREE_Destroy@8! jdekrnl.dll
_JCACH_CacheDestroyInt@4! jdekrnl.dll
_jdeCacheTerminate@8! jdekrnl.dll
_ConfigurationIDCacheFetch@12! CMFG.dll
_jdeCallObjectV2@44! jdekrnl.dll
_jdeCallObject@40! jdekrnl.dll
_GetPrice@12! CCUSTOM.dll
_jdeCallObjectV2@44! jdekrnl.dll
_jdeCallObject@40! jdekrnl.dll
_I4500050_CallExtenalProgram@16! CDIST.dll
_I4500050_CalculateAdjustment@16! CDIST.dll
_F4072CalculatePriceAdjustments@12! CDIST.dll
_jdeCallObjectV2@44! jdekrnl.dll
_jdeCallObject@40! jdekrnl.dll
_I4201500_CallAdvPricingAdjs@20! CDIST.dll
_I4201500_CalculatePrices@16! CDIST.dll
_CalculateSalesPricesAndCosts@12! CDIST.dll
_jdeCallObjectV2@44! jdekrnl.dll
_jdeCallObject@40! jdekrnl.dll
_I4205120_CallCalcPricesAndCosts@76! CSALES.dll
_I4205120_CalcPricesandCostsLineNotCancelled@80! CSALES.dll
_CalculateSOMBFPriceCost@12! CSALES.dll
_jdeCallObjectV2@44! jdekrnl.dll
_jdeCallObject@40! jdekrnl.dll
_I4200310_CalcPricesAndCosts@16! CSALES.dll
_I4200310_F4211FSEditLine@12! CSALES.dll
_jdeCallObjectV2@44! jdekrnl.dll
_jdeCallObject@40! jdekrnl.dll
_JDEK_ProcessCallRequest@24! jdekrnl.dll
_JDEK_StartCallRequest@16! jdekrnl.dll
_runBusinessFunction@4! jdekrnl.dll
_runCallObjectJob@4! jdekrnl.dll
_psthread_pool_job_execute@4! PSThreadUtils.dll
?psthread_pool_worker_function@@YGPAXPAX@Z! PSThreadUtils.dll
?threadFunctionWrapper@@YGPAXPAX@Z! psthread.dll
0x761733aa.
0x77439ef2.
0x77439ec5.
=====Call stack of thread 3932=====
_LogNTCallStackDump@12! jdel.dll
?NTUnhandledExceptionHandler@NTExceptionHandler@@CGJPAU_EXCEPTION_POINTERS@@@Z! jdenet_k.exe
0x761b003f.
0x774774df.
0x77439ec5.
The Dump Call Stack is always read in thread from Bottom to Top.
Here is analysis
B4200310 - F4211FSEditLine@CSALES initiated a crash process
and cache occured _ConfigurationIDCacheFetch@12! CMFG.dll
In between there are many other Business Function are called. Note all these.
1. Keep Note of all information noted above
2. It is possible the CO Zombie was caused by other business function which no longer running at the point of crash
3. There was High memory and JDE Cache when crash occured.
4. Look for SAR containing fixes for above pattern.
Result : F4211FSeditLine initiate Crash which occur on ConfigurationIDCacheFetch
6. Root Cause Interpretation
From combined logs:
Primary Observations:
- Kernel PID: 1992
- Thread causing crash: 3932
- Business Function: F4211FSEditLine
- Failure point: ConfigurationIDCacheFetch
- High cache usage at crash time
- Memory corruption / access violation detected
7. Final Conclusion
- The Call Object Kernel entered a zombie state due to instability in a worker thread
-
The most likely trigger:
F4211FSEditLine → ConfigurationIDCacheFetch (CMFG.dll)
Key Findings:
- High cache usage (300–400 entries) contributed to instability
- Worker thread 3932 is the primary suspect
- Memory access violation occurred during cache cleanup
-
Root cause may involve:
- Cache corruption
- Known bug in CMFG.dll logic
- Or dependent Business Function failure
8. Important Notes
- Do not immediately conclude root cause from one thread alone
-
Always correlate:
- Server Manager metrics
- JAS logs
- JDENET logs
- Stack dumps
-
Zombie kernels may be triggered by:
- Earlier completed transactions
- Detached memory references
- Cache or DLL-level corruption
9. Recommendation
-
Search Oracle/SAR notes for:
-
ConfigurationIDCacheFetch -
F4211FSEditLine - Cache-related memory leaks
-
-
Monitor:
- JDE Cache thresholds
- JDB connections
- Kernel thread stability
Summary
A Call Object Kernel Zombie is not caused by a single symptom but by a combination of:
- Thread failure
- Cache corruption
- Memory access violation
- Business function execution chain failure
In this case, the execution flow leading to:
F4211FSEditLine → ConfigurationIDCacheFetch
is the strongest indicator of root cause.
Subscribe to:
Posts (Atom)
