Christopher Faylor <cgf-use-the-mailinglist-please <at> cygwin.com> writes:
> >The parallel make is hit and miss; I've seen make go for quite some time > >without failures. I'm also seeing occasional failures with gcc -pipe. > >But it looks like I've finally stumbled on a 100% reproducible testcase, > >in the m4 testsuite. /home/eblake/m4/build/src/m4 is a self-built m4 from > >the latest m4.git; when I replace that string with /bin/m4, I don't see > >the failure, so it might be something added in m4.git since m4 1.4.10b > >that tickles the behavior; I'm still trying to set up a decent debugging > >session to catch that. I'll continue trying to trim it down even further, I tried. But it proved very difficult. Even adding a usleep(0) in the code made it go away, so I couldn't even figure out how to attach a debugger in time to see the bug in action; it was definitely a form of data race between writing data to a pipe and calling exit(), where the mere call to usleep(0) was enough to avoid the race. > > I don't understand how this is a useful test case. I obviously don't > have the /home/eblake/m4/build/src/m4. I looked on sourceware and there > is no file there either. Yes, that file was only on my machine; sorry that I made it so hard for you. I suppose you could have built your own m4 from scratch from m4.git, but that's asking too much from a STC. > > Have you tried the latest snapshot? I made a grasp-in-the-dark change > there. Whatever you did made a difference. Everything I've tried with a self-built cygwin1.dll with your change has worked without issues, where it was previously failing, including my (private) m4 build that was showing the problem every single test run. -- Eric Blake -- 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/