maria-developers team mailing list archive
Mailing list archive
Re: Why does name resolution stop in crash stack trace?
On Jul 18, Sergey Petrunia wrote:
> Look at today's crash report in maria-discuss@. A question not related
> to the cause of that crash: why do stack traces that go inside the
> storage engine cannot be resolved? Is something wrong with our build
We resolve stack traces using addr2line utility (see
mysys/my_addr_resolve.c). It takes the name of the executable as an
argument. Dynamic plugins are not part of the executable - so they
There are other approaches to resolving a stack trace, they would
resolve traces inside plugins, but they have drawbacks too:
* libbfd (it's used by addr2line internally) - it's GPLv3
* backtrace_symbols() - doesn't show filenames and line numbers
* libelf - extra dependency and not as ubiquitous as libbfd
One can build mariadb with libbfd by specifying -DNOT_FOR_DISTRIBUTION=1
but the resulting binary cannot be legally distributed.
libelf support is not currently implemented, but it should only take a
couple of hours to add it.
backtrace_symbols() - that's what MySQL is using.