Bug 24665 - Отладка многопоточных приложений в perl
: Отладка многопоточных приложений в perl
Status: CLOSED WONTFIX
: Sisyphus
(All bugs in Sisyphus/perl-devel)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2010-11-29 18:35 by
Modified: 2011-01-15 10:23 (History)


Attachments
Тестовое многопоточное приложение, на котором не работает отладчик perl. (213 bytes, text/plain)
2010-11-29 18:35, Владимир Диденко
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-11-29 18:35:16
Created an attachment (id=4684) [details]
Тестовое многопоточное приложение, на котором не работает отладчик perl.

1. В пакете perl-devel в зависимостях отсутствует пакет 
perl-Term-ReadLine-Gnu.   
   Поэтому при попытке отладиться возникает ошибка:
   Can't locate Term/ReadLine.pm in @INC

2. При отладке многопоточных приложений в момент создания нового потока 
   возникает ошибка 

   Thread 1 terminated abnormally: Undefined subroutine &re::CLONE called at 
./test.pl line 10.

   Тестовую программу прилагаю к багу.
   Для воспроизведения достаточно запустить отладчик на тестовой программе и 
   набрать c(continue):
   perl -d test.pl
   DB<1> c
------- Comment #1 From 2010-11-30 09:43:49 -------
my $thread = threads->create( 'test_func' );
или
my $ref = \&test_func;
my $thread = threads->create( $ref );

отрабатывают в отладочном режиме как положено.
Проверил код в fedora14 - проблема воспроизводится. Надо будет повесить баг в
апстрим.
------- Comment #2 From 2010-11-30 10:28:20 -------
http://rt.perl.org/rt3/Public/Bug/Display.html?id=79996
------- Comment #3 From 2010-12-13 09:29:01 -------
Проблема исправлена в bleadperl, но бэкпорт исправления в 5.12 затруднителен.
Думаю, что придётся ждать выхода perl 5.14. Варианты обхода проблемы указаны в
1'ом комментарии.
------- Comment #4 From 2011-01-15 10:23:25 -------
Закрываю баг