-
Notifications
You must be signed in to change notification settings - Fork 0
How to debug core dump of stripped tarantool
Synopsis: We have got a core dump, but running 'gdb -c <core file>' leads to output like "#0 0x00007ffa11f95885 in ?? ()". That means that we should find debug symbols to get useful backtrace.
-
Retrieve version of tarantool. If you know it, skip this clause. run 'strings <core file> | fgrep 1.5' or 'strings <core file> | fgrep 1.6' etc, to receive smth like "1.5.1-97-g8e8cd06". It's the version.
-
Get debug symbols. Check for http://tarantool.org/dist for a distributive with appropriate platform, version and with 'debug' or 'dbg' in it's name (e.g. tarantool-debug-1.5.1-190.x86_64.rpm). I could be not so easy. The target is binary with debug symbols, something like 'tarantool_box.debug'.
-
Run gdb -c <core file> <binary with debug symbols>. 'bt' command will output correct backtrace.
-
Get the source of that version of tarantool. It is likely that distributive found in clause 2 contaings the sources. If not, you can run 'git clone https://github.com/tarantool/tarantool', 'cd tarantool' and 'git checkout <tarantool version>' (e.g. 'git checkout 1.5.1-97-g8e8cd06').
-
After running 'gdb -c <core file> <binary with debug symbols>' use command 'directory '. Done, ready to debug.
Architecture Specifications
- Server architecture
- Feature specifications
- What's in a good specification
- Functional indexes
- Space _index structure
- R tree index quick start and usage
- LuaJIT
- Vinyl
- SQL
- Testing
- Performance
How To ...?
- ... add new fuzzers
- ... build RPM or Deb package using packpack
- ... calculate memory size
- ... debug core dump of stripped tarantool
- ... debug core from different OS
- ... debug Lua state with GDB
- ... generate new bootstrap snapshot
- ... use Address Sanitizer
- ... collect a coredump
Lua modules
Useful links