You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Jim Jagielski <ji...@jaguNET.com> on 2012/05/03 15:47:56 UTC

Status of Windows-work for 2.4.x

I'm curious what the status of 2.4.x-on-Windows is... What else
can we do to speed this along?

Re: Status of Windows-work for 2.4.x

Posted by Jeff Trawick <tr...@gmail.com>.
On Wed, Jul 18, 2012 at 12:43 PM, Jeff Trawick <tr...@gmail.com> wrote:
> On Wed, Jul 18, 2012 at 12:28 PM, Mladen Turk <mt...@apache.org> wrote:
>> On 07/18/2012 05:49 PM, Jeff Trawick wrote:
>>>
>>>
>>> Is it possible that this results in flaky behavior depending on
>>> third-party software installed?
>>>
>>
>> Well, MSDN clearly states:
>> <quote>
>> Note: The function pointer for the AcceptEx function must be obtained
>> at run time by making a call to the WSAIoctl function ...
>> </quote>
>>
>> If I understand English grammar correctly *must* is something
>> you can't interpret at will.
>>
>> However whether this is a reason for a flaky behaviour or not
>> is a question. But in any case the statement "must be obtained"
>> is a pretty clear.
>
> Yeah, I agree completely on "must", and I'll try to fix that Real Soon
> Now.  On the rest, I was just mumbling that I saw a potential
> connection between an API that (unexpectedly) you are supposed to
> obtain dynamically and past reports of failures in the use of that API
> in some configurations supposedly involving third-party software that
> developers can't readily reproduce.  (unclear to me how much of this
> is urban legend)

Other MS doc indicates that the reason the address should be retrieved
dynamically is performance:  The available static function in
mswsock.lib will try to retrieve AcceptEx on each call.

There was a bit of snowballing on what seemed like a simple change...
The static GetAcceptExSockaddrs no longer fills in addresses if the
dynamic AcceptEx is used, and some MinGW levels are missing the
necessary definitions.

>>
>>
>> Regards
>> --
>> ^TM
>>
>>
>
>
>
> --
> Born in Roswell... married an alien...
> http://emptyhammock.com/



-- 
Born in Roswell... married an alien...
http://emptyhammock.com/

Re: Status of Windows-work for 2.4.x

Posted by Jeff Trawick <tr...@gmail.com>.
On Wed, Jul 18, 2012 at 12:28 PM, Mladen Turk <mt...@apache.org> wrote:
> On 07/18/2012 05:49 PM, Jeff Trawick wrote:
>>
>>
>> Is it possible that this results in flaky behavior depending on
>> third-party software installed?
>>
>
> Well, MSDN clearly states:
> <quote>
> Note: The function pointer for the AcceptEx function must be obtained
> at run time by making a call to the WSAIoctl function ...
> </quote>
>
> If I understand English grammar correctly *must* is something
> you can't interpret at will.
>
> However whether this is a reason for a flaky behaviour or not
> is a question. But in any case the statement "must be obtained"
> is a pretty clear.

Yeah, I agree completely on "must", and I'll try to fix that Real Soon
Now.  On the rest, I was just mumbling that I saw a potential
connection between an API that (unexpectedly) you are supposed to
obtain dynamically and past reports of failures in the use of that API
in some configurations supposedly involving third-party software that
developers can't readily reproduce.  (unclear to me how much of this
is urban legend)
>
>
> Regards
> --
> ^TM
>
>



-- 
Born in Roswell... married an alien...
http://emptyhammock.com/

Re: Status of Windows-work for 2.4.x

Posted by Mladen Turk <mt...@apache.org>.
On 07/18/2012 05:49 PM, Jeff Trawick wrote:
>
> Is it possible that this results in flaky behavior depending on
> third-party software installed?
>

Well, MSDN clearly states:
<quote>
Note: The function pointer for the AcceptEx function must be obtained
at run time by making a call to the WSAIoctl function ...
</quote>

If I understand English grammar correctly *must* is something
you can't interpret at will.

However whether this is a reason for a flaky behaviour or not
is a question. But in any case the statement "must be obtained"
is a pretty clear.


Regards
-- 
^TM



