[Moscow.pm] deep recursion on subroutine utf8::swashnen

Victor Efimov victor на vsespb.ru
Чт Окт 16 02:34:01 PDT 2014


Всё равно нужен кусок код, чтобы это нам хотя бы воспроизвести, а
потом уже рассуждать..

16 октября 2014 г., 13:18 пользователь devrow на gmail.com
<devrow на gmail.com> написал:
> дело не в куске кода, это не так важно.
> вопрос был о том (извиняюсь, если я не точно выразился),
> что происходит, когда вылетает ошибка рекурсии до того как
> парсер "пройдет" по коду и найдет ошибку в синтаксисе.
>
> логично было бы предположить, что сначала должен отработать
> парсер и выявить отсутствие точки с запятой, а уже потом,
> при выполнении, будет ошибка рекурсии.
>
> если натравить perl -c ./path/to/package.pm на этот модуль,
> то ошибка синтаксиса находится без проблем. почему она не
> находится в процессе подгрузки модулей, а вместо этого
> получается что-то там про рекурсию...
>
> спасибо.
>
> [root на localhost /]# perl -v
> This is perl, v5.10.1 (*) built for i386-linux-thread-multi
>
> On 15.10.2014 23:57, Sergey Aleynikov wrote:
>> Добрый день,
>>
>> Перл 5.20 эту ошибку на этом куске кода не генерирует. Чтобы можно
>> было что-то подсказать - нужна версия перла и тест-кейс, который можно
>> взять и запустить.
>>
>> Best regards,
>> Sergey Aleynikov
>>
>>
>> 15 октября 2014 г., 23:35 пользователь devrow на gmail.com
>> <devrow на gmail.com> написал:
>>> всем привет.
>>> вопрос чисто академический, просто интересно.
>>>
>>> $self->{key} = '';
>>> return undef if $self->{key2}->getValue('section', 'value_name') == 0
>>> my $var = undef;
>>>
>>> этот код генерит сабжевую ошибку. скорее всего, я чего-то не знаю,
>>> т.к. в этом куске, по контексту, ошибка синтаксическая (нет ; во
>>> второй строке), но никак не конвертации чего-то во что-то и тем более
>>> я никак не предполагал о "грубокой рекурсии".
>>>
>>> этот кусок находится в модуле (pm), который подружается через use.
>>> модуль начинается стандартно:
>>>
>>> package name;
>>> use utf8;
>>> use strict;
>>> use warnings;
>>> ...
>>>
>>> глюк нашел вопрошая вселенную. голоса ближайшего к нам
>>> космоса ответили. после применения метода научного тыка.
>>>
>>> спс.
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org


Подробная информация о списке рассылки Moscow-pm