Wed, 22 Nov 2006
CPAN Bugs
I am migrating the IS MU cluster to Fedora 6 - the front-end servers are already migrated, and now I am working on migrating the web cluster. This is a bigger change than it may seem, because we are also migrating the old 32-bit system to a fully 64-bit one. So I am recompiling everything from Apache to Perl. While testing the Perl modules I found the following regressions:
The Text::Tabs
module does not work correctly on UTF-8 characters. Here is the test case -
the output is misaligned:
perl -CS -Mutf8 -MText::Tabs -e \ 'print expand("\taa\t.\n\t\x{010a}\x{010a}\t."), "\n"'
I did not dig into this further, replacing Tabs.pm
from the
older version worked.
Another regression was in Crypt::Cracklib
, which we use
for generating and checking passwords. I have seen random crashes
when using this module. The problem was that it did not #include
the <crack.h>
header file, so the compiler thought
that some function returns int
where in fact it returned
a pointer. On AMD64 the integer is smaller than the pointer, so the pointer
got truncated. I have solved this with modifying Makefile.PL
the following way:
$include = $_; if (-f "$include/packer.h") { + if (-f "$include/crack.h") { + $incfile .= ' -Dcrack=1'; + } last; } elsif (-f "$include/crack.h") {
In both cases I have contacted the authors, but it would be nice to have
a bug-tracking system for CPAN modules. Is there anything like that available?
If there isn't I hope at least this blog entry helps somebody to solve
the problems I had with those two modules - especially
Crypt::Cracklib
has not been updated for years.
2 replies for this story:
Adelton wrote: rt.cpan.org
Not that it would help much in getting the authors to do the fix for you if they are not responding to regular emails but you'll at least have URL to point to.
Adelton wrote:
... hmm, but Text::Tabs is a standard module, so it should go the perlbug way. The problem is also present on 32bit system, it is not 64bit specific. I've also filed a bug 217833 against RHEL 5 Beta 2 to have it tracked from Red Hat's side as well.