bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [master b3cf281] Unbreak the MinGW build


From: Bruno Haible
Subject: Re: [master b3cf281] Unbreak the MinGW build
Date: Fri, 16 Dec 2016 19:11:31 +0100
User-agent: KMail/4.8.5 (Linux/3.8.0-44-generic; KDE/4.8.5; x86_64; ; )

Eli Zaretskii wrote:
> > I needed this commit to prevent temacs from crashing during dumping.
> > Don't ask me how including errno.h (both the one from Gnulib and the
> > MinGW one) could cause this, especially as the preprocessed __fpending
> > doesn't seem to change a bit as result of that, and it doesn't seem to
> > even be called during dumping.  The facts are stubborn: if I leave
> > that inclusion in place, I get a crash, removing it fixes the crash.

Paul Eggert replied:
> I propagated this fix back to gnulib by installing the attached patch to 
> Gnulib. 
> I'll CC: this to Bruno Haible, who made the recent change to fpending. I 
> don't 
> use MinGW myself.

On mingw, the fpending.o generated by this code, with or without this
#include <errno.h>, is identical (even with debugging information [-g]).

I wouldn't have applied this patch, as the cause of the crash is obviously
somewhere else. We have all seen Heisenbugs in complex pieces of code. The
suspicious complex piece of code in this case, for me, is the temacs
dumping code.

Eli:
- How often have you tried to temacs+dump with and without the change?
  Once each? Twice each? 10 times each? If it's a small number, you may
  be seeing a random result and not realize it was random.
- Did you run temacs in the same directory in both cases, or in different
  directories? Different directories could lead to a different memory
  layout in temacs, due to different filename lengths.
- After determining that disabling the include would fix the crash, did
  you test whether reenable the include would reenable the crash? If not,
  some leftover file on the file system could make the difference.

Bruno




reply via email to

[Prev in Thread] Current Thread [Next in Thread]