This is the mail archive of the cygwin-developers 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]

New 64 bit Cygwin DLL (was Re: [Cygwin64] dash segfault)


Hi Peter,
Hi all other 64 bit Cygwin testers,

On Mar 13 15:47, Corinna Vinschen wrote:
> On Mar 13 15:29, Peter Rosin wrote:
> > On 2013-03-13 11:45, Corinna Vinschen wrote:
> > > I've just uploaded a cygwin-1.7.18-4 package to
> > > ftp://ftp.cygwin.com/pub/64bit/release/cygwin, which is supposed to
> > 
> > (that's ftp://ftp.cygwin.com/pub/cygwin/64bit/release/cygwin)
> > 
> > > fix at least the worst of it.  WOuld you mind to give it a whirl?
> > 
> > Might you have fixed all of it? No crap so far after three builds
> > anyway, so, from here it looks like whatever you did for the 1.7.18-4
> > update nailed it. Kudos!
> 
> Kudo's to Kai in the first place.  He was the one who suddenly realized
> that a function call embedded into hand-crafted assembler code will
> overwrite the arguments given to any arbitrary Cygwin function.
> (Un)Fortunately the inlaid function isn't called very often so this
> results in a kind of random pattern of unexpected arguments to a Cygwin
> function.
> 
> > But wait, let's see how sending this mail affects things...
> 
> Yes, this is an important test.  The aforementioned patch was definitely
> required, but there's probably more strange stuff lurking in dark
> corners of the code...

I just uploaded a new 64 bit Cygwin package 1.7.18-7.

I'm carefully hopeful that this finally fixes the random crashes we all
encountered in various scenarios.  Today it occured to me that all "my"
crashes happen in forked processes.  I discussed this with Kai and while
looking into this issue, Kai pointed out that the pseudo relocator might
be called too late in a forked child.  That seemed to be exactly our
issue, since the too-late call would end up relocating already relocated
data, so data and bss segment might contain random pointers in a forked
child.

After moving the call to an earlier point, the crashes were gone.  While
on the way, I also added a few other changes, mostly centered around
reliability issues, as well as stack alignment issues in the
auto-generated assembler code.

So I'd like to urge you to update to the latest 1.7.18-7 package and try
your various scenarios again over the weekend.


Thanks to all of you for your endurance,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat


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