Segfault in httpstkd when running a volume inventory report.

  • 7015446
  • 30-Jul-2014
  • 12-Aug-2014

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]

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

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.

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
#