RE: A bug with httpd-2.4.2 Win-x64

2012-04-17 Thread Bing Swen
The problem reported below was only with the binaries of the Debug 
configuration, but 
disappeared in the Release configuration. So here is my temporay way out:

/* line no. 680: */
#ifndef _DEBUG
free(ap_module_short_names[m-module_index]);
#endif

Regards,
Bing


Guenter Knauf [mailto:fua...@apache.org] wrote on 2012年4月16日 21:06

Hi Bing,
you did hit the apr list - I think this should go to the httpd list instead ... 
;-)


Am 16.04.2012 14:32, schrieb Bing Swen:
 After building the httpd-2.4.2 x64 binaries with VS2010, I encountered a 
 runtime error in the module libhttpd.dll, which alerts that a heap corruption 
 occurred at somewhere:
   file D:\_bsDev\KSE\httpd-2.4.2\server\config.c
   line 680:
free(ap_module_short_names[m-module_index]);

 The free() call always led to heap corruption like this:
   HeapFree(_crtheap, 0, pBlock);
   // access error with pBlock  == NULL.

 My temp solution is commenting off this single line to get httpd.exe run. 
 Please verify if it is a bug.




Re: A bug with httpd-2.4.2 Win-x64

2012-04-17 Thread Bing Swen
Hi Stefan,

I tried many possible ways, and only found this clue for now:

/* main.c, line 707 */
apr_pool_clear(pconf);  
==  unload_module(void *data)  
==  ap_remove_module(module *m)  
==  
free(ap_module_short_names[i] ) 
==  
HeapFree(_crtheap, 0, pBlock); 

 /* bad pointer: pBlock */

It always happens with the Debug config of the VS2010 x64 platform setting, not 
with the Release version, or both of the VS2008(VS9) x64 builds. 
BTW, I converted the project files in this way:
Apache.dsw + *.dsp == Apache(VS9).sln + *.vcproj == Apache(VS10).sln 
+ *.vcXproj

Regards,
Bing



Stefan Fritsch [mailto:s...@sfritsch.de] wrote on 2012年4月18日 3:29

On Tue, 17 Apr 2012, Bing Swen wrote:
 The problem reported below was only with the binaries of the Debug 
 configuration, but disappeared in the Release configuration. So here is my 
 temporay way out:

 /* line no. 680: */
 #ifndef _DEBUG
free(ap_module_short_names[m-module_index]);
 #endif

I can't see anything wrong with that code. I fear the heap corruption happens 
at some other place and it is coincidence that it is detected here. Are there 
any additional heap consistency checks that you can switch on?






Re: Document on developing modules for 2.4 and onwards

2012-04-11 Thread Bing Swen
Hi Daniel,

The draft is already a great document and very useful for Httpd application 
developers. And I think it could be more helpful if it provides some guidelines 
for updating modules from 2.2.x to 2.4.x, or some way to use the new 2.4 
features. 

Regards,
Bing 


-邮件原件-
发件人: Daniel Gruno [mailto:rum...@cord.dk] 
发送时间: 2012年4月11日 17:13
收件人: modules-...@httpd.apache.org; dev@httpd.apache.org
主题: Fwd: Document on developing modules for 2.4 and onwards

As per Igor's advice, I'm forwarding this message to the dev@ and modules-dev@ 
lists as well:


Hello all httpd document lovers,
As per our nifty little STATUS document, it came to my attention that we were 
missing an introductory segment on how to develop simple modules for httpd 2.4, 
so I took the liberty of drawing up a proposal for what we could put in place 
for this request. The draft is located at 
http://httpd.apache.org/docs/trunk/developer/modguide.html and I would much 
appreciate it if you guys could give me some feedback on whether this will fit 
in as an, at least for the time being, appropriate document to describe how to 
develop modules for the server.

I plan to expand on the subject, probably add another 10 pages or so, during 
the summer, as well as letting it into the 2.4 fold, provided I get positive 
feedback from this mailing list.

So, please do read the document and tell me what you think :) Any suggestions, 
critique etc you might have will be warmly accepted.

With regards,
Daniel.



RE: Windows testers, AcceptFilter troubles solved?

2012-03-17 Thread Bing Swen
William A. Rowe Jr. [mailto:wr...@rowe-clan.net], 2012年3月17日 9:32 

 Ok folks, here's what we know; on some platforms the blocking 
behavior is not being honored and SSL is terminated due to the client's 
failure
 to provide enough bytes in time.  In fact it is the fault of apr plus 
the socket stack for not returning without more bytes.
 
 That said, I neglected the fact that the following functions replace 
the passed variable with the old value, un-zeroing the value of zero!

 Please give this patch a whirl and let us know what you all see on 
various windows boxes with AcceptFilter data|connect|none against the ssl 
listener;

Just wondering how we can test it if we can not yet (re)build the Win32/64 
binaries from the source files... 

Cheers,
Bing





RE: Windows testers, AcceptFilter troubles solved?

2012-03-17 Thread Bing Swen
William A. Rowe Jr. [mailto:wr...@rowe-clan.net] wrote on 2012年3月17日 16:15

 On 3/17/2012 2:54 AM, Bing Swen wrote:
 
 Just wondering how we can test it if we can not yet (re)build the Win32/64 
 binaries from the source files... 

 How are you not suceeding?  The delta from 2.2 is rather nominal.
 
 Please be specific, is it the missing oldschool .mak files, or some 
 conversion to vcproj/sln files?
 I would like to help but I need to know where you are starting from in this 
 over-broad universe of MS compilation choices.

Sorry for not being more specific. I meant to how to patch and rebuild 2.4.1. 
And yes, the 2.2.22 build is just simple and working greatly so far.

