Description of problem: The Date::Manip module (5.40 as supplied by your good selves) contains 8-bit characters that perl moan a lot, and in the case of one of our CGI products, fail inexplicably. (I can't work out a cut down version to show you this though). Using 5.42a as found on CPAN works fine as all the 8 bit chars have been escaped properly. Also perl-DateManip-5.40-15 worked fine on Red Hat Linux 7.3 (from which we were migrating). I assume this is something to do with Perl 5.8.x being more UTF-8 aware than 5.6.x. Version-Release number of selected component (if applicable): perl-DateManip-5.40-30 How reproducible: Well for that one script on that one box, every time. Steps to Reproduce: 1. 2. 3. Actual results: Web script _never_ returned - loads of perl moans in the error log. Expected results: Ta-da! Additional info:
Bugs: 88017 (Red Hat Linux 8) and 74884 (Red Hat Linux 8) both complain of how noisy Date::Manip is, but only we/I appear to have come across a case where perl bums out.
Created attachment 96296 [details] Propietary CGI script This is a proprietary script, and the one that caused the bug - but _only_ via the browser (from the command line it's fine).
Ah. It's not a Perl problem after all. Sure Date::Manip is noisy as supplied, but it's Apache 2.0.x that is bumming out. (I remember seeing a similar problem with "noisy" CGI scripts on Solaris). I've lowered the priority of the bug to normal after all.
Notice that if you run: # perl -MDate::Manip -e 1 on Fedora Core 1 you get nothing on STDERR, but on RHEL ES 3 - errors galore. I won't bother attaching the output.
Try this: $ export LANG="C" # or en_GB $ perl -MDate::Manip -e 1
We've just seen the same "errors" output with one of our scripts that uses this module. It seems to me that the response for a commercially supported product is a bit slack here, especially when the solution seems to be as simple as sourcing the new version from CPAN and releasing an errata.
Another one-liner to reproduce the problem: LANG=en_GB.UTF-8 perl -e 'use Date::Manip; $date=UnixDate("yesterday", "%y%m%d"); print $date'
updated to 5.42a, however, which U it makes it out in is undetermined as of yet
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2004-599.html