ioctl() on socket fd's take 3 seconds on 1.7.7
Jason Curl
jcurlnews@arcor.de
Mon Nov 22 20:29:00 GMT 2010
On 22/11/2010 14:17, Corinna Vinschen wrote:
> On Nov 20 18:25, Jason Curl wrote:
>> On 15/11/2010 17:22, Corinna Vinschen wrote:
>>> On Nov 9 09:20, Jason Curl wrote:
>>>> 166 65418 [main] ipcheck 5580 ioctl: fd 3, cmd 80087364
>>>> --- Process 5580, exception C0000005 at 610C8C86
>>>
>>> Crash in Cygwin, but the address doesn't help much, unfortunately.
>>>
>>>> Interestingly enough, the program works. That is, it finds all
>>>> interfaces and returns correct values (except interface names are
>>>> UUIDs instead of something more friendly like "eth0" that existed in
>>>> 1.5.26).
>>>>
>> I've generated a relatively simple test case that I can compile
>> using cygwin1-20101102.dll.
>
> Thank you. I can't reproduce any slowness, each ioctl takes only a
> couple of milliseconds. At least I could reproduce the exception when
> stracing the testcase and I've applied a matching patch to Cygwin.
>
> Can you retry with the next developer snapshot? Are the ioctl calls
> still slow? If so, I'm wondering if the GetAdaptersAddresses call is
> rather slow if a lot of interfaces exist. Every single ioctl in your
> application calls GetAdaptersAddresses twice, like this:
>
> Can you test how long this call takes in your scenario, and if it
> might be the culprit?
I've downloaded cygwin1-20101118.dll as I didn't see anything newer and
the problem still exists. So I downloaded the source and built my own
binary.
The problem still exists. I did see a change in behaviour - when using
"strace", the 3 second delays are now present (with previous versions of
cygwin1.dll, strace implied no delays, running vanilla would show
delays). So could have the crash while using strace shortcircuited the 3
second timeout?
I've attached the output of 'strace'. What I see is the following:
78 65155 [main] a 6984 ioctl: fd 3, cmd 80087364
3153263 3218418 [main] a 6984 fhandler_socket::ioctl: 0 = ioctl_socket
(80087364, 28C8D4)
46 3218464 [main] a 6984 ioctl: returning 0
Regards,
Jason.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: out.txt.bz2
Type: application/octet-stream
Size: 9683 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20101122/af91838e/attachment.obj>
-------------- next part --------------
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list