Re: Status of Windows-work for 2.4.x

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
On 7/31/2012 3:27 PM, Jeff Trawick wrote:
> On Tue, Jul 31, 2012 at 4:11 PM, William A. Rowe Jr.
> <wr...@rowe-clan.net> wrote:
>> On 7/18/2012 8:49 AM, Jeff Trawick wrote:
>>> On Thu, Jun 14, 2012 at 1:49 PM, Claudio Caldato (MS OPEN TECH)
>>> <cl...@microsoft.com> wrote:
>>>> I have a dev available now so we are ready to start.
>>>>
>>>> I have been out of the loop for a while so I’ll start by looking at
>>>> https://issues.apache.org/bugzilla/show_bug.cgi?id=52476, please point me to
>>>> any other relevant information. And please add ‘Windows’ to the subject line
>>>> for any Windows related issue so it will be easier for me to know which
>>>> messages I have to read.
>>>>
>>>> I hope to have good news soon.
>>>
>>> Random question from the crowd...
>>>
>>> The WinNT MPM doesn't load the address of AcceptEx dynamically via
>>> WSAIoctl, though that is a documented requirement and shown in the
>>> AcceptEx sample I found.
>>>
>>> Is it possible that this results in flaky behavior depending on
>>> third-party software installed?
>>
>> That is entirely possible but unlikely.  The present flakey behavior is not
>> surrounding AcceptEx(), it works for the vast majority of configurations
>> until incomplete socket providers are added.  But I'd be happy to see a patch
>> to resolve AcceptEx dynamically.
> 
> http://svn.apache.org/viewvc?view=revision&revision=1363312

Looks great!  Thanks for the patch :)




Re: Status of Windows-work for 2.4.x

Posted by Jeff Trawick <tr...@gmail.com>.
On Tue, Jul 31, 2012 at 4:11 PM, William A. Rowe Jr.
<wr...@rowe-clan.net> wrote:
> On 7/18/2012 8:49 AM, Jeff Trawick wrote:
>> On Thu, Jun 14, 2012 at 1:49 PM, Claudio Caldato (MS OPEN TECH)
>> <cl...@microsoft.com> wrote:
>>> I have a dev available now so we are ready to start.
>>>
>>> I have been out of the loop for a while so I’ll start by looking at
>>> https://issues.apache.org/bugzilla/show_bug.cgi?id=52476, please point me to
>>> any other relevant information. And please add ‘Windows’ to the subject line
>>> for any Windows related issue so it will be easier for me to know which
>>> messages I have to read.
>>>
>>> I hope to have good news soon.
>>
>> Random question from the crowd...
>>
>> The WinNT MPM doesn't load the address of AcceptEx dynamically via
>> WSAIoctl, though that is a documented requirement and shown in the
>> AcceptEx sample I found.
>>
>> Is it possible that this results in flaky behavior depending on
>> third-party software installed?
>
> That is entirely possible but unlikely.  The present flakey behavior is not
> surrounding AcceptEx(), it works for the vast majority of configurations
> until incomplete socket providers are added.  But I'd be happy to see a patch
> to resolve AcceptEx dynamically.

http://svn.apache.org/viewvc?view=revision&revision=1363312

>
> The issues now are twofold;
>
>  1. When using AcceptEx() we always attempt to recycle the socket context.
>     We should make this configurable and avoidable.  Many socket providers
>     have implemented AcceptEx() and then trash the socket making it fail
>     any attempt at reuse.
>
>  2. When using accept() we are doing 'something wrong' compared to our 2.2
>     code, which causes the timeouts to be other than expected by APR.  This
>     in turn causes the mod_ssl blocking read to fail to block.
>
>



-- 
Born in Roswell... married an alien...
http://emptyhammock.com/

Re: Status of Windows-work for 2.4.x

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
On 7/18/2012 8:49 AM, Jeff Trawick wrote:
> On Thu, Jun 14, 2012 at 1:49 PM, Claudio Caldato (MS OPEN TECH)
> <cl...@microsoft.com> wrote:
>> I have a dev available now so we are ready to start.
>>
>> I have been out of the loop for a while so I’ll start by looking at
>> https://issues.apache.org/bugzilla/show_bug.cgi?id=52476, please point me to
>> any other relevant information. And please add ‘Windows’ to the subject line
>> for any Windows related issue so it will be easier for me to know which
>> messages I have to read.
>>
>> I hope to have good news soon.
> 
> Random question from the crowd...
> 
> The WinNT MPM doesn't load the address of AcceptEx dynamically via
> WSAIoctl, though that is a documented requirement and shown in the
> AcceptEx sample I found.
> 
> Is it possible that this results in flaky behavior depending on
> third-party software installed?

