delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/07/18/00:20:32

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Sat, 18 Jul 2009 00:20:02 -0400
From: Christopher Faylor <cgf-use-the-mailinglist-please AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: fun? with libsigsegv
Message-ID: <20090718042002.GA29467@ednor.casa.cgf.cx>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <loom DOT 20090717T213846-627 AT post DOT gmane DOT org> <loom DOT 20090717T224758-877 AT post DOT gmane DOT org> <loom DOT 20090717T225214-564 AT post DOT gmane DOT org>
MIME-Version: 1.0
In-Reply-To: <loom.20090717T225214-564@post.gmane.org>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Fri, Jul 17, 2009 at 10:55:13PM +0000, Eric Blake wrote:
>Eric Blake <ebb9 <at> byu.net> writes:
>>Of course, given the code, that meant I wasn't using libsigsegv like I
>>thought I was.  So, with my typo corrected, I'm (unfortunately) still
>>seeing libsigsegv interference:
>>
>>$ ./foo fclose -1, errno 9 Aborted (core dumped)
>
>Even more depressing - this looks like a regression.  The same STC,
>compiled with libsigsegv under cygwin 1.5, works in that environment.
>
>And I'm not sure what to do in gdb to try and get more useful
>information:

AFAICT, the libsigsegv handler is overriding the "myfault" stuff in
Cygwin and is causing a fault for something that should be ignored.  The
"fault" in this case is coming from our old friend
verifyable_object_isvalid.  We expect faults there and they are supposed
to be ignored.

The regression from 1.5 is because this didn't cause a fault in 1.5 so
it looks like something changed in newlib.

Looking at libsigsegv's code, I don't think it is being smart enough
about Cygwin.

It isn't clear to me why sigaltstack is needed here since I don't see
anything special happening with the stack.  It looks like you could
modify libsigsegv to just avoid trying to do anything with the signal
stack and you could use Cygwin's signal handlers directly.

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019