Добрый день, Что именно и когда ответит Леман - непредсказуемо) Я нашел, как минимум, еще два места, где модулю сносит стек. Прислать патч, или попробуете сначала с ним списаться?
Best regards, Sergey Aleynikov 2014-11-26 20:01 GMT+03:00 Вадим Власов <[email protected]>: > Исследуя новый сериализатор в JSON::XS наткнулся: > > $ echo 'use strict; > use warnings; > use feature "say"; > > use JSON::XS; > my $j=JSON::XS->new->allow_tags; > > say "JSON::XS: $JSON::XS::VERSION"; > say "Types::Serialiser: $Types::Serialiser::VERSION"; > > my $t = $j->encode( Foo->new ); > say $t; > > my @t = $j->encode( Foo->new ); > > package Foo; > sub new { bless {}, $_[0]; } > sub FREEZE { ( 123, 456 ); }' | perl > JSON::XS: 3.01 > Types::Serialiser: 1.0 > ("Foo")[123,456] > panic: attempt to copy freed scalar c37a18 to c37a00 at - line 14. > > $ perl -MJSON::XS -wE 'say JSON::XS->new->allow_tags->encode( bless {}, Foo > ); package Foo; sub FREEZE{ return 123 }' > Use of uninitialized value in say at -e line 1. > ("Foo")[123] > > $ perl -MJSON::XS -wE 'say scalar( JSON::XS->new->allow_tags->encode( bless > {}, Foo )); package Foo; sub FREEZE{ return 123 }' > ("Foo")[123] > > Проверили на разных машинах и на разных версиях perl-а - одно и то же. > > -- > С уважением, > Вадим Власов > т.: +7 (916) 424-00-72 > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
