Uploaded image for project: 'Percona Server for MySQL'
  1. Percona Server for MySQL
  2. PS-2252

LP #1676847: segfault-t failing under recent AddressSanitizer

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Done
    • Priority: Low
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None

      Description

      **Reported in Launchpad by Laurynas Biveinis last update 31-03-2017 08:09:16

      Copy of https://bugs.mysql.com/bug.php?id=85671:

      [28 Mar 11:43] Laurynas Biveinis
      Description:
      5.6.35 on Ubuntu Yakkety, GCC compiler with ASan:

      unittest/gunit/merge_large_tests-t
      ...

      1. Run 3 FatalSignalDeathTest.Segfault
        /home/laurynas/mysql-server/unittest/gunit/segfault-t.cc:66: FailureDeath test: *pint= 42
        Result: died but not with expected error.
        Expected: .ASAN:SIGSEGV.
        Actual msg:
        [ DEATH ] ASAN:DEADLYSIGNAL
        [ DEATH ] =================================================================
        [ DEATH ] ==8818==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x5564895c0b0f bp 0x7fff12e59450 sp 0x7fff12e59280 T0)
        [ DEATH ] #0 0x5564895c0b0e in segfault_unittest::FatalSignalDeathTest_Segfault_Test::TestBody() /home/laurynas/mysql-server/unittest/gunit/segfault-t.cc:66
        [ DEATH ] #1 0x55648aa755c1 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::)(), char const) /home/laurynas/mysql-server/source_downloads/googletest-release-1.8.0/googletest/src/gtest.cc:2402
        [ DEATH ] #2 0x55648aa755c1 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::)(), char const) /home/laurynas/mysql-server/source_downloads/googletest-release-1.8.0/googletest/src/gtest.cc:2438
        [ DEATH ] #3 0x55648aa6263e in testing::Test::Run() /home/laurynas/mysql-server/source_downloads/googletest-release-1.8.0/googletest/src/gtest.cc:2475
        [ DEATH ] #4 0x55648aa628db in testing::TestInfo::Run() /home/laurynas/mysql-server/source_downloads/googletest-release-1.8.0/googletest/src/gtest.cc:2656
        [ DEATH ] #5 0x55648aa62a62 in testing::TestCase::Run() /home/laurynas/mysql-server/source_downloads/googletest-release-1.8.0/googletest/src/gtest.cc:2774
        [ DEATH ] #6 0x55648aa62fb0 in testing::internal::UnitTestImpl::RunAllTests() /home/laurynas/mysql-server/source_downloads/googletest-release-1.8.0/googletest/src/gtest.cc:4649
        [ DEATH ] #7 0x55648aa76144 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::)(), char const) /home/laurynas/mysql-server/source_downloads/googletest-release-1.8.0/googletest/src/gtest.cc:2402
        [ DEATH ] #8 0x55648aa76144 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::)(), char const) /home/laurynas/mysql-server/source_downloads/googletest-release-1.8.0/googletest/src/gtest.cc:2438
        [ DEATH ] #9 0x55648aa6376c in testing::UnitTest::Run() /home/laurynas/mysql-server/source_downloads/googletest-release-1.8.0/googletest/src/gtest.cc:4257
        [ DEATH ] #10 0x55648a14637b in RUN_ALL_TESTS() /home/laurynas/mysql-server/source_downloads/googletest-release-1.8.0/googletest/include/gtest/gtest.h:2233
        [ DEATH ] #11 0x55648a14637b in main /home/laurynas/mysql-server/unittest/gunit/gunit_test_main_server.cc:72
        [ DEATH ] #12 0x7f2f909f03f0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x203f0)
        [ DEATH ] #13 0x556489563569 in _start (/home/laurynas/obj-percona-5.6-asan-debug/unittest/gunit/merge_large_tests-t+0x671569)
        [ DEATH ]
        [ DEATH ] AddressSanitizer can not provide additional info.
        [ DEATH ] SUMMARY: AddressSanitizer: SEGV /home/laurynas/mysql-server/unittest/gunit/segfault-t.cc:66 in segfault_unittest::FatalSignalDeathTest_Segfault_Test::TestBody()
        [ DEATH ] ==8818==ABORTING
        [ DEATH ]
        not ok 3

      How to repeat:
      See above

      Suggested fix:
      Looks like both "ASAN:SIGSEGV" and "ASAN:DEADLYSIGNAL" should be expected

        Attachments

          Activity

            People

            Assignee:
            Unassigned
            Reporter:
            lpjirasync lpjirasync (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Smart Checklist