tikv/tikv

Use breakpad + symbolic to generate and interpret minidump-format core dumps

Aperta

#4202 aperta il 13 feb 2019

 (7 commenti) (0 reazioni) (0 assegnatari)Rust (2189 fork)batch import
component/buildcomponent/serverdifficulty/mediumhelp wantedtype/enhancement

Metriche repository

Star
 (15.922 stelle)
Metriche merge PR
 (Merge medio 28g 9h) (68 PR mergiate in 30 g)

Descrizione

Edit: We're going to try to integrate breakpad + symbolic to generate compact "minidumps" (via breakpad), and interpret them offline (via symbolic). Next step is to prototype breakpad and symbolic on a toy project to learn how to use them.

Feature Request

Is your feature request related to a problem? Please describe:

Sometimes TiKV may meet some problems like segment fault and crash directly, but unfortunately, our official deployment through Ansbile doesn't enable core because we worry generating too many core dump files may exhaust disk space.

Although we enable core, the generated core files may be too large and can't be sent through the network and we have to debug it on the users' machine directly(of course, this is not allowed in most of the users' environments).

Describe the feature you'd like:

Mostly we only want to know the panic backtrace. Instead of the core file, we can use minidump or just output the panic backtrace.

Teachability, Documentation, Adoption, Migration Strategy:

For minidump, we can use https://github.com/google/breakpad, in Rust, we may try https://github.com/getsentry/symbolic Another way is to output backtrace directly, refer to https://github.com/gby/libcrash and https://www.scribd.com/doc/3726406/Crash-N-Burn-Writing-Linux-application-fault-handlers.

/cc @ethercflow

Guida contributor