delorie.com/archives/browse.cgi | search |
X-Spam-Check-By: | sourceware.org |
Message-ID: | <441988A6.7010609@huarp.harvard.edu> |
Date: | Thu, 16 Mar 2006 10:47:50 -0500 |
From: | Norton Allen <allen AT huarp DOT harvard DOT edu> |
User-Agent: | Mozilla Thunderbird 1.0.6 (Windows/20050716) |
MIME-Version: | 1.0 |
To: | cygwin list <cygwin AT cygwin DOT com> |
CC: | gzabl AT yahoo DOT com |
Subject: | RE: Bug in dlopen() (or following) code in Cygwin1.dll v 1.5.19-4 |
Received-SPF: | pass (ent.arp.harvard.edu: 10.0.0.188 is authenticated by a trusted mechanism) |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
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 |
I just spent a full day tracking down something that is either very similar or I'm getting thrown off by the same red herring. [The text here was pulled from a post on the cygwin-patches list, but the discussion was redirected here] > On Thu, Mar 02, 2006 at 10:11:39AM -0800, Gary Zablackis wrote: >>Since installing Cygwin1.dll v 1.5.19-4, I have a problem with the >>computer algebra system SAGE dying at startup with no error messages >>(i.e. I get returned to the bash prompt with no messages of any sort). >>I tracked the problem down to verifyable_object_isvalid() in >>winsup/thread.cc. The added the check below corrects this problem: >> >>CHANGELOG: >>2006-03-02 Gary Zablackis gzabl AT yahoo DOT com >> * thread.cc (verifyable_object_isvalid): check for >>NULL object or reference > > The "efault.faulted()" two lines above your change is supposed to catch > NULL dereferences. Whoa! This looks like voodoo action-at-a-distance. efault.faulted() doesn't even get passed the pointer to know whether or not it's NULL. I'm guessing that it must assume that this function (verifyable_object_isvalid) will *only* be called with a particular class of pointers. Is any of this documented anywhere? Although efault.faulted() is supposed to catch the NULL dereferences, is there a big downside to double-checking afterwards (particularly if there are cases where it doesn't catch them?) > I suspect that you were probably misled by the fact > that gdb might show a SEGV in this function but that is to be expected > (see lots of discussion in the cygwin mailing list about this) and there > are patches pending for gdb which will work around this behavior. [I did try to find this discussion, but failed. Any hints on what the subject line was?] FWIW, I also have symptoms of gdb dropping into the background on certain 'next' commands. Issuing 'fg' gets me back to where I was going. Norton Allen -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |