On 2021-07-01 06:15, Ruurd Beerstra via Cygwin wrote:
I am a long-time user and fan of Cygwin.
I use it in a complex build environment of my IVT SSH terminal emulator, some 300.000 lines of C-code with lots of little shell-scripts to build and check. I use flex/bison, ctags, make, gawk, grep and a bunch of other Cygwin utilities.

I bought a new PC and decided to to a clean-install of Cygwin to make sure I had the latest version of everything.

Your new PC probably has a newer version of Windows, possibly new MS software, and new AV or other utilities, which could be in BLODA: what are your old and new hardware types and Window editions/versions/etc?

You can check for BLODA by running cygcheck or ldd against programs with issues, e.g. cygcheck grep make sed cat sort uniq, and look for non-standard Windows and Cygwin DLLs whoch could indicate interference.

That also implies that you had not being keeping your environment up to date with setup -g?

I ran into various problems, which after checking I found to be bugs in Cygwin (a first for me). So I'm reporting them here.

The first problem I ran into was that multiple-pipe commands would hang. A command like this in a CMD file:

grep -E "^RUNCMD=|^MAKE=" makefile | sed -e "s/RUNCMD=//" -e "s/^MAKE=/set &/" > %TEMP%\extra.bat

would hang. So would stuff like "cat ... | sort | uniq" style commands that I use a lot. I found a patch (cygwin1-20210426.dll) with an updated cygwin1.dll. That fixed the hangs.

My 'uname -r' now reports 3.2.1s(0.340/5/3)

But then one of my scripts ran into a weird problem:

mv: 'allfcn.f.tmp' and 'allfcn.f' are the same file
gmake: *** [../make.w32:438: allfcn.f] Error 1
The inode numbers are the same!  Which is why it thinks the files are the same. Using 'cmp' on them tells me they differ, though. So I insert an 'rm' command of the TMP file and that problem goes away (though it didn't sit well with me that the file size is exactly 8KB for both files, as reported by ls).

Hmm: Same 8KB again? That file is supposed to be 0 bytes! Check with DIR:

It IS zero bytes!  But Cygwin shows it as 8KB, which is why the "-s" operator says the file is not empty.

Hmm. Again, the EXACT same inode number as with the earlier problem, the same 8KB size. I restored my original Cygwin setup from the old laptop (as c:\Cygwin64.old) and use the commands from there on the same file:

Note the wrong (changing) times when I use the current 'stat' (the first output is not the same as the 2nd one), while the old version consistently reports correct times, size and inode number. A quick test shows that the 'ls' command (I assume caused by the underlying stat(2) call) reports the same inode number for ALL files.
It also reports either a size of "0" or 8192 for ALL files.

Am I missing some updated DLL?
For now, I've gone back to the older version, which works fine.

Have you checked the new install /var/log/setup.log{,.full} to see if there were any anomalies, and rerun setup -g to fix any issues?

--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]

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

Reply via email to