This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
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