On Wed, Oct 02, 2019 at 08:13:59AM +0100, Steve Hay wrote: > > I think the last line of the log extracts above is the clue, but I'm > not going to be able to fix this myself. Line 119 in > Apache2/Resource.pm is: > > my ($soft, $hard) = getrlimit $val; > > So it looks like $val is blank. That comes from line 118: > > my $val = eval "&BSD::Resource::${res}()"; > > where $res is one of the keys of the $lim hashref, which comes from line 112: > > my $lim = get_rlimits(); > > Both getrlimit() and get_rlimits() are further BSD::Resource > functions, which I see the error log also has further references to > above (several uninitialized value warnings), but is not a thing that > I have access to on Windows. Unless anyone else can help here then > we'll have to let this one go for now. Hopefully it's not a > showstopper.
Thanks for this diagnosis. Going through the resources here I do see some which were undef and thus causing getrlimit to complain. Attached is the trivial patch which now makes the test pass for me. It seemed reasonable to simply omit undef resources but you might have a contrary view. For the record the undef resources I see are: RLIMIT_NICE RLIMIT_SIGPENDING RLIMIT_RTTIME RLIMIT_RTPRIO RLIMIT_MSGQUEUE HTH, Pete -- Openstrike - improving business through open source https://www.openstrike.co.uk/ or call 01722 770036
--- lib/Apache2/Resource.pm.orig 2019-09-26 18:10:15.000000000 +0100 +++ lib/Apache2/Resource.pm 2019-10-02 10:54:58.342756913 +0100 @@ -116,6 +116,7 @@ for my $res (keys %$lim) { my $val = eval "&BSD::Resource::${res}()"; + next unless defined $val; my ($soft, $hard) = getrlimit $val; (my $limit = $res) =~ s/^RLIMIT_//; ($soft, $hard) = ("$soft " . BM($soft), "$hard ". BM($hard))
pgptA9yxo5gki.pgp
Description: PGP signature