That is entirely possible but unlikely.  The present flakey behavior is not
surrounding AcceptEx(), it works for the vast majority of configurations
until incomplete socket providers are added.  But I'd be happy to see a patch
to resolve AcceptEx dynamically.

The issues now are twofold;

 1. When using AcceptEx() we always attempt to recycle the socket context.
    We should make this configurable and avoidable.  Many socket providers
    have implemented AcceptEx() and then trash the socket making it fail
    any attempt at reuse.

 2. When using accept() we are doing 'something wrong' compared to our 2.2
    code, which causes the timeouts to be other than expected by APR.  This
    in turn causes the mod_ssl blocking read to fail to block.



Re: Status of Windows-work for 2.4.x

Posted by Jeff Trawick <tr...@gmail.com>.
On Thu, Jun 14, 2012 at 1:49 PM, Claudio Caldato (MS OPEN TECH)
<cl...@microsoft.com> wrote:
> I have a dev available now so we are ready to start.
>
>
>
> I have been out of the loop for a while so I’ll start by looking at
> https://issues.apache.org/bugzilla/show_bug.cgi?id=52476, please point me to
> any other relevant information. And please add ‘Windows’ to the subject line
> for any Windows related issue so it will be easier for me to know which
> messages I have to read.
>
>
>
> I hope to have good news soon.

Random question from the crowd...

The WinNT MPM doesn't load the address of AcceptEx dynamically via
WSAIoctl, though that is a documented requirement and shown in the
AcceptEx sample I found.

Is it possible that this results in flaky behavior depending on
third-party software installed?

(sorry if I missed a discussion of this in my quick&sloppy search)


>
>
>
> Thanks
> Claudio
>
>
>
> From: Claudio Caldato (MS OPEN TECH)
> Sent: Thursday, May 31, 2012 2:46 PM
> To: dev@httpd.apache.org
> Subject: RE: Status of Windows-work for 2.4.x
>
>
>
> Hi guys,
>
>
>
> I guess I'm the 'nice guy from Microsoft' :)
>
> Sorry for the long silence. I have been waiting for one of our developers to
> finish other projects in order to start looking at httpd issued on windows.
> Things are getting better now so I should have a developer available in the
> next 2-3 weeks.
>
>
>
> Claudio
>
>
>
> ________________________________
>
> From: Mario Brandt [jblond@gmail.com]
> Sent: Thursday, May 31, 2012 2:18 PM
> To: dev@httpd.apache.org
> Subject: Re: Status of Windows-work for 2.4.x
>
> Is here any progess? Since there is a nice guy from microsoft, we should use
> that!
>
>
>
> Mario
>
>
>
> Send from my toaster via IPv6
>
> On Thursday, May 17, 2012, Gregg Smith wrote:
>
> On 5/14/2012 6:08 AM, Jim Jagielski wrote:
>
> On May 13, 2012, at 11:04 AM, Steffen wrote:
>
> No news from here too. Complaints from the Win community are growing.
>
> I know that I've pinged MS for help and that we rec'd some
> offers from MS engineers to assist us. Have we taken advantage
> of that?
>
> Last I saw from MS was this
> http://mail-archives.apache.org/mod_mbox/httpd-dev/201204.mbox/%3C391F7185EB3C0941A9DC21C4BB06EACB075134@BL2PRD0310MB349.namprd03.prod.outlook.com%3E
>
> unless replied to off list, I see no reply to Claudio's questions. This is
> beyond my understanding so I stayed mum.



-- 
Born in Roswell... married an alien...
http://emptyhammock.com/

RE: Status of Windows-work for 2.4.x

Posted by "Claudio Caldato (MS OPEN TECH)" <cl...@microsoft.com>.
I have a dev available now so we are ready to start.



I have been out of the loop for a while so I'll start by looking at https://issues.apache.org/bugzilla/show_bug.cgi?id=52476, please point me to any other relevant information. And please add 'Windows' to the subject line for any Windows related issue so it will be easier for me to know which messages I have to read.



I hope to have good news soon.



Thanks
Claudio

From: Claudio Caldato (MS OPEN TECH)
Sent: Thursday, May 31, 2012 2:46 PM
To: dev@httpd.apache.org
Subject: RE: Status of Windows-work for 2.4.x


Hi guys,



