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