[SERVER-38819] record stack trace in handler for WT_PANIC Created: 03/Jan/19 Updated: 27/Oct/23 Resolved: 07/Jan/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | WiredTiger |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Eric Milkie | Assignee: | Eric Milkie |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Participants: | |||||||||
| Description |
|
Currently, we simply call fassert() in mdb_handle_error(). This eventually calls std::abort(), and lets our signal handler record a stack trace. The proposal here is to manually record a stack trace in mdb_handle_error() before calling fassert, thus guaranteeing we get at least one stack trace that shows the actual point of panic. |
| Comments |
| Comment by Eric Milkie [ 07/Jan/19 ] |
|
|
| Comment by Keith Bostic (Inactive) [ 07/Jan/19 ] |
| Comment by Eric Milkie [ 03/Jan/19 ] |
|
Yes, that should be part of the work for this ticket. |
| Comment by Andy Schwerin [ 03/Jan/19 ] |
|
If we do this, should we switch to fassertFailedNoTrace since the relevant stack trace will already have been logged? |
| Comment by Eric Milkie [ 03/Jan/19 ] |
|
Note that this ticket won't be necessary if we do |