| Summary: | Attempt to free unreferenced scalar in simple script | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Vitaly Kuznetsov <vitty> |
| Component: | perl-threads | Assignee: | viy <viy> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P2 | CC: | at, combr, crux, mike, viy |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
В сизифе есть софт, который может пострадать от этой ошибки? У Вас есть софт, который может пострадать от этой ошибки? В общем-то треды в перле это глюкало, и я их специально отпилил в отдельный пакет, чтобы их никто не требовал. С другой стороны, наличие куска свободного кода, работоспособность которого поставлена на кон в связи с этим багом, может существенно повлиять на решение по его исправлению. Я сейчас занят тем, что пытаюсь понять почему в нашем сизифовском окружении не работает OTRS. ( http://otrs.org/ ) Наш перл сегфолтится. Не возьмусь утверждать что эта ошибка имеет к тому отношение, но симптомы схожие. влияет ли она на что-то, что уже есть в сизифе, я не знаю. Какая у вас архитектура -- i586 или x86_64? Такая картина наблюдается на обоих архитектурах Отвечайте на вопрос. Я думал собрать вам зопатченный perl-threads на тестирование. тогда x86_64 git.alt:/people/at/packages/perl.git 5.8.8-alt14-4-gcd01a56 ftp://ftp.altlinux.org/pub/people/at/perl-threads-5.8.8-alt14.x86_64.rpm Как успехи? Помогло/не помогло? С otrs - не особенно. perl продолжает сегфолтится. Видимо дело не в тредах. Тогда надо искать почему сегфолтится. Занятие не из лёгких. Желательно сделать какой-то минимальный test case. Ну или хотя бы steps to reproduce. Поиск минимального test-case действительно оказывается не из лёгких, так как к сегфолту приводят вполне обычные конструкции. Если Вы сможете выделить время и посмотреть - steps to reproduce: 1) установить otrs 2) настроить на БД с помощью стандартного установщика 3) echo 1 > /proc/sys/kernel/shm_destroy_unused 4) запустить /opt/otrs/bin/UnitTest.pl и увидеть сегфолт в том же треде описано и решение проблемы ;) "Dave Mitchell came up with a fix for this, so this particular bug is fixed in threads 1.63 on CPAN." однако поглядите, у меня возникли аналогичные проблемы, и я нашел версию perl (прошлогодний сизиф) с которой как CGI оно работает: https://bugzilla.altlinux.org/show_bug.cgi?id=13366 JFYI, сейчас OTRS 3.0beta работает с 5.8.9-alt3. На perl-threads-5.12.2-alt01 скрипт, приведённый в описании, работает без ошибок Видимо рассосалось |
Исполнение скрипта #!/usr/bin/perl use threads; use strict; my $test = sub { print("Hello, world\n"); }; my $thr = threads->create($test); $thr->join(); приводит к ошибке: Attempt to free unreferenced scalar: SV 0x810bcec, Perl interpreter: 0x8068590. Проблема описана тут: http://www.nntp.perl.org/group/perl.ithreads/2007/06/msg1175.html