Bug #86016 | Make MTR show core dump stacktraces from unit tests too | ||
---|---|---|---|
Submitted: | 20 Apr 2017 9:12 | Modified: | 22 Jul 2019 6:36 |
Reporter: | Laurynas Biveinis (OCA) | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Tests | Severity: | S4 (Feature request) |
Version: | OS: | Any | |
Assigned to: | CPU Architecture: | Any | |
Tags: | mtr |
[20 Apr 2017 9:12]
Laurynas Biveinis
[24 Apr 2017 8:10]
MySQL Verification Team
Hello Laurynas, Thank you for the report and feature request! Thanks, Umesh
[8 Jun 2017 3:42]
Laurynas Biveinis
Bug 86016 proof of concept implementation for 5.7 (*) I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.
Contribution: bug86016-5.7-poc.patch (application/octet-stream, text), 19.13 KiB.
[8 Jun 2017 3:45]
Laurynas Biveinis
Uploaded a non-GA proof-of-concept patch. It implements the feature but needs improving: - only tested under Linux, no cross-platform compatibility considerations whatsoever; - thread_utils.h is not the best place for the disable core dump guard; - that guard and the whole s/EXPECT_DEATH_IF_SUPPORTED/MY_EXPET_DEATH_IF_SUPPORTED business should not be required at all, but alas gtest upstream does not consider https://github.com/google/googletest/issues/237 to be something they need to fix
[22 Jul 2019 6:36]
Laurynas Biveinis
A bit of overlap with [1] implemented in 8.0.17 in that both no longer dump cores for DEATH tests. Otherwise this is still a valid request [1]: commit 0e79c7843610b8a753d89dd8130dd69d2e1a85d7 Author: Tor Didriksen <tor.didriksen@oracle.com> Date: Thu Feb 21 10:58:12 2019 +0100 Bug#29389789 HANDLE SIGNALS, AND ENABLE STACK TRACE IN UNIT TESTS Googletest based unit tests should: - handle control-C gracefully - not dump core files for DEATH tests - print stack trace for unexpected signals Also: Tag all executables which do stack backtracing with SET_TARGET_PROPERTIES(executable PROPERTIES ENABLE_EXPORTS TRUE) This will add '-Wl,--export-dynamic -rdynamic' to link flags (on Linux) Also: Remove the special handling with printstack() on Solaris, use abi::__cxa_demangle() (and remove the obsolete reference to resolve_stack_dump) Change-Id: I54e3650a533a5ef51cf2695f349fb96451d9bd1b