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

            Bug ID: 372600
           Summary: process loops forever when fatal signals are arriving
                    quickly
           Product: valgrind
           Version: 3.12 SVN
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: jsew...@acm.org
          Reporter: philippe.waroqui...@skynet.be
  Target Milestone: ---

Created attachment 102283
  --> https://bugs.kde.org/attachment.cgi?id=102283&action=edit
reproducer and fix for process looping for ever when burst of fatal signals

When fatal signal are arriving quickly, several threads might handle
these fatal signals, and in parallel believe they have to vgkill the
other threads and wait for the other threads to disappear.
When this happens, the valgrind process loops forever 100% of cpu.
This a bug that was already existing in 3.11 but in 3.11 was manifesting
itself with several messages telling the process was being killed.

The patch I will attach contains a regression test which 
very quickl reproduces the problem on ppc64. You might need some
more loops on amd64.
To reproduce the problem (with the untouched trunk, as the patch fixes it):
while true
do
   ../trunk/vg-in-place --tool=none none/tests/pth_2sig
done
And after some time, V loops at 100% of cpu.

With the fix, the loop has done hundreds of runs without blocking,
on amd64 and ppc64.

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

Reply via email to