[SERVER-83360] Reconsider meaning/behavior of "no trace" fatal assertions Created: 16/Nov/23 Updated: 21/Nov/23 Resolved: 21/Nov/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Gregory Noma | Assignee: | Backlog - Service Architecture |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Assigned Teams: |
Service Arch
|
||||||||||||
| Participants: | |||||||||||||
| Linked BF Score: | 135 | ||||||||||||
| Description |
|
Fatal assertions have both a vanilla version and a "no trace" version. The former uses std::abort while the latter uses quickExit with ExitCode::abrupt. In some cases it does make sense to not log a backtrace, for instance if the user starts up the server on unsupported data files. However we also won't capture a core dump in this case, even if the system is set up to capture them upon unclean shutdown. This can make diagnosis difficult if the conditions leading to the (no trace) fatal assertion were unexpected. |