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]

segmentation fault in socket()


This is another problem that I encountered while looking into the
segment fault in select() (see thread: crash in select).

The following code will run until it generates a segmentation fault
somewhere in the call to socket(). The final few lines of the resulting
output are after the code sample.

It's interesting to note that there are errors resulting from cmalloc
returning NULL, but a valid socket descriptor is still returned.

This was run on 1.3.17 on W2K Pro.

Sample below:
----------------------------------------------------
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <cygwin/in.h>


int main()
{
    int sd;

    while(1)
    {
        printf("Attempting to create next socket.\n");
        if ( ( sd = socket( PF_INET, SOCK_STREAM, 0 ) ) <= 0 )
        {
            printf("Can not get socket!\n");
        }
        else
        {
           printf("Opened socket: %d\n",sd);
        }
// Adding a delay here didn't change the results.
    }
    return 0;
}

Output:
-------
.
.
.
Attempting to create next socket.
Opened socket: 2611
Attempting to create next socket.
Opened socket: 2612
Attempting to create next socket.
      6 [main] test2 7012 cmalloc: cmalloc returned NULL
Opened socket: 2613
Attempting to create next socket.
 101556 [main] test2 7012 cmalloc: cmalloc returned NULL
 101750 [main] test2 7012 cmalloc: cmalloc returned NULL Segmentation
fault (core dumped)

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