Red Hat Bugzilla – Bug 148979
salinfod terminates on valid error status
Last modified: 2007-11-30 17:07:16 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20050206 Firefox/1.0 (Debian package 1.0+dfsg.1-5)
Description of problem:
static const uint64_t STATUS_TYPE_MASK=0xff00;
uint64_t type_bits=(status & STATUS_TYPE_MASK)>>STATUS_TYPE_SHIFT;
if( (type_bits<=3 && type_bits!=1) || (type_bits>=10 && type_bits<=15) ||
The STATUS_TYPE_SHIFT (7) is wrong. If type_bits is 3 or less, the first test is always true. The SAL error type field is defined as bits 8-15 of the error status field, therefore STATUS_TYPE_SHIFT should be 8.
It would be nice if something caught the throw of sal_error_status_type_range instead of terminating the daemon.
It would be nice if the daemon respawned if it dies.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Feed a ERR_INTERNAL into salinfod
Actual Results: salinfod terminates
Expected Results: normal processing of a valid log
Created attachment 114084 [details]
same patch as attached to 156968 (same problem on RHEL3)
Please be aware that I can no longer see PRIVATE comments.
Created attachment 116168 [details]
Patch to salinfo.spec file
This patch adds support to the salinfo.spec file for the
*** Bug 156968 has been marked as a duplicate of this bug. ***
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.