This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Bug in dlopen() (or following) code in Cygwin1.dll v 1.5.19-4

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/  The added the check below corrects this problem:

2006-03-02 Gary Zablackis
* (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: Problem reports: Documentation: FAQ:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]