Skip Menu |

This queue is for tickets about the Encode CPAN distribution.

Report information
The Basics
Id: 117158
Status: resolved
Priority: 0/
Queue: Encode

People
Owner: Nobody in particular
Requestors: KENTNL [...] cpan.org
Cc: pali [...] cpan.org
ribasushi [...] leporine.io
AdminCc:

Bug Information
Severity: (no value)
Broken in: 2.85
Fixed in: 2.87



Subject: Encode 2.85+ breaks Encode::ISO2202JP2

See https://rt.cpan.org/Ticket/Display.html?id=117157

As of 2.85, the following block of code simply eats memory and never returns:

require Encode::ISO2022JP2;
my $text = Encode::encode( 'iso2022jp-2', chr(720) );

Throwing callgrind at it, the hotpoint in XS appears to start here:

 

https://metacpan.org/source/DANKOGAI/Encode-2.86/Encode.xs#L194

 

For an input of *one* character, that was called 200,000 times before I hit ^C

 

So if I had to guess I'd say the containing while loop never progresses enough to an exit condition.

From: ppisar [...] redhat.com
Dne Út 23.srp.2016 05:08:22, KENTNL napsal(a): Show quoted text
> See https://rt.cpan.org/Ticket/Display.html?id=117157 > > As of 2.85, the following block of code simply eats memory and never > returns: > > require Encode::ISO2022JP2; > my $text = Encode::encode( 'iso2022jp-2', chr(720) );
Encode-JISX0213 also experiences the same problem when performing its t/JISX0213.t test. -- Petr
On Uto Aug 23 05:08:22 2016, KENTNL wrote: Show quoted text
> See https://rt.cpan.org/Ticket/Display.html?id=117157 > > As of 2.85, the following block of code simply eats memory and never > returns: > > require Encode::ISO2022JP2; > my $text = Encode::encode( 'iso2022jp-2', chr(720) );
Should be fixed in Encode 2.87.