Bug 13366

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

Description Mike Lykov 2007-11-09 13:39:03 MSK
ситуация такая: есть 
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 Mike Lykov 2007-11-09 15:08:26 MSK
apache 1, установка по умолчанию, добавил только строки
 Alias /otrs-web/ "/opt/otrs/var/httpd/htdocs/"
  ScriptAlias /otrs/ "/opt/otrs/bin/cgi-bin/"

поставил новую версию - otrs 2.2.4, вышал 7 ноября.
падает так же.
Comment 2 Mike Lykov 2007-11-09 15:36:00 MSK
поставил старую версию - 2.0.5-01
работает.... Но как-то не дело откатываться на два года назад из-за этого.
Comment 3 Mike Lykov 2007-11-09 16:12:07 MSK
проверил еще
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 Mike Lykov 2007-11-12 13:37:36 MSK
просто пересобрал у себя (без 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 Mike Lykov 2007-11-12 14:28:02 MSK
не, все более хитро:

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

т.е. новая версия otrs работает только со старой сборкой пакета perl.
Comment 6 Mike Lykov 2007-12-06 10:27:21 MSK
какие-нибудь новости?
Comment 7 Martin 2008-01-11 00:33:11 MSK
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 Mike Lykov 2008-01-12 16:53:27 MSK
thanks Martin!
I already get an information about it from OTRS' bugzilla from you.

i think i may mark here as fixed.