https://bugs.kde.org/show_bug.cgi?id=434035

Mark Wielaard <m...@klomp.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REPORTED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #2 from Mark Wielaard <m...@klomp.org> ---
commit 0f0205f683f70400406276936b1e0d1a7fa9cf72
Author: Mark Wielaard <m...@klomp.org>
Date:   Tue Mar 9 18:51:57 2021 +0100

    vgdb might crash if valgrind is killed

    This is an odd corner case, but happens specifically with the gdb
    testcase make check TESTS=gdb.base/valgrind-infcall-2.exp. At the
    end valgrind gets killed with SIGKILL (-9) which cannot be blocked.
    But vgdb at the time is inside waitstopped. It sees the process wasn't
    exited (WIFEXITED(status) is false) and so assumes the process was
    stopped by a signal. Which it asserts:

          assert (WIFSTOPPED(status));
          signal_received = WSTOPSIG(status);
          if (signal_received == signal_expected)
             break;

    But the assert fails and vgdb dumps core. The gdb testcase doesn't care,
    because it already finished its test and just makes sure all processes
    are gone. But it slowly fills your disk with core files (if you have
    enabled them) when running the testsuite.

    The fix is to simply check first whether the program has termined
    normally or by getting a fatal signal.

    https://bugs.kde.org/show_bug.cgi?id=434035

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to