From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19938 invoked by alias); 13 Nov 2013 20:28:33 -0000 Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org Received: (qmail 19910 invoked by uid 48); 13 Nov 2013 20:28:32 -0000 From: "saugustine at google dot com" To: gdb-prs@sourceware.org Subject: [Bug server/16168] New: Signal heavy execution + repeated breakpoint locks up gbserver Date: Wed, 13 Nov 2013 20:28:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: server X-Bugzilla-Version: HEAD X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: saugustine at google dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-q4/txt/msg00309.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=16168 Bug ID: 16168 Summary: Signal heavy execution + repeated breakpoint locks up gbserver Product: gdb Version: HEAD Status: NEW Severity: normal Priority: P2 Component: server Assignee: unassigned at sourceware dot org Reporter: saugustine at google dot com Created attachment 7276 --> http://sourceware.org/bugzilla/attachment.cgi?id=7276&action=edit files to reproduce. The attached tar file includes a source file, a bash script, and a gdb script which exposes a bug in gdbserver's signal handling. You can simply run sh doit.sh to reproduce the problem. gdbserver attaches to a multi-threaded application, which is also taking SIGPROF signals. The program repeatedly hits a breakpoint in some of the threads, and continues. At some point, the SIGPROF will trigger a situation where a thread has a pending signal, so gdbserver elects not to restart all threads. In the included gdbserver.log file, this is the line: "Not resuming, all-stop and found an LWP with pending status." The only thread ever restarted is the pending one. Eventually, this thread runs out of work and the system locks up. There is a race involved, so you may need to run it a couple of times. Sometimes it happens very early, and these are the easiest logs to study. -- You are receiving this mail because: You are on the CC list for the bug.