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