I guess I'm the 'nice guy from Microsoft' :)

Sorry for the long silence. I have been waiting for one of our developers to finish other projects in order to start looking at httpd issued on windows. Things are getting better now so I should have a developer available in the next 2-3 weeks.



Claudio



________________________________
From: Mario Brandt [jblond@gmail.com]
Sent: Thursday, May 31, 2012 2:18 PM
To: dev@httpd.apache.org<ma...@httpd.apache.org>
Subject: Re: Status of Windows-work for 2.4.x
Is here any progess? Since there is a nice guy from microsoft, we should use that!

Mario

Send from my toaster via IPv6

On Thursday, May 17, 2012, Gregg Smith wrote:
On 5/14/2012 6:08 AM, Jim Jagielski wrote:
On May 13, 2012, at 11:04 AM, Steffen wrote:
No news from here too. Complaints from the Win community are growing.
I know that I've pinged MS for help and that we rec'd some
offers from MS engineers to assist us. Have we taken advantage
of that?
Last I saw from MS was this
http://mail-archives.apache.org/mod_mbox/httpd-dev/201204.mbox/%3C391F7185EB3C0941A9DC21C4BB06EACB075134@BL2PRD0310MB349.namprd03.prod.outlook.com%3E

unless replied to off list, I see no reply to Claudio's questions. This is beyond my understanding so I stayed mum.

RE: Status of Windows-work for 2.4.x

Posted by "Claudio Caldato (MS OPEN TECH)" <cl...@microsoft.com>.
Hi guys,



I guess I'm the 'nice guy from Microsoft' :)

Sorry for the long silence. I have been waiting for one of our developers to finish other projects in order to start looking at httpd issued on windows. Things are getting better now so I should have a developer available in the next 2-3 weeks.



Claudio



________________________________
From: Mario Brandt [jblond@gmail.com]
Sent: Thursday, May 31, 2012 2:18 PM
To: dev@httpd.apache.org
Subject: Re: Status of Windows-work for 2.4.x

Is here any progess? Since there is a nice guy from microsoft, we should use that!

Mario

Send from my toaster via IPv6

On Thursday, May 17, 2012, Gregg Smith wrote:
On 5/14/2012 6:08 AM, Jim Jagielski wrote:
On May 13, 2012, at 11:04 AM, Steffen wrote:

No news from here too. Complaints from the Win community are growing.

I know that I've pinged MS for help and that we rec'd some
offers from MS engineers to assist us. Have we taken advantage
of that?
Last I saw from MS was this
http://mail-archives.apache.org/mod_mbox/httpd-dev/201204.mbox/%3C391F7185EB3C0941A9DC21C4BB06EACB075134@BL2PRD0310MB349.namprd03.prod.outlook.com%3E

unless replied to off list, I see no reply to Claudio's questions. This is beyond my understanding so I stayed mum.

Re: Status of Windows-work for 2.4.x

Posted by Mario Brandt <jb...@gmail.com>.
Is here any progess? Since there is a nice guy from microsoft, we should
use that!

Mario

Send from my toaster via IPv6

On Thursday, May 17, 2012, Gregg Smith wrote:

> On 5/14/2012 6:08 AM, Jim Jagielski wrote:
>
>> On May 13, 2012, at 11:04 AM, Steffen wrote:
>>
>>  No news from here too. Complaints from the Win community are growing.
>>>
>>>  I know that I've pinged MS for help and that we rec'd some
>> offers from MS engineers to assist us. Have we taken advantage
>> of that?
>>
> Last I saw from MS was this
> http://mail-archives.apache.**org/mod_mbox/httpd-dev/201204.**mbox/%**
> 3C391F7185EB3C0941A9DC21C4BB06**EACB075134@BL2PRD0310MB349.**
> namprd03.prod.outlook.com%3E<http://mail-archives.apache.org/mod_mbox/httpd-dev/201204.mbox/%3C391F7185EB3C0941A9DC21C4BB06EACB075134@BL2PRD0310MB349.namprd03.prod.outlook.com%3E>
>
> unless replied to off list, I see no reply to Claudio's questions. This is
> beyond my understanding so I stayed mum.
>

Re: Status of Windows-work for 2.4.x

