logo
Apache Lounge
Webmasters

 

About Forum Index Downloads Search Register Log in RSS X


Keep Server Online

If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.

or

Bitcoin

A donation makes a contribution towards the costs, the time and effort that's going in this site and building.

Thank You! Steffen

Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
Post new topic   Forum Index -> Apache View previous topic :: View next topic
Reply to topic   Topic: Apache 2.2.5 / 2.2.6 piped log-file problem
Author
Ol'man



Joined: 12 Sep 2007
Posts: 1
Location: Rostock, Baltic coast, EU, Planet Earth

PostPosted: Wed 12 Sep '07 14:54    Post subject: Apache 2.2.5 / 2.2.6 piped log-file problem Reply with quote

I just have test-installed httpd-2.2.6-p2-win32-x86-ssl vs. httpd-2.2.5-win32-x86-ssl (both the binaries from AL) with special attention to the well-known piped log-file problem (ErrorLog/CustomLog with rotatelogs et. al. )

Had to find out that 2.2.5 threw me back to the annoying situation that Apache
- could not start as service when a piped ErrorLog directive goes within default server. and
- zombied rotatelog.exe processes are hanging around after stopping Apache (apparently, there are already zombies - one for each piped log file - just after starting the service, and their number doubles upon stopping).

Piped CustomLog/ErrorLog directives within VirtualHosts are ok., CustomLog within default server writes "Error in my_thread_global_end(): 1 threads didn't exit" into the log file.

2.2.6 seemed to have this solved, however, it still reveals that every piped logger appears twice (each under a cmd.exe shell).

And here go some of my thoughts, regarding a possible (?) future solution of this messy things (I am not a programmer, so I can't judge ultimatively if the following aims are feasible):

Wouldn't it be better if
a) there were only one sub-process for each log file (aren't they vulnerable to be inter-locking each other?)
b) the piping to rotatelogs.exe et. al. could be done w/o invoking them through cmd.exe (which eats valuable ressources)
??

Since at least rotatelogs.exe (and surely other tools, like cronolog, are too) reveals to be a genuine windows executable, b) should be possible somehow.
Maybe some problems within apache code result from different behaviour of cmd.exe under different Windows versions, and that's one more good reason to get rid of it?

I know that the developers primarily want to do similar things with similar methods on each supported platform, but the whole piping thing, however, appears to be far away from being compatible between *ix/Windows. For example, under Windows it was never sufficient to specify the process we are piping to with relative path ("|bin/rotatelogs.exe...") like proposed in the docs (which confuses me everytime I have to switch between the platforms). I think this is basically due to the way Windows presents an environment to services, which may differ too fundamentally from *ix. And that may, in turn, lead towards to a more Windows-ish, thus straight-forward solution of the affected code parts.

Any thoughts?

(time for a great thank you to the AL team for taking care of all this stuff)
Back to top
admin
Site Admin


Joined: 15 Oct 2005
Posts: 679

PostPosted: Fri 14 Sep '07 20:48    Post subject: Reply with quote

Thanks for the nice words.

For the piped-log issue see also www.apachelounge.com/viewtopic.php?p=8758#8758

Steffen
Back to top


Reply to topic   Topic: Apache 2.2.5 / 2.2.6 piped log-file problem View previous topic :: View next topic
Post new topic   Forum Index -> Apache