From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2204 invoked by alias); 12 May 2004 13:55:35 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 2190 invoked from network); 12 May 2004 13:55:34 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sourceware.org with SMTP; 12 May 2004 13:55:34 -0000 Received: from drow by nevyn.them.org with local (Exim 4.33 #1 (Debian)) id 1BNuCp-0006lz-0M; Wed, 12 May 2004 09:55:31 -0400 Date: Wed, 12 May 2004 13:55:00 -0000 From: Daniel Jacobowitz To: Paul Hilfinger Cc: gdb@sources.redhat.com Subject: Re: GDB interaction with sigwait under Redhat 9.0 Message-ID: <20040512135530.GA25764@nevyn.them.org> Mail-Followup-To: Paul Hilfinger , gdb@sources.redhat.com References: <20040512083348.55D63F2D8B@nile.gnat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040512083348.55D63F2D8B@nile.gnat.com> User-Agent: Mutt/1.5.5.1+cvs20040105i X-SW-Source: 2004-05/txt/msg00077.txt.bz2 On Wed, May 12, 2004 at 04:33:48AM -0400, Paul Hilfinger wrote: > > I recently submitted PR threads/1641 concerning a problem we seem to > be having with Redhat 9.0 (Linux ... 2.4.21-9.ELsmp #1 SMP Thu Jan 8 > 17:08:56 EST 2004 i686 i686 i386 GNU/Linux). It appears that on that > system, there is a new, malign interaction of sigwait in the inferior > with ptrace. First, GDB (head version from about mid-April), no > longer sees signals sent to an inferior that is waiting on sigwait. Second, > GDB's manipulation with the inferior causes sigwaits (at least on > pthreaded programs) to continue with a non-zero status code (EINTR to > be precise). Does anyone know anything about this rather drastic change > in sigwait's behavior? I intend to submit a GNU/Linux bug report, unless > someone knows a good reason for this new (apparently undocumented) spec. The EINTR bit is fairly typical; it is probably the C library's obligation to hide it from you, or else the kernel's to not deliver it in the first place, but that's a little tricky. However, you never said what version of the Linux kernel you were using - it does not look like 2.6 can produce this result. But then I don't see how an unmodified 2.4 can either. The inability to see signals received during sigwait is also a kernel bug. Looking at the code, it replicates a portion of the path from do_signal without duplicating the ptrace-related bits. -- Daniel Jacobowitz