CORE: iMonitor causes NDSD to core

  • 7005026
  • 14-Dec-2009
  • 26-Apr-2012

Environment

Novell eDirectory 8.8.2 for Linux
Novell eDirectory 8.8.3 for Linux
Novell eDirectory 8.8.4 for Linux
Novell eDirectory 8.8.5 for Linux
 

Situation

When trying to log in to iMonitor (to default /nds/summary/ page), ndsd cores.

Resolution

In order to have this problem resolved, we need to have a newer version of libimon (libimon.so.1.0.0) library that ships with eDirectory 8.8.5 Patch2 (20502.05) or higher, available at  https://download.novell.com/patch/finder/
 
then select:
  • "Product: eDirectory"
  • "Version: eDirectory 8.8.5
  • Click on "search" button
  • Click on the "patches" tab
This will show us the latest patches for that version of the product in question.
 

Additional Information

During the process of debugging the problem, we noticed that most of the cores looked like a memory corruption. Further investigation showed the memory corruption only happens to Tree Names taking more than 30 characters:
  • ENTERPRISEDIRECTORYSERVICE-TREE  . (31 characters. This will cause it to core when using iMonitor).
  • ENTERPRISEDIRECTORYSERVICETREE   . (30 characters. This *will not* cause it to core when using iMonitor) .
  • Maximum number of characters allowed for naming a tree (Tree Name) is 32.
  • The memory allocated for TREENAME was inadequate.
 
Here it is what a stack taken from a core related to this problem looks like:
[Stack #1]
-------------------
#0  0x45028008 in ?? ()
#1  0xef400b03 in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#2  0xef3fc1ce in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#3  0xef43a8c5 in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#4  0xef43b004 in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#5  0xef431849 in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#6  0xef43190a in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#7  0xf5701569 in WGetReadBuffer () from /opt/novell/eDirectory/lib/nds-modules/libnds.so
#8  0xf57017ba in DCReadToCB () from /opt/novell/eDirectory/lib/nds-modules/libnds.so
#9  0xf7ecbf07 in DDCReadToCB () from /opt/novell/eDirectory/lib/nds-modules/libdsloader.so.1
#10 0xef430ef1 in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#11 0xef4314ce in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#12 0xef36377a in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#13 0xef33fa49 in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#14 0xef340a7c in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#15 0xef3f8c1c in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#16 0xef3f9d8a in DSUtilInit () from /opt/novell/eDirectory/lib/nds-modules/libimon.so
#17 0xf4334c86 in HRequest::Process () from /opt/novell/eDirectory/lib/nds-modules/libhttpstk.so
#18 0xf432ca1b in HConn::ProcessIOCompPkt () from /opt/novell/eDirectory/lib/nds-modules/libhttpstk.so
#19 0xf433652f in HServer::IOCPCallBack () from /opt/novell/eDirectory/lib/nds-modules/libhttpstk.so
#20 0xf433a46a in IOCPort::WorkerThread () from /opt/novell/eDirectory/lib/nds-modules/libhttpstk.so
#21 0x080593dd in PoolWorker ()
#22 0xf7d252ab in start_thread () from /lib/libpthread.so.0
#23 0xf7c8de0e in clone () from /lib/libc.so.6 
[Stack #2]
------------------- 
#0  0xfffe7d8c in ?? ()
#1  0x5dcc1de8 in ?? ()
#2  0x5dcc1de8 in ?? ()
#3  0x6051bb03 in WGetPartitionStatus (pwc_mgr=0x5dcc35d8, dataSize=168, data=0x4bb8af48, bufSize=296,buffer=0x439ad008) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/attrops.cpp:436
#4  0x605171ce in SyntaxRoutines::localize (this=0x49492f20, pwc_mgr=0x5dcc35d8, size=168, data=0x4bb8af48,localSize=296, localVal=0x439ad008) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/attrops.cpp:3427
#5  0x605558c5 in NDSValue::wgetWithSize (this=0x5dcc1f9c, pwc_mgr=0x5dcc35d8, dataSize=168, data=0x4bb8af48) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/ndsvalue.cpp:417
#6  0x60556004 in NDSValue::setValue (this=0x5dcc1f9c, pwc_mgr=0x5dcc35d8, dcv=0x5dcc2178, p_vf=0x487a3c08, allocVF=false) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/ndsvalue.cpp:467
#7  0x6054c849 in NDSM_CopyValue (pwc_mgr=0x5dcc35d8, pDDCValue=0x5dcc2178, pNDSValue=0x5dcc1f9c, u32InfoType=3) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/ndsread.cpp:261 
#8  0x6054c90a in DSDReadValueCB (context=1652162570, value=0x5dcc2178, clientData=0x5dcc2350) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/ndsread.cpp:282
#9  0x5deb9aa9 in WGetReadBuffer () from /opt/novell/eDirectory/lib/nds-modules/libnds.so
#10 0x5deb9cfa in DCReadToCB () from /opt/novell/eDirectory/lib/nds-modules/libnds.so
#11 0x55664f07 in DDCReadToCB () from //opt/novell/eDirectory/lib/nds-modules/libdsloader.so.1
#12 0x6054bef1 in _ReadValueToList (pwc_mgr=0x5dcc35d8, context=1652162570, filter=0x5dcc238c, p_srl=0x5dcc3b1c, p_resultVL=0x44392f90) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/ndsread.cpp:424
#13 0x6054c4ce in DSDReadValueToList (base=0x0, pwc_mgr=0x5dcc35d8, p_parmVL=0x5dcc2be8, p_srl=0x5dcc3b1c, p_resultVL=0x44392f90) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/ndsread.cpp:438
#14 0x6047e77a in HtmlServerSyncRootInfo (o_mgr=0x5dcc3ba0, partitionTable=0x5dcc2dfc, replicaInfo=0x5dcc2d8c) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/ndshtml/htmsync.cpp:637
#15 0x6045aa49 in HtmlServerRootPage (o_mgr=0x5dcc3ba0, h_mgr=0x5dcc2e78) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/ndshtml/htmroot.cpp:57
#16 0x6045ba7c in HtmlServerRootRightRequest (pReq=0x5dcc3d7c) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/ndshtml/htmroot.cpp:304
#17 0x60513c1c in DSHttpDispatch (pReq=0x5dcc3d7c) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/dshttp.cpp:1591
#18 0x60514d8a in ndsdispatch (hreq=0x5dccc2e8) at /home/n4u_cm/build_linux/ndsmon-idc_n4u-rosalind-SP5_FCS/ndsmon/dshttpdhost.cpp:98
#19 0x5e904316 in HRequest::Process () from /opt/novell/eDirectory/lib/nds-modules/libhttpstk.so
#20 0x5e8fc0ab in HConn::ProcessIOCompPkt () from /opt/novell/eDirectory/lib/nds-modules/libhttpstk.so
#21 0x5e905bbf in HServer::IOCPCallBack () from /opt/novell/eDirectory/lib/nds-modules/libhttpstk.so
#22 0x5e909afa in IOCPort::WorkerThread () from /opt/novell/eDirectory/lib/nds-modules/libhttpstk.so
#23 0x0805917d in PoolWorker ()
#24 0x557e0cf7 in start_thread () from /lib/tls/libpthread.so.0
#25 0x558c72ee in clone () from /lib/tls/libc.so.6
#26 0x5dcccbb0 in ?? ()