-
Notifications
You must be signed in to change notification settings - Fork 24
Description
If the router crashes (gasp! - the unthinkable!) we need a way to diagnose the cause of the crash.
In bare-metal environments a router crash (usually) generates a coredump file. This file can be used to debug the cause of the crash.
However in containerized/cloud deployments a coredump may not be accessible, depending on the configuration of the host. Often the user may not have the privileges necessary to access a coredump. Furthermore any state associated with the containerized skupper-router is destroyed when the router crashes.
This new feature proposes to add a panic handler to skupper-router that will dump the state of the crashing thread's execution context (stack backtrace) to stderr when a crash occurs. Container orchestration platforms like kubernettes will typically save a container's stdout/stderr output across a restart and it should be possible to access the output post crash. While not as useful as a coredump the stack backtrace can help identify the cause of the crash.
This feature will not replace coredump functionality - after the panic handler completes a coredump will still be generated for the crashing router.