Environment
Novell Open Enterprise Server 11 (OES 11) Linux Support Pack 2
Situation
In an OES11 SP2 environment where admin-equivalent (LUM enabled ) users (with Supervisor rights to the OU where the server is located), run a volume inventory report, it was observed that Novell Remote Manager was often crashing in httpstkd with a segmentation fault.
In /var/log/messages this was observed as below :
httpstkd[15369]: segfault at 415f4653 ip 00000000f7540f27 sp 00000000f11bfa98 error 4 in libc-2.11.3.so[f74c4000+168000]
In /var/log/messages this was observed as below :
httpstkd[15369]: segfault at 415f4653 ip 00000000f7540f27 sp 00000000f11bfa98 error 4 in libc-2.11.3.so[f74c4000+168000]
Resolution
The solution find the following section in '/etc/opt/novell/httpstkd.conf' :
<snip/>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; InventoryResolveNonLumOwnerName - This parameter is used when doing an
inventory of NSS volumes and the file owner uid is set to nobody.
; This occurs when a file is owned by a user that is not LUM enabled.
; By setting this parameter to true, we will try to resolve the owner name
using NSS APIs.
; By using NSS APIs to resolve the owner name, there is a major performance
impact when doing an inventory.
; The more non-lum owners the longer the inventory could take.
; The default will be false
;
; If you modify the setting it will be necessary to restart NRM.
;
; Options: true, false
;
; false - Non-Lum Owner ID is NOT resolved
; true - Non-Lum Owner ID is resolved
;
; Example (Resolve non-lum owner to owner name):
; InventoryResolveNonLumOwnerName true
; Example (do not resolve non-lum owner):
; InventoryResolveNonLumOwnerName false
;
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
InventoryResolveNonLumOwnerName false
</snip>
and make the following change to the last line of this section :
change : InventoryResolveNonLumOwnerName false
to : InventoryResolveNonLumOwnerName true
<snip/>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; InventoryResolveNonLumOwnerName - This parameter is used when doing an
inventory of NSS volumes and the file owner uid is set to nobody.
; This occurs when a file is owned by a user that is not LUM enabled.
; By setting this parameter to true, we will try to resolve the owner name
using NSS APIs.
; By using NSS APIs to resolve the owner name, there is a major performance
impact when doing an inventory.
; The more non-lum owners the longer the inventory could take.
; The default will be false
;
; If you modify the setting it will be necessary to restart NRM.
;
; Options: true, false
;
; false - Non-Lum Owner ID is NOT resolved
; true - Non-Lum Owner ID is resolved
;
; Example (Resolve non-lum owner to owner name):
; InventoryResolveNonLumOwnerName true
; Example (do not resolve non-lum owner):
; InventoryResolveNonLumOwnerName false
;
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
InventoryResolveNonLumOwnerName false
</snip>
and make the following change to the last line of this section :
change : InventoryResolveNonLumOwnerName false
to : InventoryResolveNonLumOwnerName true
Cause
This section was obsoleted during OES11 SP2 development, and for performance reasons, and system encoded default to use the setting 'InventoryResolveNonLumOwnerName true' was made.
A cleanup of the corresponding section regarding the same in the in '/etc/opt/novell/httpstkd.conf' configuration file was overseen.
A cleanup of the corresponding section regarding the same in the in '/etc/opt/novell/httpstkd.conf' configuration file was overseen.
Additional Information
The back trace of the httpstkd core :
Core was generated by `/opt/novell/httpstkd/sbin/httpstkd'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0xf7540f27 in strchrnul () from /lib/libc.so.6 #bt #0 0xf7540f27 in strchrnul () from /lib/libc.so.6 #1 0xf75040c5 in vfprintf () from /lib/libc.so.6 #2 0xf75b2e57 in __vsprintf_chk () from /lib/libc.so.6 #3 0xf75b2d9d in __sprintf_chk () from /lib/libc.so.6 #4 0xf5a81507 in GetUIDName () from /opt/novell/lib/libnrm.so #5 0xf5a26f1b in InventoryProcessFile () from /opt/novell/lib/libnrm.so #6 0xf5a281c4 in DoSubdirectoryInventory () from /opt/novell/lib/libnrm.so #7 0xf5a285c0 in ScanSubdirectoryWTD () from /opt/novell/lib/libnrm.so #8 0xf76ae839 in start_thread () from /lib/libpthread.so.0 #9 0xf759e5ce in clone () from /lib/libc.so.6 #