MC no longer working with cygwin 3.1.x

Ken Brown kbrown@cornell.edu
Thu Dec 19 21:33:00 GMT 2019


On 12/19/2019 4:24 AM, Corinna Vinschen wrote:
> On Dec 18 23:09, Ken Brown wrote:
>> On 12/18/2019 5:55 PM, Thomas Wolff wrote:
>>> Am 18.12.2019 um 22:14 schrieb Ken Brown:
>>>> On 12/18/2019 2:32 PM, Corinna Vinschen wrote:
>>>>> On Dec 18 17:23, Marco Atzeri wrote:
>>>>>> Am 18.12.2019 um 15:42 schrieb Laurent R:
>>>>>>> Dear all,
>>>>>>>
>>>>>>> After the update to cygwin-3.1.1, mc (aka Midnight Commander) no longer
>>>>>>> starts. It goes into an infinite loop, if I go back to cygwin-3.0.7, mc
>>>>>>> works perfectly.
>>>>>>>
>>>>>>> I tested with cygwin-3.1.0, same problem.
>>>>>>>
>>>>>>> The MC version is 4.8.23 and the operating system is Windows 10 Pro x64 1903.
>>>>>> confirmed
>>>>>>
>>>>>> there must be a race somewhere as running /usr/bin/mc.exe from strace
>>>>>> works fine.
>>>>> But that's not the only problem running mc AFAICS.  I'm seeing an
>>>>> error message in the background:
>>>>>
>>>>> Cannot open named pipe /tmp/mc-corinna/mc.pipe.384
>>>>>      
>>>>> /cygdrive/d/cyg_pub/devel/mc/mc-4.8.23-1.x86_64/src/mc-4.8.23/src/subshell/common.c:
>>>>> open: Permission denied
>>>>> [...]
>>>> I've just looked at the mc source code, and it seems that (under tcsh only), mc
>>>> creates a fifo and tries to open it twice as O_RDWR.  This is not supported on
>>>> Cygwin, so the second attempt fails.
>>>>
>>>> Here's the relevant code from src/subshell/common.c:
>>>> [...]
>>>> Under bash, zsh, and some other shells, mc uses ordinary pipes rather than
>>>> FIFOs.  I have no idea why tcsh is treated differently.
>>>>
>>>> Until someone[*] gets around to making it possible to open a FIFO twice for
>>>> reading, I don't think there's anything we can do about it.  I also don't know
>>>> how important this is for mc.  I don't use tcsh or mc, so I can't judge.
> 
> Not using mc either here.  I see the STATUS_ACCESS_DENIED in the strace
> output when calling NtCreateNamedPipeFile, but I wonder why that is.

This happens on the second call to NtCreateNamedPipeFile on the same FIFO, both 
times with FILE_CREATE, as a result of mc trying to open it twice for reading. 
I recall seeing that error before under these circumstances when I was 
developing the new FIFO code.

> Ken, btw., we should add a PIPE_REJECT_REMOTE_CLIENTS flag, just for
> paranoia.

Will do.

Ken

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list