From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16268 invoked by alias); 10 Sep 2014 04:47:34 -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 16217 invoked by uid 55); 10 Sep 2014 04:47:32 -0000 From: "cvs-commit at gcc dot gnu.org" To: gdb-prs@sourceware.org Subject: [Bug gdb/17247] gdb freezes on multi threaded app (test-case attached) Date: Wed, 10 Sep 2014 04:47:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: gdb X-Bugzilla-Version: 7.7 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: xdje42 at gmail dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: 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: 2014-q3/txt/msg00426.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=17247 --- Comment #40 from cvs-commit at gcc dot gnu.org --- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, gdb-7.8-branch has been updated via 0df33300929f9b54ddcf040f9b1fe69c1a88304b (commit) from 0fefcb3282480d15a66fbf5daf65ef25adee9e76 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0df33300929f9b54ddcf040f9b1fe69c1a88304b commit 0df33300929f9b54ddcf040f9b1fe69c1a88304b Author: Doug Evans Date: Tue Sep 9 21:42:20 2014 -0700 Fix for PR 17247: Block SIGCHLD while initializing Guile. The problem here is that if a thread other than gdb's main thread gets a SIGCHLD (it's an asynchronous signal so the kernel will essentially pick a random thread) then gdb will hang if it is in sigsuspend when the SIGCHLD is delivered. The other thread will see the signal and the sigsuspend won't "wake up". Guile and libgc should be blocking SIGCHLD in their threads, but we need to work with Guile 2.0 and libgc 7.4. The problem first shows up in libgc 7.4 because it is the first release that enables multiple marker threads by default. gdb/ChangeLog: PR 17247 * guile.c: #include . (_initialize_guile): Block SIGCHLD while initializing Guile. Replaces the following, which is reverted. 2014-07-26 Doug Evans PR 17185 * configure.ac: Add check for header gc/gc.h. Add check for function setenv. * configure: Regenerate. * config.in: Regenerate. * guile/guile.c (_initialize_guile): Add workaround for libgc 7.4.0. ----------------------------------------------------------------------- Summary of changes: gdb/ChangeLog | 17 +++++++++++++ gdb/config.in | 6 ---- gdb/configure | 26 -------------------- gdb/configure.ac | 5 ---- gdb/guile/guile.c | 67 ++++++++++++++++++++++++++++------------------------ 5 files changed, 53 insertions(+), 68 deletions(-) -- You are receiving this mail because: You are on the CC list for the bug.