mmap failure [was: cygrunsrv + sshd + rsync = 20 times too slow -- throttled?]

Ken Brown kbrown@cornell.edu
Sat Sep 4 22:58:17 GMT 2021


On 9/4/2021 6:54 PM, Ken Brown via Cygwin wrote:
> On 9/4/2021 6:37 PM, Ken Brown via Cygwin wrote:
>> I've reduced the procps failure to the following test case:
>>
>> $ cat mmap_test.c
>> #include <unistd.h>
>> #include <stdio.h>
>> #include <sys/mman.h>
>>
>> int
>> main ()
>> {
>>    void *addr;
>>    int page_size = getpagesize ();
>>
>>    addr = mmap (0, page_size, PROT_READ | PROT_WRITE,
>>                 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
>>    if (addr == MAP_FAILED)
>>      perror ("mmap");
>> }
>>
>> $ gcc mmap_test.c
>>
>> $ ./a
>> mmap: Invalid argument
>>
>> This happens if I use cygwin1.dll built from the current git master.  But it 
>> also happens if I build from cygwin-3_2_0-release with the recent patches 
>> applied that make Cygwin build without error:
>>
>> 0e12b4939 Cygwin: C++17: register keyword is deprecated
>> a7340e0c0 Cygwin: dumper: fix up GCC pragma for g++ 11.2
>> 2a212c086 Cygwin: workaround a g++ 11.2 initialization bug
>> 9e3f1737e Cygwin: loader script: add DWARF 5 sections
>> bdfd2b004 Cygwin: testsuite: avoid "conflicting types" gcc warning
>> 6fc498e2e strstr: avoid warnings
>> 26da270b2 ldexp/ldexpf: avoid assembler warning
>> edce2a557 Cygwin: fix declaration of RtlInitEmptyUnicodeString
> 
> Sorry, those commit ids are wrong.  They're what I got after rebasing the master 
> branch so that those commits come first.

[Pressed Send too soon.]

Here are the correct commits:

8169e39ab Cygwin: C++17: register keyword is deprecated
3ca80b360 Cygwin: dumper: fix up GCC pragma for g++ 11.2
bdb7991db Cygwin: workaround a g++ 11.2 initialization bug
801120c1f Cygwin: loader script: add DWARF 5 sections
d5cc66426 Cygwin: testsuite: avoid "conflicting types" gcc warning
c2fe205b5 strstr: avoid warnings
76c2c7a89 ldexp/ldexpf: avoid assembler warning
eeeb5650c Cygwin: fix declaration of RtlInitEmptyUnicodeString

> 
>> So there appears to be something wrong with cygwin1.dll built with the current 
>> build tools (gcc 11.2.0, binutils 2.37, not sure what else is relevant).
>>
>> Ken
>>
> 


More information about the Cygwin mailing list