[SERVER-35138] service_state_machine.cpp should log a backtrace if there's an uncaught exception Created: 21/May/18 Updated: 08/Jan/24 Resolved: 10/Jan/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Networking |
| Affects Version/s: | None |
| Fix Version/s: | 4.0.7, 4.1.7 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Max Hirschhorn | Assignee: | Jonathan Ma |
| Resolution: | Fixed | Votes: | 2 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Backport Requested: |
v4.0
|
||||||||
| Sprint: | Service Arch 2018-10-22, Service Arch 2018-11-05, Service Arch 2018-11-19, Service Arch 2018-12-03, Service Arch 2018-12-17, Service Arch 2018-12-31, Service Arch 2019-01-14 | ||||||||
| Participants: | |||||||||
| Linked BF Score: | 16 | ||||||||
| Description |
|
While the backtrace itself won't be particular helpful in debugging the failure (as the stack has already been unwound) it will make it so the automated tooling to extract relevant log messages can find the uncaught exception message. The only log message that appears is the following:
We could likely instead just call std::terminate() inside the catch-block as myTerminate() already logs details about the exception as well as a backtrace of where it was caught. |
| Comments |
| Comment by Githook User [ 13/Mar/19 ] |
|
Author: {'name': 'Jonathan Ma', 'email': 'jonathan.ma@mongodb.com', 'username': 'thejonathanma'}Message: (cherry picked from commit ae66e32d6d4f22e8958d5e0b8aa47a2602ce1210) |
| Comment by Githook User [ 10/Jan/19 ] |
|
Author: {'email': 'jonathan.ma@mongodb.com', 'name': 'Jonathan Ma'}Message: |