CORE: NCP Engine cores in libncpengine.so

  • 7005429
  • 03-Mar-2010
  • 27-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

NDSD process will core in the NCP Engine randomly. 
 

Resolution

In order to have this problem resolved, we need to have a newer version of novell-ncpenc: 
  • OES2SP2 ships with novell-ncpenc-5.1.4-0.6
  • eDirectory 8.8.5 FTF2 on Linux (non OES) ships with novell-ncpenc-1.2-9
Once we are running with newer versions than the ones mentioned above, the fix for this issue should be checked in.
These updates should be available through the OES2 Channel (in case of OES2 servers).
 

Additional Information

During the process of debugging this problem, we noticed the following:
  • In this case, all the servers affected were running OES2SP2. Due the fact this issue is related to NCP/file operations, we most most likely will not see this affecting eDirectory on Linux servers (non OES).
  • The core happens when we have files with special characters in their names (ie: ó, é, á, ê, í, ç, ã).
  • This core might affect both 32 and 64 bit versions.
Here are some stacks taken from cores related to this problem:  
[Stack #1]
-------------------
#0  0x00002aaaaacb2a42 in ConvertLocalToUTF8 () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so 
#1  0x00002aaaaaca1100 in GetEntryFromDirCache () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so 
#2  0x00002aaaaaca38bd in GetAllEntryInfoFromDirCache () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so 
#3  0x00002aaaaacca0b9 in Case87 () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so 
#4  0x00002aaaaacdb78e in ExecuteNCPPacket () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so 
#5  0x00002aaaaacaf46d in INCP::HandleNCPFileServiceRequest () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so 
#6  0x00002aaaaacb099d in INCP::Process () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so 
#7  0x00002aaaaacb106b in INCP::HandleNCPRequest () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so 
#8  0x00002aaaaacb16ac in INCP::ServiceStreamGroupConnections () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so 
#9  0x00002aaaaacb1da7 in NCPPollerThread () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so 
#10 0x0000000000414271 in PoolWorker () 
#11 0x00002b1c8396e193 in start_thread () from /lib64/libpthread.so.0 
#12 0x00002b1c83c96dfd in inotify_rm_watch () from /lib64/libc.so.6 
#13 0x0000000000000000 in ?? () 
[Stack #2]
-------------------
#0  0x00002aaaaacb2a42 in ConvertLocalToUTF8(unsigned char*, unsigned char*, int) () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so
#1  0x00002aaaaaca1100 in GetEntryFromDirCache(unsigned int, int, unsigned int, int, unsigned char*, int, stat*, CacheEntry**) () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so
#2  0x00002aaaaaca38bd in GetAllEntryInfoFromDirCache(unsigned int, int, unsigned int, int, unsigned char*, int, CacheEntryInfo*, stat*, unsigned int*, unsigned int) () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so
#3  0x00002aaaaacca0b9 in Case87(unsigned int, int, svc_request*, int) () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so
#4  0x00002aaaaacdb78e in ExecuteNCPPacket(unsigned int, svc_request*, int) () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so
#5  0x00002aaaaacaf46d in INCP::HandleNCPFileServiceRequest() () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so
#6  0x00002aaaaacb099d in INCP::Process(int, void (*)(void*, int, int, unsigned long, void const*, int (*)(void*, int, unsigned char, unsigned int, ...))) () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so
#7  0x00002aaaaacb106b in INCP::HandleNCPRequest(ReceiveBufferStruct*, int, int*) () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so
#8  0x00002aaaaacb16ac in INCP::ServiceStreamGroupConnections(StreamGroupStruct*) () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so 
#9  0x00002aaaaacb1da7 in NCPPollerThread(StreamGroupStruct*) () from /opt/novell/eDirectory/lib64/nds-modules/libncpengine.so
#10 0x0000000000414271 in PoolWorker(void*) () 
#11 0x00002b301e4d3193 in start_thread () from /lib64/libpthread.so.0
#12 0x00002b301e7fbdfd in clone () from /lib64/libc.so.6
#13 0x0000000000000000 in ?? ()