Bing




RE: Announcement 2.4.1

2012-03-08 Thread Bing Swen
Steffen [mailto:i...@apachelounge.com]  wrote on  2012年3月8日 20:29

In the httpd 2.4.1 announcement: .There is not yet a Windows binary 
distribution of 
httpd 2.4, but this is expected to be remedied soon as various 
dependencies graduate 
from beta to GA. 

Users reading this as that  2.4.1 is not working at all on Windows, and 
holding even to try it.


btw,
I am not aware of current versions of the dependencies that have 
issues:  apr-1.4.6-P1 
apr-util-1.4.1 apr-iconv-1.2.1 pcre-8.21 lua-5.1 libxml2-2.7.8 
openssl-1.0.0g zlib-1.2.6. In 
fact, it works like a charm.


I do have the same question (about how soon) There will ben Windows source 
files for us to test.

Cheers,
bing




答复: Windows builds available

2012-02-29 Thread Bing Swen
How did you make these builds, particularly those Windows 64 bits Binaries? Can 
we share the directives, or can your method be integrated into the official 
release?

 

Bing

 

 

发件人: Steffen [mailto:i...@apachelounge.com] 
发送时间: 2012年2月29日 21:13
收件人: dev@httpd.apache.org
主题: Re: Windows builds available

 

Yep and reported directly to me which are primarily companies using/testing the 
builds.



On Wednesday 29/02/2012 at 14:06, Issac Goldstand wrote: 

On 29/02/2012 14:10, Steffen wrote: 

  No serious 2.4 bug reports received till now, which you do not already know. 
All runs fine.

Cool.  You refer to reports from users on your forums, I assume?

  Issac

 



RE: Apache 2.4.1 Throughput compared with nginx

2012-02-28 Thread Bing Swen
Some Nginx people just made a performance test with Apache 2.4.1 at
 http://blog.zhuzhaoyuan.com/category/c10k/
Were the Event_MPM configuration parameters somewhere close to optimal?

Regards,
Bing


Jim Jagielski [mailto:j...@jagunet.com] wrote on 2012年2月24日 20:57

 w00t!!!

 On Feb 23, 2012, at 5:26 PM, MATSUMOTO Ryosuke wrote:

 Hi all,
 
 I evaluated the throughput of Apaceh 2.4.1. I compared apache(2.4.1,
 2.2.3) with nginx.
 I used httperf benchmark 0.9.0 to measure thethroughput.
 
 http://blog.matsumoto-r.jp/?p=1812
 
 I feel bad about writing this article in Japanese in my hurry ;)
 
 Regards,
 --
 MATSUMOTO Ryosuke  matsu1229 at gmail.com  
 http://blog.matsumoto-r.jp/
 



Re: Apache 2.4.1 Throughput compared with nginx

2012-02-24 Thread Bing Swen
First time to catch up with a high performance edge web server with the lowest 
memory footprint ??
Maybe such performance race is good for both sides...

Regards,
bswen


-邮件原件-
发件人: Jim Jagielski [mailto:j...@jagunet.com] 
发送时间: 2012年2月24日 20:57
收件人: dev@httpd.apache.org
主题: Re: Apache 2.4.1 Throughput compared with nginx

w00t!!!

On Feb 23, 2012, at 5:26 PM, MATSUMOTO Ryosuke wrote:

 Hi all,
 
 I evaluated the throughput of Apaceh 2.4.1. I compared apache(2.4.1,
 2.2.3) with nginx.
 I used httperf benchmark 0.9.0 to measure thethroughput.
 
 http://blog.matsumoto-r.jp/?p=1812
 
 I feel bad about writing this article in Japanese in my hurry ;)
 
 Regards,
 --
 MATSUMOTO Ryosuke  matsu1229 at gmail.com  
 http://blog.matsumoto-r.jp/
 



Minor errors in Windows x64 build // Apache HTTP Server 2.2.22 Released

2012-02-08 Thread Bing Swen
Hi, Bill,

There seems to be some minor script problems to build a Win-x64 version of 
httpd 2.2.22. Here is a brief report for your confirmation.

File httpd-2.2.22/srclib/apr-iconv/build/modules.mk.win:

line 170:
$(API_SOURCE)\x64\Debug\libapriconv-1.lib
...
line 173:
CFG_OUTPUT  = x64\Debug\iconv


File  httpd-2.2.22/Makefile.win:

line 494 - 501:
copy srclib\apr-iconv\x64\$(LONG)\libapriconv-1.$(src_dll)  
$(inst_dll) .y
...
copy srclib\apr-util\ldap\x64\$(LONG)\apr_ldap-1.$(src_dll) 
$(inst_dll) .y
...
copy srclib\apr-util\dbd\x64\$(LONG)\apr_dbd_%d-1.$(src_dll) 
$(inst_dll) .y \
...
copy srclib\apr-util\dbm\x64\$(LONG)\apr_dbm_%d-1.$(src_dll) 
$(inst_dll) .y \

line 748:
BUILD_MODE=x64 Debug

line 787 - 798:
$(LONG) == x64\$(LONG)

Namely, we need to manually add a x64\ substring in the source paths. It 
seems better to change all the occurences $(LONG) to x64\$(LONG) to copy 
the correct x64 binary files, if all the other modules are also consistently 
output to their x64\Debug\ subdirectories.

Regards,
Bing


