Please have a look at the strace result. I still think it's Cygwin's bug.

Sent with Proton Mail secure email.

------- Forwarded Message -------
From: w6b7rk5yu4mt25v3 <w6b7rk5yu4mt2...@protonmail.com>
Date: On Sunday, February 19th, 2023 at 20:08
Subject: Re: Fw: Re: Fw: Re: Why do these mprotect always fail?
To: cygwin@cygwin.com <cygwin@cygwin.com>


> See strace:
> 
> 544091 601347 [main] obr 1831 mprotect: mprotect (addr: 0xA00100000, len 
> 65536, prot 0x7)
> 59 601406 [main] obr 1831 mprotect: 0 = mprotect ()
> 166 601572 [main] obr 1831 mmap: addr 0x0, len 327680, prot 0x3, flags 0x22, 
> fd -1, off 0x0
> 123 601695 [main] obr 1831 mmap: 0x6FFFFFFB0000 = mmap()
> 95 601790 [main] obr 1831 mprotect: mprotect (addr: 0x6FFFFFFC0000, len 
> 196608, prot 0x7)
> 88 601878 [main] obr 1831 mprotect: 0 = mprotect ()
> 255 602133 [main] obr 1831 mmap: addr 0x0, len 393216, prot 0x3, flags 0x22, 
> fd -1, off 0x0
> 102 602235 [main] obr 1831 mmap: 0x6FFFFFF50000 = mmap()
> 108 602343 [main] obr 1831 mprotect: mprotect (addr: 0x6FFFFFF60000, len 
> 262144, prot 0x7)
> 47 602390 [main] obr 1831 mprotect: 0 = mprotect ()
> 245 602635 [main] obr 1831 mmap: addr 0x0, len 458752, prot 0x3, flags 0x22, 
> fd -1, off 0x0
> 44 602679 [main] obr 1831 mmap: 0x6FFFFFEE0000 = mmap()
> 46 602725 [main] obr 1831 mprotect: mprotect (addr: 0x6FFFFFEF0000, len 
> 327680, prot 0x7)
> 39 602764 [main] obr 1831 mprotect: 0 = mprotect ()
> --- Process 3796 (pid: 1831), exception c0000005 at 0000000a00100061
> --- Process 3796 (pid: 1831) thread 2928 exited with status 0xc0000005
> --- Process 3796 (pid: 1831) exited with status 0xc0000005
> Segmentation fault
> 
> I still think it's Cygwin's bug.
> 
> Sent with Proton Mail secure email.
> 
> 
> ------- Original Message -------
> On Wednesday, February 15th, 2023 at 23:33, Corinna Vinschen 
> corinna-cyg...@cygwin.com wrote:
> 
> 
> 
> > On Feb 15 15:31, w6b7rk5yu4mt25v3 via Cygwin wrote:
> > 
> > > I asked the developer of the interpreter. He said it's OK to use the 
> > > PAGE_SIZE value different than 4096. So I used this dirty hack:
> > > 
> > > #ifndef CYGWIN
> > > #define PAGE_SIZE 4096
> > > #endif
> > > 
> > > This means on Cygwin it will use the default PAGE_SIZE defined on 
> > > limits.h (I'm taking advantage of the naming conflict here so I don't 
> > > have to rename PAGE_SIZE to JIT_PAGE_SIZE as suggested by the developer 
> > > of the interpreter).
> > > 
> > > The result is it's no longer error with "Unable to mprotect" but will
> > > silently crashed without any error messages printed on the screen. So
> > > after all, it's Cygwin's quirks here.
> > 
> > I still think it's a bug in the code which requires some debugging effort
> > on your side.
> > 
> > Having said that, if it's actually a Cygwin bug and you want it fixed,
> > please provide a simple, self-contained testcase in plain C, with a
> > minimum of code to reproduce the issue, and which compiles OOTB.
> > 
> > Corinna

-- 
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