On 5 November 2013 11:51, Jeff Trawick <traw...@gmail.com> wrote: > On Tue, Nov 5, 2013 at 4:07 AM, Steve Hay <steve.m....@googlemail.com> > wrote: >> >> On 5 November 2013 01:00, Steve Hay <steve.m....@googlemail.com> wrote: >> > On 4 November 2013 16:02, Steve Hay <steve.m....@googlemail.com> wrote: >> >> On 4 November 2013 15:38, Jeff Trawick <traw...@gmail.com> wrote: >> >>> On Mon, Nov 4, 2013 at 8:43 AM, Jeff Trawick <traw...@gmail.com> >> >>> wrote: >> >>>> >> >>>> On Mon, Nov 4, 2013 at 4:22 AM, Steve Hay >> >>>> <steve.m....@googlemail.com> >> >>>> wrote: >> >>>>> >> >>>>> On 30 October 2013 18:24, Steve Hay <steve.m....@googlemail.com> >> >>>>> wrote: >> >>>>> > I've now tried other perls (5.16.0, 5.18.0 and 5.19.4) in other >> >>>>> > build >> >>>>> > configurations (with/without PERL_IMPLICIT_SYS) and can confirm >> >>>>> > that >> >>>>> > the crash only occurs with perls built with PERL_IMPLICIT_SYS >> >>>>> > enabled. >> >>>>> > I generally use perl with that disabled (although that isn't the >> >>>>> > default configuration), so that's probably what I was doing when I >> >>>>> > had >> >>>>> > this working back in July. >> >>>>> > >> >>>>> > That is indeed a Windows-specific thing, unfortunately :-/ >> >>>>> > >> >>>>> > I will see what I can do to fix it since most users will indeed >> >>>>> > have >> >>>>> > the default configuration (certainly ActivePerl and Strawberry >> >>>>> > Perl >> >>>>> > both do) and hence experience the crash. >> >>>>> >> >>>>> As per your suggestion on the other thread, I've now merged the >> >>>>> httpd24 and threading branches togther into a new branch called >> >>>>> httpd24threading and I'm delighted to see that it does indeed fix >> >>>>> the >> >>>>> add_config.t crash when PERL_IMPLICIT_SYS is defined :-) >> >>>>> >> >>>>> There is one oddity when starting up the server: it complains that >> >>>>> "KeepAliveTimeout 300" has the wrong format! I don't understand >> >>>>> this. >> >>>>> The directive is not new and that syntax (number of seconds) has >> >>>>> long >> >>>>> been valid. httpd-2.3.2 added a new millisecond format (append >> >>>>> "ms"), >> >>>>> but that shouldn't affect this: >> >>>>> http://httpd.apache.org/docs/2.4/mod/core.html#keepalivetimeout >> >>>> >> >>>> >> >>>> The most likely cause would seem to be some stray character after the >> >>>> 300 >> >>>> (e.g., maybe a ^M on Unix)??? The next most likely (also unlikely) >> >>>> cause >> >>>> would seem to be that per-thread errno is hosed in your httpd build >> >>>> for some >> >>>> reason??? (yeah, I know how bogus this sounds :) ) >> >>>> >> >>>> 2.2 parses the number via the very forgiving atoi(). >> >>>> 2.4 parses the number with apr_strtoi64() which manipulates errno and >> >>>> also >> >>>> by checking what comes after the number, which also manipulates errno >> >>>> and is >> >>>> sensitive to the first character that apr_strtoi64() can't parse >> >>>> >> >>>> Maybe the quickest way to get to the bottom of it is to add some >> >>>> tracing >> >>>> to the three "return some-error" paths in >> >>>> server/util.c::ap_timeout_parameter_parse(). >> >>> >> >>> >> >>> I should be able to try that out... >> >>> >> >>> What do I need to grab from svn and run, and does this particular >> >>> error >> >>> reproduce on Linux? >> >>>> >> >> >> >> I haven't heard from others yet whether this reproduces on Linux. >> >> >> >> The only thing you need from svn is modperl's 'httpd24threading' >> >> branch and httpd-2.4 (I'm using 2.4.4) -- it works fine with 2.2. I >> >> doubt that the perl version is relevant, but I'm using 5.19.4. I've >> >> built everything in debug mode. I will have a look later; thanks for >> >> the tip where to look. There are definitely no stray characters after >> >> the 300 -- only a \n. >> > >> > Just tried again with httpd-2.4.6 and perl-5.19.5 and it works fine, >> > albeit in release builds. I will find out whether it's the upgraded >> > httpd, upgraded perl, or switch from debug to release mode that >> > "fixed" it... >> >> Returning to my (failing) debug mode 2.4.4 + 5.19.4 setup, if I >> upgrade perl to 5.19.5 (debug or release) then it still fails, but >> when I rebuild httpd in release mode then it works. >> >> Not sure what to make of that. I tried debugging the failing debug >> mode 2.4.4 but the debugger played up. It showed apr_strtoi64() >> succeeding (returning 300 with endp pointing at the NUL after the 300 >> and errno 0) so it set time_str to default_time_unit, but then went >> into the switch and decided that *time_str was none of 's', 'h' or >> ''m', so returned APR_EGENERAL. I don't understand how it can do that. >> >> I wish I could try a debug build of 2.4.6, but I don't know how to >> build that on Windows. There is no -win32-src for 2.4.x at >> http://mirrors.ukfast.co.uk/sites/ftp.apache.org//httpd/ (or other >> mirror sites). I've been using the -win32-src of the 2.4.4 version >> from http://people.apache.org/~gsmith/httpd/releases/ but there is no >> 2.4.6 there. My 2.4.6 build came from Apache Lounge, but there is no >> debug build there... >> >> Are there Windows build instructions for 2.4.x anywhere? > > > If you want to build with modern tools (e.g., VS 2010/2012): > > As far as Windows build instructions: One of the svn guys has a Perl script > to build httpd and a bunch support libraries with modern Microsoft tools, > hacking the project files along the way. The ApacheLounge and ApacheHaus > guys use various manual interventions to get it to work. We now have a cmake > build system for apr, apr-util, and httpd which for Unix-heads allows > building these in a sane manner, but that requires the latest from svn (i.e. > post-apr-1.4.8, post-apr-util-1.5.2, etc.). > > I can give you a debug build of recent levels of apr, apr-util, and httpd > that you want, or extract and adjust the cmake build system files so you can > drop it on top of certain levels (+ build instructions). I already have the > set of overlays for httpd 2.4.6, apr-1.4.8, and apr-util-1.5.2. There may > be a required patch or two, but I don't recall at the moment. > > Let me know if you can make use of either of these (and if appropriate, 32 > vs. 64 and which versions). >
A set of overlays for 2.4.6, apr 1.4.8 and apu 1.5.2 would be great. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@perl.apache.org For additional commands, e-mail: dev-h...@perl.apache.org