-邮件原件-
发件人: William A. Rowe Jr. [mailto:wr...@apache.org] 
发送时间: 2012年2月1日 6:35
收件人: annou...@apache.org
主题: Apache HTTP Server 2.2.22 Released

   Apache HTTP Server 2.2.22 Released

   The Apache Software Foundation and the Apache HTTP Server Project are
   pleased to announce the release of version 2.2.22 of the Apache HTTP
   Server (Apache).  This version of Apache is principally a security
   and bug fix release, including the following significant security fixes:
...




答复: About Apache

2011-12-27 Thread Bing Swen
Hi, 馬目,

It seems you are interested in the work organization and significance of the 
Apache server developers for conducting some study? I took a look at your 
website at Tsuda College in Japan (information science institue), and found 
that you are using the Apache HTTP server (version 2.2.3 with CentOS). Maybe 
your website administrator knows the answers for most of these question...

Regards,
bing

PKU, Beijing


-邮件原件-
发件人: 馬目彩 [mailto:pks@i.softbank.jp] 
发送时间: 2011年12月27日 16:08
收件人: dev@httpd.apache.org
主题: About Apache

Please tell me about Apache.
I have a few question. 

1. What is apache software to do?
2. What is the significance of global collaboration to this project?
3. What they do?
4. Why they do it?
5. How they collaborate with others?

--
馬目 彩
津田塾大学学芸学部情報科学科



答复: Win64 2.3.16 :: build warnings

2011-12-17 Thread Bing Swen
All of those warnings were int conversions, should be easy to fix.

 

bswen

 

 

发件人: Steffen [mailto:i...@apachelounge.com] 
发送时间: 2011年12月18日 3:30
收件人: dev@httpd.apache.org
主题: Win64 2.3.16 :: build warnings

 

Here the Win64 warnings attached.

 

Quite a lot, 442.

 

Btw. Windows 64 builds and runs fine with 2.3.16. Still  with a low memory 
print.

 

Steffen



Re: 2.3.15 on Windows

2011-11-22 Thread Bing Swen
Great news. Genuine progress actually, especially in terms of memory usage and 
grow rate.

Bing


-邮件原件-
发件人: William A. Rowe Jr. [mailto:wr...@rowe-clan.net] 
发送时间: 2011年11月21日 13:01
收件人: dev@httpd.apache.org
主题: Re: 2.3.15 on Windows

On 11/20/2011 2:11 PM, Steffen wrote:
 No issues so far, all looks fine till now, see/feel no difference over 
 2.2, only memory usage is quite better, ~70% less here so far and is 
 growing not that much over time. Speed is on par with 2.2.

Sound like progress, which is all we ask for version revs :)



RE: Pushing for httpd 2.4.0 GA

2011-09-16 Thread Bing Swen

Steffen [mailto:i...@apachelounge.com] wrote on 发送时间: 2011年9月16日 3:46

 ... 
 Acept filter issue means in common that 2.4.0 cannot be used on Windows.

Or would it better that 2.4.x only excludes Windows XP (32-bit) support, but 
Windows Vista and the later can be well supported?

Also, official support of the Windows x64 versions of httpd-2.4.x is very 
important.

Regards,
Bing


- Original Message -
From: Stefan Fritsch s...@sfritsch.de
To: dev@httpd.apache.org
Sent: Thursday, September 15, 2011 9:09 PM
Subject: Re: Pushing for httpd 2.4.0 GA


On Thursday 15 September 2011, Jeff Trawick wrote:
  I plan on push for a GA in Oct (of this year)…
 
  The only 2 showstoppers I see as reasonable are the
  documentation ones and the mod_fcgid one. I plan on adding
  doccos for the ones that are currently lacking, but the
  question is what to do about mod_fcgid… What's the best
  way to accomplish folding mod_fcgid into 2.4? Should we copy
  trunk of mod_fcgid and put it into trunk of 2.4? Use some svn
  mojo? etc…?

I think the windows accept filter issue is a real blocker. The only
alternative would be to release 2.4.0 without official support for
Windows.

 The bundling of fcgid shouldn't be a blocker IMO.  Much to my
 disappointment I haven't had time to work on it lately, and I see
 that no one else has either.

+1, mod_fcgid can be added in 2.4.1+



RE: Query

2009-03-16 Thread Bing Swen
Sorry that I have little idea of log4cxx, so I can not help you for that topic.

Bing


-Original Message-
From: Govinda Raju Narayan [mailto:gnara...@unidesk.com] 
Sent: Monday, March 16, 2009 8:41 PM
To: Bing Swen
Subject: RE: Query

Appreciated, for quick response, Is there anyway I can use log4cxx at kernel 
level?

Thanks
Raju

-Original Message-
From: Bing Swen [mailto:bs...@pku.edu.cn] 
Sent: 16 March 2009 4:02 PM
To: Govinda Raju Narayan
Subject: RE: Query

Govinda Raju Narayan [gnara...@unidesk.com] wrote on Monday, March 16, 2009 
2:09 PM

 Is APR available at kernel level?, I mean Is I can use APR at driver code on 
 both 
  windows and Linux?. The reason is I'm looking for feasibility of using 
 log4cxx 
 at driver level.

I think not. APR needs CRT (C Runtime) library, but no OS provides a CRT at its 
kernel.

Bing







Re: [WIN32] Using WSAPool for Vista+

2009-02-09 Thread Bing Swen

Mladen Turk mt...@apache.org wrote on 2009-2-9 17:25

Hi,

Vista (Server 2008) and up comes with new winsock WSAPoll API.
Now I did some experiments and it compiles the unix/pool.c
by simply changing poll( ... ) to WSAPoll(...)

There is also no limitation on pollset size (currently
select is limited to FD_SETSIZE 1024, cause it's too slow
for higher numbers). Well, the testpoll.c passes
with 16K sockets.
Httpd works like a charm with 10K connections.

