On Jul 22 17:53, Corinna Vinschen wrote: > On Jul 22 17:20, Corinna Vinschen wrote: > > On Jul 22 13:44, Ken Brown wrote: > > > On 7/22/2019 8:23 AM, Ken Brown wrote: > > > > On 7/20/2019 6:55 PM, Houder wrote: > > > >> 64-@@ uname -a > > > >> CYGWIN_NT-6.1 Seven 3.1.0s(0.339/5/3) 2019-07-12 15:28 x86_64 Cygwin > > > >> > > > >> 64-@@ ls -lL <(grep bash .bashrc) > > > >> ls: /dev/fd/63: No such file or directory > > > >> pr-------- 1 Henri None 0 Jul 21 00:41 /dev/fd/63 > > > > > > > > Thanks for the report. This is probably caused by my new FIFO code. I'm > > > > looking into it. > > > > > > Actually, a bisection shows that the regression is due to the following commit: > > > > > > commit 2607639992f6600135532831c8357c10cb248821 > > > Author: Erik M. Bray > > > Date: Wed Apr 10 17:05:22 2019 +0200 > > > > > > Improve error handling in /proc/[pid]/ virtual files. > > > [...] > > > Erik, can you take a look? > > > > I have a hunch. It's this change: > > > > @@ -355,7 +355,7 @@ fhandler_process::fill_filebuf () > > } > > else > > filesize = process_tab[fileid].format_func (p, filebuf); > > - return !filesize ? false : true; > > + return filesize < 0 ? false : true; > > } > > return false; > > } > > > > The formatter for /proc/PID/fd, format_process_fd, returns *valid* > > negative values. But the above patch treats all negative values as > > error now. > > > > The fact that format_process_fd returns negative values has historical > > reasons. Negative values of type virtual_ftype_t are files, positive > > values are directories. > > > > One way to fix this is to change this to all positive values. At a > > first glance I don't see any check for an explicit negative > > virtual_ftype_t value, especially not in the only consumer > > path_conv::check in path.cc, and the simple numbers have long been > > replaced with enum values. > > A second glance shows a few problems in the code... I pushed a patch and I'm building new developer snapshots right now. Please give them a try. Corinna -- Corinna Vinschen Cygwin Maintainer