1.3.20: mmap with nonzero file offset results in seg fault (W in2k )"

brett.matson@csiro.au brett.matson@csiro.au
Tue Feb 25 08:40:00 GMT 2003


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@cygwin.com]
Sent: Tuesday, February 25, 2003 1:28 PM
To: cygwin@cygwin.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.matson@csiro.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@sourceware.org
and be permanently blocked from mailing lists at sources.redhat.com

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mmaptest.c.txt
URL: <http://cygwin.com/pipermail/cygwin/attachments/20030225/8a468c57/attachment-0001.txt>
-------------- next part --------------
--
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/


More information about the Cygwin mailing list