On 07/07/2011 01:17 AM, Dave Saunders wrote:
Dear Encode Developers,
I am migrating a perl application from Solaris 2.10 to Linux Fedora Core
14 (2.6.35.13-92.fc14.x86_64), which is running perl 5.12.3. The app
uses SDBM and I'm encountering a problem which looks related to the
Encode module (which is at 2.39).
The error message is:
panic: sv_setpvn called with negative strlen at p.pl line 21.
and this URL led me to Encode:
https://rt.cpan.org/Public/Bug/Display.html?id=65541
I ran the simple test at the bottom of the web page:
binmode STDOUT, ':encoding(cp1250)';
print( ( "a" x 1023 ) . "\x{0378}" );
and got the same output:
"\x{0340}" does not map to cp1250 at a.pl line 2.
panic: sv_setpvn called with negative strlen at a.pl line 2.
I looked at CPAN:
http://search.cpan.org/~dankogai/Encode-2.43/
and read the Changes file, but don't see Bug 65541 discussed.
Has this problem been solved, or is it being worked on?
Is there a work-around for SDBM files (other than not using SDBM)?
Thanks very much for your help,
David Saunders
ITS/UVa
It happens in today's latest development version of Perl. It looks like
an Encode bug, and you'd have to contact the maintainer, Dan, directly
to find out its status.