Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • if you're using mod_perl to serve up the PDF part of the problem might be that you're not byteserving properly (or at all). see recipe 6.7 in the mod_perl developer's cookbook [] for a full explanation of why byteserving is important for PDF files, or at the very least the code from that recipe, which can be found here []. the important part is near the end when it talks about range requests and calls $r->set _content_length()

    of course, if you're byteserving already, then I have no ideas :)

  • Each PDF has unique contents. Even if the same person downloads multiple times, each document will contain (amongst other things) a unique serial number. So we have gone to some lengths to make clients aware that byte serving is not an option.

    But the cause of the problem is clearly an issue with mod_ssl's timeout handling. If the downloads complete before the timeout there are no segfaults. If we don't use SSL there are no segfaults. Slow downloads + SSL = segfaults.

    • well, byteserving doesn't necessarily have anything to do with unique content - PDF plugins will try to request parts of large documents as you scroll through them. so, the reason I was mentioning it is that if slow downloads are causing problems you can avoid that in part by properly byteserving. if uniqueness is your issue, that ought to be handled by proper cache headers.
    • I've seen similar issues w/ mod_ssl, and have submitted a patch or two for some of them.

      What version of Apache, mod_ssl, and mod_perl are you using?


      • What version of Apache, mod_ssl, and mod_perl are you using?

        Well the system is running the old Debian stable (woody) so the versions are very old. Apache is 1.3.26, mod_perl is 1.26 and I think mod_ssl is 1.48.