This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: 1.3.20: mmap with nonzero file offset results in seg fault (Win2k )"


Christopher, a few points about your comments:

1. I wasn't asking for help. This bug report wasn't for 
   our benefit. We're content to use version 1.3.19.

2. Next time, read the man page:

   "The actual place where the object is mapped is 
    returned by mmap, and is never 0." - mmap man page

Despite your warm welcome to the group, I have attached a 
full test case. After further inspection it appears 
that the seg fault only occurs if the file offset is greater 
than 16 system pages. The seg fault only occurs in version
1.3.20. The TEST_FILE macro needs to be set to the name of a
file that is larger than 16 system pages + 32 bytes.

Brett

-----Original Message-----
From: Christopher Faylor [mailto:cgf-cygwin at cygwin dot com]
Sent: Tuesday, February 25, 2003 1:28 PM
To: cygwin at cygwin dot com
Subject: Re: 1.3.20: mmap with nonzero file offset results in seg fault
(Win2k )"


On Tue, Feb 25, 2003 at 12:49:45PM +1100, brett dot matson at csiro dot au wrote:
>
>Accessing the mapped region of memory after an mmap call 
>with a non-zero offset results in a seg fault. A zero 
>offset will not result in a seg fault.
>
>Cygwin1.dll version 1.3.19 doesn't experience this problem.  
>Cygcheck output is attached.
>
>Example:
>
>if (rslt = mmap(0, size, prot, MAP_SHARED,  fd, offset)) 
>    == MAP_FAILED) {
>} else {
>    printf("%d", rslt[0]); // seg fault
>}
>AND
>if (rslt = mmap(0, size, prot, MAP_SHARED,  fd, 0)) 
>    == MAP_FAILED) {
>} else {
>    printf("%d", rslt[0]); // no seg fault (zero offset)
>}

The above is bogus code since rslt will be equal to either 1 or 0
depending on whether mmap failed or not.

Please provide a real working test case which can be cut, pasted,
compiled, linked, and run, if you want help.  The theory is that,
if you want help, you reduce the barrier of providing the help as
much as possible.  Providing buggy examples isn't going to do that.

cgf
--
Please use the resources at cygwin.com rather than sending personal email.
Special for spam email harvesters: send email to aaaspam at sourceware dot org
and be permanently blocked from mailing lists at sources.redhat.com

Attachment: mmaptest.c.txt
Description: Text document

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]