Red Hat Bugzilla – Bug 111369
Date::Manip is out of date compared with Perl
Last modified: 2007-11-30 17:06:59 EST
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):
Well for that one script on that one box, every time.
Steps to Reproduce:
Web script _never_ returned - loads of perl moans in the error log.
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
I won't bother attaching the output.
$ 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.