Now the problem is that to be able to use it,
we would need a pollset implementation
provider that will dynamically switch back to select in case
winsock doesn't defines WSAPoll.

That makes me think we can have that generic, allowing
different pollset providers for non-windows platforms
as well (If it makes sense of course), eg. something
like we have for proc_mutex.
(apr_proc_mutex_unix_lock_methods_t would actually become
 apr_poll_methods_t allowing choosing different
 poll providers, again where it makes sense)



As I've learned , WSAPoll was designed to behave just like the Unix poll(), 
but it seems to have got counterpart performance of Linux epoll. Some 
Windows port of Nginx has used WSAPoll to simulate its ngx_poll_module.c on 
Windows 6.x (Vista and 2008), and seems to achieve the same performance 
improvement. Though like poll(), this is just a single-threading I/O model, 
and thus it should be less efficient than the IOCP (completion port) API. 
It's not uncommon for a single online game or IM server that uses IOCP to 
handle 100K+ (slow  long-duration) connections with quite a few (4~8) 
threads.


But there seems no reason not to use WSAPoll to implement apr_pollset_t 
(when _WIN32_WINNT = 0x0600), at least for such performance gain. That 
could also benefit httpd a lot, e.g., the worker MPM of httpd using 
apr_pollset_t will be easily ported to Windows 6+, and possibly has the same 
(or much better?) network I/O performance than the current Windows MPM 
version winnt_mpm, which currently uses a suboptimal ICOP scheme.


Bing

School of EECS
Peking University




Re: [VOTE] Release Apache HTTP server 2.2.11

2008-12-19 Thread bing swen
William A. Rowe, Jr. wrote

 
 .dsw+.dsp lets us provide everyone with a makefiles and Makefile.win that
 works ***everywhere***.  If you insist on a GUI, there is one extra step
 for Visual Studio 2002 (.NET) - Visual Studio 2008 users.  But would you
 like that we provide you a Visual Studio 2008 project that VS 2005 users
 can't even load - due to the fact that the MS VS team insists on breaking
 the project description layout on every successive release?
 
 As I said before, it's a non-trivial problem, and if you want to vent
 please be our guest, and vent at the source of the problem, not we.
 

I think most of us already have an idea of the source of the problem, and so 
please don't treat it as just complaining. One of the good things of open 
source is that it gives people patience and an open mind. 

As someone pointed early, it's probably time to move forward. If we continue to 
seriously think Win32/64 as an important platform for Apache (which was part of 
the reasons that shaped httpd 2.0), the time to say goodbye to those old 
Microsoft C 1995/98 .dsp stuff seems to have come. Here we probably shouldn't 
say much on MS's self compatibility policies. The reality is not that ideal; 
Even VS 2008 project files need to co-exist with VS 2005 and prior (though 
upgrading is usually much better). So I wonder if there is a possibility to 
propose a vote (or any other method) in the near future to see how many people 
still intend to use VS 5/6 (or perhaps Win9x) to run their Apache servers, and 
whether most of us would like to get rid of those dinosaurs and move forward. 
(As made clear sometime earlier, Windows 2008 R2 will only have 64-bit 
versions. The clock is ticking;-) 

Bing





Re: [VOTE] Release Apache HTTP server 2.2.11

2008-12-18 Thread Bing Swen

Jorge Schrauwen jorge.schrau...@gmail.com wrote on 2008年12月17日, 19:07



For the early httpd-2.2.x series it has compiled on Win64. Then again it's
very picky in which platform you use.
Win XP x64 + VS2005/8 works best. Vista x64 is has some problems with
platform SDK (not sure they are fix now).


How long will they be compilable? I don't know. I think it has more to do
with the makefile(s) than with the code it self.



There seems to be a bug in the project updating functions of VS2005/08: 
embedded \ char's in the .rc files always made a fatal error to the 
resource compiler (rc.exe), e.g.,


   ... LONG_NAME=Apache HTTP Server ...

If all the inner \ are replaced with \' (namely, quot; to apos;), 
then the updated project files (.vcproj) will be OK to compile.


Was this part of the problems with the makefile(s)?

Bing





Revise VC6 .dsp files -- was: [VOTE] Release Apache HTTP server 2.2.11

2008-12-18 Thread Bing Swen

Jorge Schrauwen wrote on 2008年12月18日 20:10


On Thu, Dec 18, 2008 at 10:14 AM, Bing Swen bs...@pku.edu.cn wrote:

Jorge Schrauwen jorge.schrau...@gmail.com wrote on 2008年12月17日, 
19:07



For the early httpd-2.2.x series it has compiled on Win64. Then again 
it's

very picky in which platform you use.
Win XP x64 + VS2005/8 works best. Vista x64 is has some problems with
platform SDK (not sure they are fix now).


How long will they be compilable? I don't know. I think it has more to 
do

with the makefile(s) than with the code it self.



There seems to be a bug in the project updating functions of VS2005/08:
embedded \ char's in the .rc files always made a fatal error to the
resource compiler (rc.exe), e.g.,

  ... LONG_NAME=Apache HTTP Server ...

If all the inner \ are replaced with \' (namely, quot; to apos;),
then the updated project files (.vcproj) will be OK to compile.

Was this part of the problems with the makefile(s)?



Looks like you haven't run cvtdsp.pl to convert the vc6 dsp's to once that
upgrade.

There is a more detailed explenation here:
http://www.blackdot.be/?inc=apache/knowledge/tutorials/x64


~Jorge



I already read your nice tutorial there, and many thanks. But I just meant 
whether it is possible to just revise the makefiles (VC6 .dsp files) in 
the official httpd Win32 release package to make the updated Win64 project 
files directly compilable?


