This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Fork issue with timerfd
On 2/25/2019 3:20 PM, Corinna Vinschen wrote:
> On Feb 25 11:03, Corinna Vinschen wrote:
>> On Feb 25 03:21, Ken Brown wrote:
>>> On 2/24/2019 9:23 PM, Ken Brown wrote:
>>>> On 2/24/2019 2:52 PM, Corinna Vinschen wrote:
>>>>> On Feb 24 20:09, Corinna Vinschen wrote:
>>>>>> On Feb 24 19:55, Corinna Vinschen wrote:
>>>>>>> On Feb 24 17:27, Ken Brown wrote:
>>>>>>>> I'm seeing sporadic errors like this on 64-bit Cygwin when I first start emacs:
>>>>>>>>
>>>>>>>> 0 [main] emacs-X11 864 C:\cygwin64\bin\emacs-X11.exe: *** fatal error in
>>>>>>>> forked process - Can't recreate shared timerfd section during fork!
>>>>>>>> 0 [main] emacs 860 dofork: child 864 - died waiting for dll loading, errno 11
>>>>>>>>
>>>>>>>> If I exit and restart, everything will be fine almost every time.
>>>>>>>
>>>>>>> I think I see where the thinko was here. Can you try this?
>>>>>>
>>>>>> No, better try this:
>>>>>> [...]
>>>>>
>>>>> Even if this doesn't fully fix your problem, the patch itself is
>>>>> certainly better than the former code, so I pushed it. I also
>>>>> uploaded new developer snapshots to https://cygwin.com/snapshots/
>>>>> for testing.
>>>>
>>>> It's better, but not completely fixed. At the moment I'm testing 32-bit only,
>>>> since that was the only arch on which I could produce the problem reliably.
>>>> Previously I got the error every time I ran emacs. I just tried 5 times with
>>>> the new snapshot and only got the error twice.
>>>
>>> I withdraw that statement. After further tries, it's back to happening every time.
>>>
>>>> I'll work on this some more tomorrow and see if I can modify the emacs code so
>>>> that it gives me the full error message from Cygwin.
>>
>> I had a late night inspiration, telling me that my timerfd
>> implementation has a design flaw in terms of fork/exec timer
>> sharing. I guess I should fix that first. Just ignore the
>> timerfd stuff for a bit, I'm working on that.
>
> I pushed a patch and uploaded new developer snapshots to
> https://cygwin.com/snapshots/
>
> Please try.
The x86 fork problem seems to be fixed. I started emacs several times and
listed directories without any failure.
I did get the following, however, during one of the trials (while emacs was idle):
1 [main] emacs 246 C:\Users\kbrown\src\emacs\i686-emacs26\src\emacs.exe: ***
fatal error - CreateThread failed for pipesel - 0x0<0x0>, Win32 error 8
Ken