Subject: | truncation with Apache |
Date: | Thu, 29 Mar 2012 16:47:51 +0100 |
To: | bug-Devel-NYTProf [...] rt.cpan.org |
From: | Zefram <zefram [...] fysh.org> |
I'm getting truncation of profiling output files with
Devel::NYTProf::Apache. I'm not using Apache2::SizeLimit, I've got a
single Apache child process, and I have no profiling-related handlers.
I caught a strace of a child process terminating, which ends like this:
clock_gettime(0x2 /* CLOCK_??? */, {71, 989980559}) = 0
clock_gettime(0x2 /* CLOCK_??? */, {71, 990002632}) = 0
clock_gettime(0x2 /* CLOCK_??? */, {71, 990026551}) = 0
write(2, ":Apache2 IO flush: (103) Software caused connection abort at -e line 0", 70) = 70
exit_group(25) = ?
Ignoring the clock_gettime() calls (which are obviously for
the profiling), the last syscalls before this were writing to an
application-specific log. This logging is identifiable as code within
the top-level PerlResponseHandler function.
I don't know where the "Apache2 IO flush" message comes from. I note that
it lacks a terminating newline. Despite the Perl-style "at -e line 0",
it's obviously not been emitted through Perl's die() or croak().
Apache 2.2.16, mod_perl 2.0.5, Perl 5.12.3, Devel::NYTProf 4.06.
-zefram