Posted by Gregg Smith <gl...@gknw.net>.
On 5/14/2012 6:08 AM, Jim Jagielski wrote:
> On May 13, 2012, at 11:04 AM, Steffen wrote:
>
>> No news from here too. Complaints from the Win community are growing.
>>
> I know that I've pinged MS for help and that we rec'd some
> offers from MS engineers to assist us. Have we taken advantage
> of that?
Last I saw from MS was this
http://mail-archives.apache.org/mod_mbox/httpd-dev/201204.mbox/%3C391F7185EB3C0941A9DC21C4BB06EACB075134@BL2PRD0310MB349.namprd03.prod.outlook.com%3E

unless replied to off list, I see no reply to Claudio's questions. This 
is beyond my understanding so I stayed mum.

Re: Status of Windows-work for 2.4.x

Posted by Jim Jagielski <ji...@jaguNET.com>.
On May 13, 2012, at 11:04 AM, Steffen wrote:

> No news from here too. Complaints from the Win community are growing.
> 

I know that I've pinged MS for help and that we rec'd some
offers from MS engineers to assist us. Have we taken advantage
of that?


Re: Status of Windows-work for 2.4.x

Posted by Steffen <in...@apachelounge.com>.
No news from here too. Complaints from the Win community are growing.

Tried some other servers like nginx, sambar, iis and no one gives AcceptEx
failed like errors or I have to do some like Win32DisableAcceptEx or
AcceptFilter none.

Running now iis in front of Apache and, for me it runs the best to get
reliable and fast networking.

IIS https.sys is a way back discussed here and the user list.

An interesting note from bill,  Date:       2009-03-05 20:16:02

Perhap Apache on Windows needs to have patches offered.  HTTP.SYS
is an interesting technology and certainly fits the profile for
an entirely separate MPM and core network stack, unrelated to the
conventional httpd server.  Several folks have kicked around the
idea, but this is OPEN SOURCE SOFTWARE.  Until someone feels like
doing to the work, it won't exist, and trolling doesn't encourage
solutions in open source.

On that friendly note; I happen to actually be deep inside of the
Windows (*socket based*) MPM, and the Apache 2.3-alpha MPM now
handles AcceptEx + Data (retrieving first packets optimization),
along with a better/more effective 'classic' solution for accept
based on WSAEventSelect().  It's already proven significantly
faster in my initial tests, although I'm not seeing any big win
from the change to accepting the initial data.  We'll see how
that evolves, there are still two more performance changes I'm
designing into those listen/accept threads.

Bill

-----Original Message----- 
From: William A. Rowe Jr.
Sent: Monday, May 07, 2012 10:12 PM Newsgroups: gmane.comp.apache.devel
To: dev@httpd.apache.org
Cc: Jim Jagielski
Subject: Re: Status of Windows-work for 2.4.x

On 5/3/2012 8:47 AM, Jim Jagielski wrote:
> I'm curious what the status of 2.4.x-on-Windows is... What else
> can we do to speed this along?

Can't speak for anyone but myself; I am just recovering from a month of
changing machines
over and over again due to a dead critical/primary laptop.  Now that I have
two (impressed
with the evolution of the Dell E6420, but absolutely wow'ed by the newest
Sony SE series,
except for its two cores not four, and a sort-of-icky chicklet keyboard) I
stand a chance
of now messing around with 2.4 branch and trunk once again.

I'm thinking of a simple patch; in -D APR_SOCKET_DEBUG build of apr,
assert() on a recheck
of every on apr_os_sock_make().  If you inject a socket with ioctl flags in
the wrong
default mode, it should just freak out.  This wouldn't be a release flag, of
course but
should get us to the bottom of this flaw. 


Re: Status of Windows-work for 2.4.x

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
On 5/3/2012 8:47 AM, Jim Jagielski wrote:
> I'm curious what the status of 2.4.x-on-Windows is... What else
> can we do to speed this along?

Can't speak for anyone but myself; I am just recovering from a month of changing machines
over and over again due to a dead critical/primary laptop.  Now that I have two (impressed
with the evolution of the Dell E6420, but absolutely wow'ed by the newest Sony SE series,
except for its two cores not four, and a sort-of-icky chicklet keyboard) I stand a chance
of now messing around with 2.4 branch and trunk once again.

I'm thinking of a simple patch; in -D APR_SOCKET_DEBUG build of apr, assert() on a recheck
of every on apr_os_sock_make().  If you inject a socket with ioctl flags in the wrong
default mode, it should just freak out.  This wouldn't be a release flag, of course but
should get us to the bottom of this flaw.