kprasanna_79 has asked for the wisdom of the Perl Monks concerning the following question:

Revered Monks,

I use the below version of apache & mod_perl.

Apache/1.3.41 (Unix) mod_perl/1.31 mod_jk/1.2.28 mod_macro/1.1.2b mod_ssl/2.8.31 OpenSSL/0.9.8k

when i download files using https i get the below error and download breaks at the end (not successfull) but works fine with http

Fri Oct 23 06:24:41 2009] [info] [client 10.25.200.5] (32)Broken pipe: + client stopped connection before rflush completed [Fri Oct 23 01:11:48 2009] [debug] Apache.c(364): (32)Broken pipe: mod +_perl: rwrite returned -1 (fd=7, B_EOUT=8 )\n

Please can you thorough some light on this issue


-Prasanna.K

Replies are listed 'Best First'.
Re: (32)Broken pipe error
by jakobi (Pilgrim) on Oct 23, 2009 at 16:39 UTC

    As there are not other takers: a quick google didn't return anything but "error's likely on the client side, with the client aborting the page load." .

    As such, I can only offer some rough generic ideas on where to look/what to try (given the lack of detail you could offer):

    • To check that you can serve and read a static https page (if everything like server (incl. vhostname, ip, etc pp) and client are the same, that should be enough to that both server and client are happy wrt their certificates, if any).
    • If possible, add instrumentation: some logging and warn's in preferrably both of client and whatever you happen to run in mod_perl on the server. Might be easier and faster than strace/sniffing if it's possible. In addition, also check the mod_perl section on debugging.
    • Further steps would involve trying a simple client (lynx maybe or Perl's LWP) with some debugging help like strace on Unix, maybe sniff on the network (tcpdump -- you guessed it -- on Unix; what little you can as it's SSL; though some guesswork should still be possible, if you know the size of the page, that it couldn't reuse a previous connection & that you only transfer a trivial page w/o images or css).
    • If you've suitable access to the server, or the cgi script, the same tricks work there as well.
    • Collect and provide additional details (code scraps, above, ...) in your opening post (probably the best approach of the bunch, after checking at least the first point).
    cu & HTH, Peter -- hints may be untested unless stated otherwise; use with caution & understanding.