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. >>>>> >>>>> Regards. >>>>> >>>> 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 >>> >>> It looks like there's another problem, this time with the new FIFO >>> code. >>> >>> Ken, care to take a look? >> 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: >> >> if (mc_global.shell->type == SHELL_TCSH) >> { >> g_snprintf (tcsh_fifo, sizeof (tcsh_fifo), "%s/mc.pipe.%d", >> mc_tmpdir (), (int) getpid ()); >> if (mkfifo (tcsh_fifo, 0600) == -1) >> [...] >> /* Opening the FIFO as O_RDONLY or O_WRONLY causes deadlock */ >> >> if ((subshell_pipe[READ] = open (tcsh_fifo, O_RDWR)) == -1 >> || (subshell_pipe[WRITE] = open (tcsh_fifo, O_RDWR)) == -1) >> { >> fprintf (stderr, _("Cannot open named pipe %s\n"), >> tcsh_fifo); >> perror (__FILE__ ": open"); >> mc_global.tty.use_subshell = FALSE; >> [...] >> >> 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. > I've reproduced mc to fail, from bash, in cygwin 3.1.0 and 3.1.1, Windows > 1809 > and 1903.
That's not related to what I've been talking about, which is the error message "Cannot open named pipe /tmp/mc-corinna/mc.pipe.384" that Corinna reported. The failure you're talking about occurs in all shells and has already been fixed by Takashi. I imagine Corinna will release 3.1.2 with the fix very soon. 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