Bing




Re: [VOTE] Release Apache HTTP server 2.2.11

2008-12-18 Thread bing swen
William A. Rowe, Jr. wrote
 
 Bing Swen wrote:
 
  There seems to be a bug in the project updating functions of VS2005/08:
  embedded \ char's in the .rc files always made a fatal error to the
  resource compiler (rc.exe), e.g.,
 
 ... LONG_NAME=Apache HTTP Server ...
 
  If all the inner \ are replaced with \' (namely, quot; to apos;),
  then the updated project files (.vcproj) will be OK to compile.
 
  Was this part of the problems with the makefile(s)?
 
 It's a bug in Visual Studio (already reported when we were meeting with the
 a couple Visual Studio development folks in Redmond)... the fix is pretty
 weird...
 
 srclib\apr\build\cvtdsp -2005
 
 Now the resulting .dsp files can never be opened again in studio 5/6, but
 the quotes are shifted around for purposes of importing.

So is it a good idea to maintain two sets of project files to cope with this 
problem: one for the old VS 5/6 .dsp files (no more x64 support), and one for 
VS 2005/08 .vcproj files (with direct x64 support)?

Bing





Re: [VOTE] Release Apache HTTP server 2.2.11

2008-12-18 Thread Bing Swen

William A. Rowe, Jr. wrote:


bing swen wrote:


So is it a good idea to maintain two sets of project files
to cope with this problem: one for the old VS 5/6 .dsp files
(no more x64 support), and one for VS 2005/08 .vcproj
files (with direct x64 support)?


No, it's a horrid idea.


Sorry for this. Since 2+ years have passed (since httpd-2.2.2, the last
Win-x64 compilable version), I thought of some progress even at the cost
of such complexity.




It's a good idea to drop to one cross-platform reference file as
apr has (config.layout), and spit out whatever the heck the user
wants (visual studio .dsw, .sln, eclipse, codewarrior etc etc.)



