Hi, Sergey! On Jul 18, Sergey Petrunia wrote: > Hi, > > 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 > process?
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 aren't resolved. 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. Regards, Sergei _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp

