#48749 Calls to log__error_emergency should trigger DS shutdown
Closed: wontfix None Opened 6 years ago by firstyear.

In the event of a call to log__error_emergency we should probably shutdown DS. To get here, we are in in a terrible position, generally because we can't log, clocks aren't work, or other.

Right now, calls to vslapd_log_error in the case of failing, after the call to log__error_emergency, will cause a system shutdown.

I want to extend this so any call to log__error_emergency will trigger this.

Per triage, setting the milestone to 1.3.6.

All our calls to this function are in log.c:

ldap/servers/slapd/log.c:117:static void log__error_emergency(const char errstr, int reopen, int locked);
ldap/servers/slapd/log.c:621: log__error_emergency(buffer, 0, 0);
ldap/servers/slapd/log.c:2335: log__error_emergency("CRITICAL: vslapd_log_error, Unable to format message", 1 , locked);
ldap/servers/slapd/log.c:2344: log__error_emergency(buffer, 1 ,locked);
ldap/servers/slapd/log.c:2350: log__error_emergency(buffer, 1 ,locked);
ldap/servers/slapd/log.c:2359: log__error_emergency(buffer, 1 ,locked);
ldap/servers/slapd/log.c:2416: log__error_emergency(buffer, 1, locked);
ldap/servers/slapd/log.c:2525: log__error_emergency("CRITICAL: vslapd_log_access, Unable to format message", 1 ,0);
ldap/servers/slapd/log.c:2535: log__error_emergency(buffer, 1 ,0);
ldap/servers/slapd/log.c:2542: log__error_emergency(buffer, 1 ,0);
ldap/servers/slapd/log.c:2551: log__error_emergency(buffer, 1 ,0);
ldap/servers/slapd/log.c:2561: log__error_emergency("Insufficent buffer capacity to fit timestamp and message!", 1 ,0);
ldap/servers/slapd/log.c:3600: log__error_emergency(buffer, 0, 1);
ldap/servers/slapd/log.c:3854: log__error_emergency(buffer, 0, locked);
ldap/servers/slapd/log.c:4467:log__error_emergency(const char
errstr, int reopen, int locked)
ldap/servers/slapd/log.c:4516: log__error_emergency(buffer, 0, locked);
ldap/servers/slapd/log.c:4564: log__error_emergency(buffer, 1, 1);
ldap/servers/slapd/log.c:4583: log__error_emergency(buffer, 1, locked);
ldap/servers/slapd/log.c:4602: log__error_emergency(buffer, 1, locked);
ldap/servers/slapd/log.c:4626: log__error_emergency(buffer, 1, locked);

Now, some of them are real emergencies, some are just "ohh I couldn't find the errors file when I went to rotate it".

We don't really hit these cases a lot, so maybe it's not a good idea to trigger shutdown when they arise? Most of them seem recoverable.

Metadata Update from @firstyear:
- Issue assigned to firstyear
- Issue set to the milestone: 1.3.6 backlog

5 years ago

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/1809

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: Invalid)

2 years ago

Login to comment on this ticket.