One more idea: would it sound good (not that complex) to put all the
makefiles and build project files, and intermediate .obj files as well,
into a separated top directory to maintain the purity of the source code?
e.g.,

   httpd-2.2.x
   /.../* official release files */
   /build
   /netware
   /linux
   /windows
   /win32/Debug/*.obj
   /...
   /x64/Release/*.*
   /...

All the build directive files use relative paths to the source files, and we
give each platform a separate subdir under /build.

Bing




Re: [VOTE] Release Apache HTTP server 2.2.11

2008-12-17 Thread Bing Swen


Jim Jagielski j...@jagunet.com wrote on 2008-12-14 23:24


On Dec 13, 2008, at 9:32 AM, Ruediger Pluem wrote:


2. A number of non binding positive votes and positive feedback.
3. Binding votes:

  0 -1
  0 +0
  8 +1 (Colm, Sander Temme, Brad, Jim, Bill, Lars, Jeff, Ruediger)

  So the vote has passed.

I will copy the release files to the dist directory now and give the
mirrors
about 24 hours to catch up. I plan to announce the release  officially by
tomorrow evening CET.



Don't forget to update the various site files, announcements,
etc... as of this morning, 'http://httpd.apache.org/' and
'http://httpd.apache.org/download.cgi' still refer to 2.2.10
with smatterings of 2.2.11 around



It may seem to be an out of fashion question,
but I hope anyone can give a clear answer:

How long will we have a compilable Windows x64 httpd-x.y.z release?
Infinitely long? ;-)

Bing





Re: httpd win64 binaries

2008-11-03 Thread Bing Swen

Jorge Schrauwen [EMAIL PROTECTED] wrote on 2008-11-3 16:26


On Mon, Nov 3, 2008 at 8:10 AM, William A. Rowe, Jr. wrote:


Jorge Schrauwen wrote:


The subject of not having an official binary package was brought up.
We couldn't think of a reason why not except no body wants or has the
time to do it.


That's not it.

The problem is MS's creation.  We can either ship an 'official' 
msvcrt.dll

based, DDK-built flavor, or the crap of the month 2005 or 2005sp1 or 2008
or 2008sp1 binary.  Let's face it, flavor of the week doesn't work for an
approach to a C runtime.



Now that you mention it I do seem to vaguely remember something about 
this.

So unless the MS gets there act together (which I doubt will happen in
anytime soon) we won't see any 64-bit binaries?



Though we are eager to see an 'official' 64-bit Windows httpd release, but 
if not binaries, why shouldn't there be an x64 configured Apache.sln? It 
will be already great to let people have the chance to do their own x64 
compilation.


It was made clear that 32-bit will soon be over at the Windows server end 
(http://blogs.technet.com/windowsserver/archive/2008/10/28/announcing-windows-server-2008-r2.aspx). 
I guess most of us still think that Windows Server remains as an important 
platform for Apache. So it's really time to make this little step further.





So selecting a version that is most popular say 2005(sp1) and only
using that one is out of the question?



Jorge's Win64 binaries already seem to work perfectly on mainstream Windows 
versions. Shouldn't it be able to improve to be offical?

(I just found it can not load some modules built with VS005/Win008, though).


Bing





Re: httpd win64 project sources/makefiles [was:...binaries]

2008-11-03 Thread Bing Swen

Dan Poirier [EMAIL PROTECTED] wrote on 2008-11-3 21:13


William A. Rowe, Jr. said the following on 11/03/2008 07:32 AM:


Lets look to supporting [name your favorite IDE] as a bigger picture
item not specific to windows, and to transition away from .dsp for
the build/ide view support.


Re: windows, aren't there one or more ports of gcc?  Would something like 
that be worth considering as a more stable build solution than MS's tools?


There is a runtime library issue. Most GCC ports do not generate object code 
that can be linked with the necessary WinAPI runtime lib's. e.g, httpd needs 
to link to lots of MS C startup libraris to use the file system, socket API, 
IOCP, etc.


Bing 





Re: httpd win64 project sources/makefiles [was:...binaries]

2008-11-03 Thread Bing Swen

Marc Noirot [EMAIL PROTECTED] wrote on 2008-11-3 22:06


William A. Rowe, Jr. said the following on 11/03/2008 07:32 AM:

Lets look to supporting [name your favorite IDE] as a bigger picture
item not specific to windows, and to transition away from .dsp for
the build/ide view support.


What about going one step further and using a tool
able to generate Makefiles and IDE files for [name some of your favorite 
IDEs] ?


I'm thinking about something like CMake, which is able to target
the following environments on Windows :
# Borland Makefiles
# MSYS Makefiles
# MinGW Makefiles
# NMake Makefiles
# Unix Makefiles
# Visual Studio 6
# Visual Studio 7
# Visual Studio 7 .NET 2003
# Visual Studio 8 2005
# Visual Studio 8 2005 Win64
# Visual Studio 9 2008
# Visual Studio 9 2008 Win64
# Watcom WMake
# CodeBlocks - MinGW Makefiles
# CodeBlocks - Unix Makefiles
# Eclipse CDT4 - MinGW Makefiles
# Eclipse CDT4 - NMake Makefiles
# Eclipse CDT4 - Unix Makefiles

--
Marc Noirot


This seems overwhelming. So it seems possible for httpd to have a 
one-to-fit-all IDE project file generator? Then everyone will have a 
happy ending...


Bing





Re: Simple MPM is in trunk

2008-10-30 Thread Bing Swen
Jorge Schrauwen  wrote on 2008-10-30 17:03
  On Thu, Oct 30, 2008 at 5:37 AM, Bing Swen [EMAIL PROTECTED] wrote:

Paul Querna wrote on 2008-10-30 12:10


  Bing Swen wrote:

Paul Querna wrote on 2008-10-28 15:12


Hope you've included 64-bit Windows in mind. Make x64 Windows a 
first-class citizen in httpd-2.4.x, please.


  How is it not a first class citizen in 2.2.x?


Here are some reasons:

1. Currently Win-x64 compilation is a painstaking mission (hopeless for 
us), still no go to a 64-bit httpd.exe;


  I have to admit it isn't easy to do so. But it certainly is possible!
  Due to lack of time on my part I've not updated the httpd wiki but you can 
find how to do it here:
  http://www.blackdot.be/?inc=apache/knowledge/tutorials/x64

  First few times are the hardest but once you setup a nice build 
environment its all good.
  Vista + vs 2005/2008 is generally bad. XP x64 + 2005 currently works the 
best, although 2008 works too.

  If you can't be bothered with the trouble, there are unofficial binaries 
on there too if you want to play with it.


2. Many stock modules have no 64-bit configuration.

  Again it's a matter of recompiling, most windows users are spoiled and 
thing everything comes in nice binaries.
  libphp5, mod_macro, mod_jk, mod_security,... can all be recompiled for 
64-bit, most are easier to do than httpd itself.



Thanks for the nicely presented tutorial. I'll try to follow it and to 
understand what that 600+ PERL lines have fixed.

So we have to get AWK, Bison, Flex and Sed to work, which are not required 
for a 32-bit build. And, we need a Perl Interpreter to run some magic 
conversions to get it built. That already made Win-x64 httpd a second-class 
citizen;)

3. For some that compiles, there are lots of warnings of dangerous 
conversions. Win-64 uses P64 (only pointers are 64 bits), instead of PL64 
like Linux.

4. Suboptimal network i/o and so second-class performance. Native 
support of IOCP (completion port) needs a mapping from requests (not 
connections) to worker threads, so requires httpd to do some connection 
scheduling (suspendable connections as discussed before).


Bing


  Personally I'd love to see the httpd project release 64-bit binaries 
themselves. But it's a lot of work for not much gain!*

  * tests with the early 2.2 branch show little to no improvements.




The improvement is httpd's virtual memory -- and actually very significant: 
we need to map a 500+ GB index into the memory space of httpd's child 
process. 64-bit space is our only choice;)

Bing




Re: Simple MPM is in trunk

2008-10-30 Thread Bing Swen

Jorge Schrauwen wrote on 2008-10-30 18:46


biggest problem atm is getting the apr dbd drivers for mysql and such.
(never got that to work)



Personally I'd love to see the httpd project release 64-bit binaries
themselves. But it's a lot of work for not much gain!*
* tests with the early 2.2 branch show little to no improvements.



The improvement is httpd's virtual memory -- and actually very
significant: we need to map a 500+ GB index into the memory space of
httpd's child process. 64-bit space is our only choice;)


Well a proxy with a mem_cache would definatly benifit from it.


apr dbd drivers have become a nightmare for those who tried and failed to 
build a Win-x64 httpd.exe after httpd-2.2.2.


And we must have some source code integration with httpd itself (at least 
necessary for debugging), so we didn't use your unofficial binaries. It's 
been a shame (and frustration as well) to say that we are still using 
httpd-2.2.2 ...


Bing




Re: Simple MPM is in trunk

2008-10-29 Thread Bing Swen

Paul Querna wrote on 2008-10-28 15:12


I've added the Simple MPM to trunk:
https://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/simple/

...
One of the major departures is that it doesn't use any of the functions 
from os/unixd/, which I believe is a good long term decision, since I 
would like to get the MPM working on Windows.


Hope you've included 64-bit Windows in mind. Make x64 Windows a first-class 
citizen in httpd-2.4.x, please.


Bing

School of EE  CS, Peking University,
Beijing 100871
http://icl.pku.edu.cn/




Re: Simple MPM is in trunk

2008-10-29 Thread Bing Swen

Paul Querna wrote on 2008-10-30 12:10


Bing Swen wrote:

Paul Querna wrote on 2008-10-28 15:12

Hope you've included 64-bit Windows in mind. Make x64 Windows a 
first-class citizen in httpd-2.4.x, please.


How is it not a first class citizen in 2.2.x?


Here are some reasons:

1. Currently Win-x64 compilation is a painstaking mission (hopeless for us), 
still no go to a 64-bit httpd.exe;


2. Many stock modules have no 64-bit configuration.

3. For some that compiles, there are lots of warnings of dangerous 
conversions. Win-64 uses P64 (only pointers are 64 bits), instead of PL64 
like Linux.


4. Suboptimal network i/o and so second-class performance. Native support of 
IOCP (completion port) needs a mapping from requests (not connections) to 
worker threads, so requires httpd to do some connection scheduling 
(suspendable connections as discussed before).


Bing




Re: [VOTE] Release Apache HTTP server 2.2.10

2008-10-15 Thread Bing Swen


William A. Rowe, Jr. [EMAIL PROTECTED] wrote on 2008-10-14 23:06


Tom Donovan wrote:

William A. Rowe, Jr. wrote:


I noticed a few little things building 2.2.10 with VC9 on Windows:

* the windows source .zip is missing most of apr-iconv - only the .mak
and .dep files are present.
With previous versions we included all the files for iconv (from
apr-iconv-1.2.1-win32-src-r2.zip)


Bugger - thanks for catching that!  As this still lives in /dev/dist/, 
I've

just replaced it with a corrected httpd-2.2.10-win32-src.zip



There are another 8 projects that currently cannot be built with x64 
configuration on Windows. Here is some error message:


- libapriconv_ccs_modules:
   link to ..\Debug\libapriconv-1.lib error (should to 
..\x64\Debug\libapriconv-1.lib


- apr_dbd_mysql:
   mysql.h: No such file or directory

- apr_dbd_oracle:
   oci.h: No such file or directory

- apr_dbd_pgsql:
   libpq-fe.h: No such file or directory

- apr_dbd_sqlite2
   sqlite.h: No such file or directory

- apr_dbd_sqlite3:
   sqlite3.h: No such file or directory


(And, still, we can not yet build x64 httpd.exe ;)

Bing





Re: Future direction of MPMs, was Re: svn commit: r697357 - in /httpd/httpd/trunk: include/ modules/http/ modules/test/ server/ server/mpm/experimental/event/

2008-09-21 Thread Bing Swen

Paul Querna [EMAIL PROTECTED] wrote on  2008-9-21 4:21


Graham Leggett wrote:
I know there are likely huge problems with this, but I would like to see 
how far
we can push the Event MPM, figure out what to do better, if there is 
anything, and then really dive into the 3.0 development before 
ApacheCon.


How difficult would this be to support in the other MPMs?


Windows, Worker MPM and the similar threaded MPMs could do it easily.

But, IMO, I want to eliminate all of the MPMs for 2.4/3.0.

I believe the MPMs as they are designed right now, are both a layer of 
portability, and a module that defines behavior or the model.



  ...


Basically, one MPM to rule them all, with a configuration directive that 
can make it act like prefork or the event MPMs.




Currently the role that MPMs play is to map a connection (with many 
requests, by HTTP/1.1) to a worker (a thread or process). But an optimal 
network i/o model needs a layer that maps a *request* to a thread, so that a 
worker thread (or process) will not have to be tied up entirely with a 
single connection during the whole life time of the connection. Instead, a 
worker can be scheduled to handle different connections, which helps both 
reducing the number of workers and the performance of request handling 
(especially on slow connections).


Such a layer should unify the upper interface of Event driven i/o, Windows 
i/o completion port, and many other async i/o mechanisms. With luck and 
careful design, the current filtered i/o chain and the module API can remain 
the same.


I hope that this would be one of the best features that 2.4+ will bring to 
us, as finally it will support any optimal i/o model on various platforms, 
and answer the doubts on Apache performance once and forever.


Bing

School of EE  CS,
Peking University,
Beijing 100871





Re: [community] 2.3.0 alpha on October 1?

2008-09-14 Thread Bing Swen

William A. Rowe, Jr. wrote on 2008年8月22日 9:03:

Which brings me to the other half of [community], I'm proposing we hold
an Apache httpd {next} barcamp session for the community who are at
ApacheCon BarCamp on Tuesday to learn about what has changed, what might
change, and perhaps if we get enough folks to express interest ... about
what they want to change.


Another related question: We haven't been able to build httpd on 64-bit 
Windows for about two and half years, since the April 2006 release of 
httpd-2.2.2 (But x64 build is crucial for our application, and that's why we 
are still using that aged version). Shall we have 64-bit Windows release 
in the near future, say 2.2.10? (btw, we are really delighted to see that 
now APR has a *clean* compile on x64 Windows.)


Bing

School of EE  CS,
Peking University,
Beijing 100871 





Re: [community] 2.3.0 alpha on October 1?

2008-09-14 Thread bing swen
Jorge Schrauwen wrote on Sunday, September 14, 2008 7:47 PM



  This is no true. The latest version I've been able to compile was 2.2.9
  http://www.blackdot.be/?inc=apache/binaries

  You are however correct that it's getting more cumbersome! Vista + VS 
2005/2008 is a no go. I'm using a XP x64 with VS 2005 in vmware to build it 
now. Also command line building is busted Using the IDE it's still possible.


We have to use Visual Studio 2005 plus Windows Server 2003 R2 x64 (SP2) and 
Windows 2008. We couldn't build it using the IDE with the version macro 
_WIN32_WINNT=0x0500 or 0x0600. (However, the APR part can be compiled 
cleanly.)

Bing


Re: [community] 2.3.0 alpha on October 1?

2008-09-04 Thread Bing Swen

Akins, Brian wrote on 2008年9月3日 7:54


Egads, no wonder they got such horrible performance.  Worker (or event,
maybe) seems to be the best way to go, at least based on our testing.


Yes, Worker can work much better, but seems to be basically the same order 
of magnitute as threads on Windows (still far more less scalable in terms of 
concurrent connections than Nginx). Maybe you have super-optimized 
hardware and system?




...  We run internal benchmarks often and collect a
lot of performance statistics from live traffic (response times, etc.)  We
also, however, do not run any vendor supplied httpd build, either.
RedHat's, for example, is not for production websites, IMO.


So I wonder perhaps next time you guys may bother to take time to also run 
Nginx on your platform and tell us how it performs against your httpd 
build...


Bing

Bing Swen (孙斌)
School of EE  CS, Peking University,
Beijing 100871
Tel:86-10-62753081 ext 102
Fax: 86-10-62759444
[EMAIL PROTECTED]





Re: [community] 2.3.0 alpha on October 1?

2008-09-02 Thread bing swen

Akins, Brian wrote on Tuesday, September 02, 2008 11:31 PM:


sustain about 45k requests/sec on our build on a dual dual-core system 
with

a network card that supports Linux NAPI (that made a huge difference).
Without much tuning 35k is pretty easy. (Note: this was very small files,
bcs it's so easy to fill the network interfaces).

Apache is slow is just FUD, plain and simple...


There is a little different viewpoint. According to some recent test reports 
comparing Apache 2.2 and Nginx 0.6/0.7 (from a blog website admin.), Apache 
could do as well as Nginx when there are a few connections each of which 
carries many many requests. The hard time for Apache came when there are 
many *slow connections*, each of which sends only a few small requests at 
large durations. In such condition, Apache could hardly respond when the no. 
of connections reached over 3,000 (even when there is still much free 
memory). By contrast, responses from Nginx kept full speed even with 10 
times more connections. It seems only to slow down when it runs out free 
memory, but not limited by concurrent connections. (The same is true for 
Apache on Win.Server '08. But I guess the Linux version might not have 
Linux NAPI support.)


Such slow connection issue happens to be the typical scenario of video, chat 
or blog authoring websites. No wonder they are willing to put aside their 
familiar Apache just for cutting off the budget. So it makes sense to 
concern whether Apache needs improving over this problem. If so, the only 
question is how;)


Bing

School of EE  CS,
Peking University,
Beijing 100871




Re: [community] 2.3.0 alpha on October 1?

2008-09-02 Thread bing swen

Akins, Brian wrote on Wednesday, September 03, 2008 2:07 AM


I saw this comparison somewhere.  It just does not seem to match what I 
have
seen.  Our little ole website has been known to take a few connections 
from

slow clients, but we have not really seen this slow down.  I'd like to see
more specifics of the test.  All of my numbers are from real world 
stuff.


It seems the test (done by another guy) indeed used an everything plus the
kitchen sink default Apache httpd at first, but then dropping off 3/4 of
all of the default modules (maybe not that much, but only for serving
static pages) seemed to have a not big help. The MPM used the default
configuration (prefork on Linux and threads on Windows). [not your
settings?]



(FYI, NAPI is just a way which Linux handles NIC irq's better - a gross
simplification, but it makes a huge difference on very busy web servers.
I'm sure other OS's have something similar?)


Maybe that was a big difference. (The default Linux didn't provide such
feature.) But it might have limited help for greatly increasing the
connection number.

Bing

School of EE  CS,
Peking University,
Beijing 100871




Re: [community] 2.3.0 alpha on October 1?

2008-08-31 Thread Bing Swen
William A. Rowe, Jr. wrote:
 Which brings me to the other half of [community], I'm proposing we hold
 an Apache httpd {next} barcamp session for the community who are at
 ApacheCon BarCamp on Tuesday to learn about what has changed, what might
 change, and perhaps if we get enough folks to express interest ... about
 what they want to change.

Dose anybody ever think of improving the runtime performance of Apache httpd 
to be
somewhere close or at least comparable to that of Nginx? At this time Nginx 
is only
a test version, but as far as I know here in China, its efficiency gain is 
so tempting that
the 0.6.x and 0.7.x versions have dominated the flash-video websites, most 
of which
are top traffic-ranked ones.

Lighttpd is another excellent example that provides far more better runtime 
performance.

Although Apache is famous for its modular design and configuration 
flexibility, it seems
these new comers are challenging the relevance of Apache in real use. Is 
there any
chance for Apache to get much better performance while retaining its design 
beauty?

To my knowledge, the one thread per connection network i/o model is a 
suboptimal use
of the Windows IOCP (i/o completion port) mechanism. IOCP suggests that only 
a very few
threads (no. of CPU cores) would be sufficient to handle tens of thousands 
of requests.
Nginx uses an event driven i/o model, with economic memory allocation. 
Apache does
have an event driven MPM for some platform (needs further development to 
match).

Bing

School of EE  CS,
Peking University,
Beijing 100871