-
Notifications
You must be signed in to change notification settings - Fork 387
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.
- C coding guidelines ↗
- Lua coding guidelines ↗
- Python coding guidelines ↗
- Maintainer's guide
- Debugging
Architecture
- Server architecture
- R tree index quick start and usage
- LuaJIT
- Vinyl
- Vinyl Architecture
- Vinyl Disk Layout
- Vinyl math
- Vinyl Cookbook
- Bullet1
- SQL
- Appserver modules
- Testing
- Performance
- Privileges and Access control
How To ...?
- ... configure build system
- ... 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 fuzzer
- ... generate new bootstrap snapshot
- ... use Address Sanitizer
- ... collect a coredump
- ... generate luacov report for builtin module
- ... verify modified lua files via luacheck
- ... verify Lua files in third_party?
- ... rerun failed jobs
- ... update a third party repository
- Fix wrong decimal indexing after upgrade to 2.10.1
- Caveats when upgrading a cluster on Tarantool 1.6
- Fix illegal field type in a space format when upgrading to 2.10.4
Useful links