В чем причина «паники: освободиться от неправильного пула во время глобального уничтожения». в Term::ReadLine::Gnu?

в https://rt.cpan.org/Ticket/Display.html?id=37194#txn-641389 Я повторно открыл ошибку, касающуюся сбоя Perl в сочетании с привязками libreadline XS. Я приложил необходимую отладочную информацию, но до сих пор не было подтверждения от сопровождающего. Я хочу, чтобы это наконец было исправлено; отсутствие строки чтения в Devel::REPL и отладчике Perl доставляет большое неудобство. Мои кишки Perl и C夫 почти отсутствуют, поэтому я не могу сделать обычное дело и создать патч самостоятельно. Поэтому я хотел бы воспользоваться вашей помощью; больше глазных яблок ↔ мелких жуков и все такое.

Мои вопросы к вам:

  1. Можете ли вы воспроизвести этот сбой, несмотря на -DPERL_USE_SAFE_PUTENV? Если да, давайте сравним, что является общим фактором.
  2. Вы знаете, в чем причина и как ее найти?
  3. У меня есть perl для отладки, и я знаю, как использовать gdb, но где мне установить точку останова, чтобы правильно наблюдать за сбоем?

person daxim    schedule 28.01.2010    source источник
comment
Есть ли способ получить доступ к отладочной информации без регистрации учетной записи на rt.cpan.org? Я бы с удовольствием посмотрел на это, но ненавижу регистрироваться для чего-то.   -  person Chris Jester-Young    schedule 05.02.2010
comment
Просмотр тикетов и вложений общедоступны.   -  person daxim    schedule 08.02.2010
comment
Понимаю. (Очевидно, для этого требовались файлы cookie; моя политика по умолчанию отключила файлы cookie, и запрос вложений вместо этого отправлял меня на страницу входа в систему. :-P)   -  person Chris Jester-Young    schedule 08.02.2010
comment
Вы получаете эту ошибку, когда вызываете Армагеддон и очищаете неправильный генофонд.   -  person Trevoke    schedule 09.02.2010
comment
Быстрый вопрос daxim: ваше приложение является многопоточным и многопоточным во время или примерно во время ошибки?   -  person vladr    schedule 06.03.2010
comment
У меня нет приложения. Тесты T::R::G уже дают сбой. Минимальный случай паники: perl -Mblib -MTerm::ReadLine -e'Term::ReadLine->new'. Как видите, никаких потоков не задействовано.   -  person daxim    schedule 07.03.2010


Ответы (2)


readline 6.1.000 у меня отлично работает здесь с Perl 5.10.0 и 5.10.1 (в Mac OS X 10.4, 10.5 и 10.6).

Также мне подходит Perl 5.8.8 и 5.10.1 на RedHat Enterprise Linux 5.3 (на этот раз с readline 5.1).

Между версиями 5.2 и 6.1 было исправлено много ошибок, поэтому возможно, стоит попробовать более новую (или более старую!) readline до 5.2

/I3az/

person draegtun    schedule 28.01.2010
comment
Пробовал несколько разных версий readline, все равно паникует. - person daxim; 28.01.2010

Проблема была в том, что у моего перла никогда не было безопасного путинва. Вариант не -DPERL_USE_SAFE_PUTENV, а -Accflags="-DPERL_USE_SAFE_PUTENV".

Doc патчи для борьбы с ошибкой:

person daxim    schedule 21.07.2010