Bug 13366

Summary: perl crash with "attempt to free unreferenced scalar"
Product: [Distributions] Branch 4.0 Reporter: Mike Lykov <combr@yandex.ru>
Component: perl-baseAssignee: at@altlinux.org <at@altlinux.org>
Status: CLOSED FIXED QA Contact: Q.A. 4.0 <qa-4.0@altlinux.org>
Severity: normal    
Priority: P2 CC: me@otrs.com, vitty@altlinux.org
Version: 4.0   
Hardware: all   
OS: Linux   

Description From 2007-11-09 13:39:03
ситуация такая: есть 
apache2-2.2.6-alt4
perl-base-5.8.8-alt14

и поставил (архив с сайта) http://otrs.org 
otrs-2.2.3.tar.gz (установлен в /opt)
    ScriptAlias /otrs/ "/opt/otrs/bin/cgi-bin/"

сконфигурил как надо там, запускаю из /opt/otrs/bin/cgi-bin/ стандартный
printenv.pl - работает. запускаю их index.pl - падает.
под mod_perl2-2.0.3 падает аналогично.

в логе такое:
[client 127.0.0.1] [Fri Nov  9 14:26:23 2007] index.pl: Attempt to free
unreferenced scalar: SV 0x8d07078, Perl interpreter: 0x804a008 at
../..//Kernel/System/Config.pm line 1325.
[client 127.0.0.1] [Fri Nov  9 14:26:23 2007] index.pl: Attempt to free
unreferenced scalar: SV 0x8cfda3c, Perl interpreter: 0x804a008 at
../..//Kernel/System/Config.pm line 1325.

(штук 20 строк)

в этой строке стоит
    if ($Param{Data}->{Setting}->[1]->{FrontendModuleReg}) {

что бы это могло быть? раньше такого не встречал ;)
------- Comment #1 From 2007-11-09 15:08:26 -------
apache 1, установка по умолчанию, добавил только строки
 Alias /otrs-web/ "/opt/otrs/var/httpd/htdocs/"
  ScriptAlias /otrs/ "/opt/otrs/bin/cgi-bin/"

поставил новую версию - otrs 2.2.4, вышал 7 ноября.
падает так же.
------- Comment #2 From 2007-11-09 15:36:00 -------
поставил старую версию - 2.0.5-01
работает.... Но как-то не дело откатываться на два года назад из-за этого.
------- Comment #3 From 2007-11-09 16:12:07 -------
проверил еще
otrs-2.2.1.tar.gz    
otrs-2.1.7.tar.gz 
otrs-2.1.3.tar.gz   

у всех (кроме 2.0.5) одна картина - installer.pl запустить можно
пройти предлагаемые шаги (создание mysql базы и настройка емейлов), потом он
предлагает "теперь вы можете использовать. перейдите на.. 
/index.pl
перехожу - первый раз страница логина грузится.
ввожу предлагаемый по умолчанию логин и пароль.
ии.. чистая страница, а в логе error.log у httpd

Attempt to free unreferenced scalar: SV 0x88f931c, Perl interpreter: 0x804a008
at  (та же строка кода)
или вот еще вариант
*** glibc detected *** /usr/bin/perl: munmap_chunk(): invalid pointer:
0x09542228 ***
======= Backtrace: =========
/lib/libc.so.6[0xb7d84402]
/usr/lib/libperl.so.5.8(Perl_safesysfree+0x21)[0xb7ec2d01]
(и длинный лог)

как-то это нездорово ;)
------- Comment #4 From 2007-11-12 13:37:36 -------
просто пересобрал у себя (без hasher, в системе) пакет 
 perl-5.8.8-alt14.src.rpm 

при пересборке выбрал из libdb4.3-devel и lbdb4.4-devel последний.

получил perl-base-5.8.8-alt14.i686.rpm
и еще несколько. поставил их вместо тех, что по умолчанию в дистрибутиве - 

и падать перестало. а то я уже хотел opensuse ставить.. ;)
------- Comment #5 From 2007-11-12 14:28:02 -------
не, все более хитро:

perl-5.8.8-alt14.i686 не падает с версией otrs-2.1.3
perl-5.8.8-alt5.i686 не падает и с самой последней версией otrs-2.2.4

т.е. новая версия otrs работает только со старой сборкой пакета perl.
------- Comment #6 From 2007-12-06 10:27:21 -------
какие-нибудь новости?
------- Comment #7 From 2008-01-11 00:33:11 -------
Hi Mike,

I found the problem. It's a problem in OTRS. It's fixed in upcoming OTRS 2.2.5
(~jan08).

For more details see:

http://bugs.otrs.org/show_bug.cgi?id=2491

Greetings,
 -Martin
------- Comment #8 From 2008-01-12 16:53:27 -------
thanks Martin!
I already get an information about it from OTRS' bugzilla from you.

i think i may mark here as fixed.