perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Hay <>
Subject Re: httpd24 on Windows?
Date Tue, 05 Nov 2013 09:07:22 GMT
On 5 November 2013 01:00, Steve Hay <> wrote:
> On 4 November 2013 16:02, Steve Hay <> wrote:
>> On 4 November 2013 15:38, Jeff Trawick <> wrote:
>>> On Mon, Nov 4, 2013 at 8:43 AM, Jeff Trawick <> wrote:
>>>> On Mon, Nov 4, 2013 at 4:22 AM, Steve Hay <>
>>>> wrote:
>>>>> On 30 October 2013 18:24, Steve Hay <>
>>>>> > I've now tried other perls (5.16.0, 5.18.0 and 5.19.4) in other
>>>>> > configurations (with/without PERL_IMPLICIT_SYS) and can confirm
>>>>> > 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
>>>>> > 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:
>>>> 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
>>>> 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 (or other
mirror sites). I've been using the -win32-src of the 2.4.4 version
from 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?

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message