<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>26892</bug_id>
          
          <creation_ts>2012-02-04 23:03:35 +0400</creation_ts>
          <short_desc>Не совпадает имя в списке процессов: /usr/sbin/httpd вместо httpd2</short_desc>
          <delta_ts>2012-12-16 23:42:01 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>apache2-mod_perl</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://lists.altlinux.org/pipermail/sisyphus/2012-February/356743.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>27924</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="solo">solo</reporter>
          <assigned_to name="Nikolay A. Fetisov">naf</assigned_to>
          <cc>at</cc>
    
    <cc>lav</cc>
    
    <cc>mike</cc>
    
    <cc>naf</cc>
    
    <cc>sysadmin</cc>
    
    <cc>thecrux</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>128701</commentid>
    <comment_count>0</comment_count>
    <who name="solo">solo</who>
    <bug_when>2012-02-04 23:03:35 +0400</bug_when>
    <thetext>При использовании apache2-mod_perl-2.0.5-alt2 совместно с apache2-2.2.22-alt1 при старте httpd2 (на этапе загрузки mod_perl) в /var/log/httpd2/error_log наблюдается следующая ошибка:

Attempt to free unreferenced scalar: SV 0x8dff48, Perl interpreter: 0x8c08b0 during global destruction.

  При этом процессы httpd2 остаются запущенными, но наблюдаются следующие эффекты:

1. Невозможно получить статус httpd2:

$ sudo -H service httpd2 status
httpd2 is dead, but stale PID file exists

2. Невозможно штатно погасить демона:

$ sudo -H service httpd2 stop
Service httpd2 is not running.    [PASSED]

Хотя процессы запущены:

$ sudo -H ps ax|fgrep httpd
16237 ?        Ss     0:00 /usr/sbin/httpd2
16246 ?        S      0:00 /usr/sbin/httpd2
16247 ?        S      0:00 /usr/sbin/httpd2
16248 ?        S      0:00 /usr/sbin/httpd2
16249 ?        S      0:00 /usr/sbin/httpd2
16250 ?        S      0:00 /usr/sbin/httpd2
16257 ?        S      0:00 /usr/sbin/httpd2

3. Не работает killall (процессы по прежнему в памяти):

$ sudo -H killall httpd2
httpd2: no process killed

4. Имя процесса в /proc/&lt;pid&gt;/stat и /proc/&lt;pid&gt;/comm (на ядрах его предоставляющих) отличается от имени процесса в /proc/&lt;pid&gt;/cmdline:

$ cat /proc/$(pidof -s httpd2)/stat
16257 (/usr/sbin/httpd) S 16237 16237 16237 0 -1 4202816 262 0 0 0 0 0 0 0 20 0 1 0 277393376 245813248 2739 18446744073709551615 4194304 4638500 0 0 0 0 0 4096 134235883 18446744073709551615 0 0 17 0 0 0 0 0 0

(При этом файл /usr/sbin/httpd на данном хосте отсутствует.)

$ cat /proc/$(pidof -s httpd2)/comm
httpd

$ cat /proc/$(pidof -s httpd2)/cmdline
/usr/sbin/httpd2

  При этом, комбинация из apache2-2.2.22-alt1 и apache2-mod_perl-2.0.4-alt1.1 данных проблем не вызывает.

  Гугление показало, что подобные проблемы (как минимум сообщение в логе при использовании mod_perl-2.0.5 собранным с perl-5.14) есть не только у нас, см.:

1. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=650675

2. http://article.gmane.org/gmane.comp.apache.mod-perl.devel/9928</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128771</commentid>
    <comment_count>1</comment_count>
    <who name="solo">solo</who>
    <bug_when>2012-02-07 23:32:30 +0400</bug_when>
    <thetext>  Судя по дате http://lists.altlinux.org/pipermail/sisyphus/2012-January/356606.html данная проблема первый раз выплыла когда в Сизифе был ещё apache2-2.2.21-alt1, но уже apache2-mod_perl-2.0.5-alt2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134553</commentid>
    <comment_count>2</comment_count>
    <who name="Nikolay A. Fetisov">naf</who>
    <bug_when>2012-11-06 16:04:46 +0400</bug_when>
    <thetext>К &quot;Attempt to free unreferenced scalar&quot; описанная проблема с запуском 
Apache2 + mod_perl (замена на этапе запуска mod_perl имени процесса httpd)
отношения не имеет.

В целом, есть подозрение, что и к mod_perl&apos;у оно отношения не имеет, скорее
к apr1 / apr1utils. И является следствием использования у нас в целях 
обеспечения совместной работы с Apache 1.3.x нестандартного имени процесса 
Apache 2.x - httpd2 .


Просьба проверить - на текущих сборках apache2-base-2.2.22-alt11 / 
apache2-mod_perl-2.0.7-alt2 у меня оно воспроизводится перестало (без
каких-либо изменений в mod_perl). Т.е., с включённым mod_perl 
service httpd2 start/stop/status
выполняются без ошибок.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135842</commentid>
    <comment_count>3</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2012-12-06 12:55:44 +0400</bug_when>
    <thetext>(В ответ на комментарий №2)
&gt; К &quot;Attempt to free unreferenced scalar&quot; описанная проблема с запуском 
&gt; Apache2 + mod_perl (замена на этапе запуска mod_perl имени процесса httpd)
&gt; отношения не имеет.
&gt; 
&gt; В целом, есть подозрение, что и к mod_perl&apos;у оно отношения не имеет, скорее
&gt; к apr1 / apr1utils. И является следствием использования у нас в целях 
&gt; обеспечения совместной работы с Apache 1.3.x нестандартного имени процесса 
&gt; Apache 2.x - httpd2 .
&gt; 
&gt; 
&gt; Просьба проверить - на текущих сборках apache2-base-2.2.22-alt11 / 
&gt; apache2-mod_perl-2.0.7-alt2 у меня оно воспроизводится перестало (без
&gt; каких-либо изменений в mod_perl). Т.е., с включённым mod_perl 
&gt; service httpd2 start/stop/status
&gt; выполняются без ошибок.
Нет, всё по-прежнему с apache2 2.2.22-alt11 (после a2dismod perl нормально запускается)

Но никакого &quot;Attempt to free unreferenced scalar&quot; в логах нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135844</commentid>
    <comment_count>4</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2012-12-06 13:16:44 +0400</bug_when>
    <thetext>*** Bug 28188 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136064</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolay A. Fetisov">naf</who>
    <bug_when>2012-12-13 18:22:19 +0400</bug_when>
    <thetext>*** Bug 28220 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136091</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolay A. Fetisov">naf</who>
    <bug_when>2012-12-16 23:26:04 +0400</bug_when>
    <thetext>Это не mod_perl, это сам Perl, которому в коммите 7636ea95 расширили 
функциональность: http://perl5.git.perl.org/perl.git/commit/7636ea95c5776293
В Sisyphus это изменение пришло с Perl 5.14.2. 

При задании $0 сейчас дополнительно вызывается prctl(PR_SET_NAME, ...),
который изменяет имя текущего процесса на строку длиной не более 16 символов.
У наших сборок Apache2 имя /usr/sbin/httpd2 чуть длинее.

Соответственно, в t6:
$ perl -e &apos;$0=&quot;/usr/sbin/httpd2&quot;; system &quot;ps h $$;ps hc $$&quot;&apos;
12007 pts/1    S+     0:00 /usr/sbin/httpd2
12007 pts/1    S+     0:00 perl

В Sisyphus:
$ perl -e &apos;$0=&quot;/usr/sbin/httpd2&quot;; system &quot;ps h $$;ps hc $$&quot;&apos;
13282 pts/1    S+     0:00 /usr/sbin/httpd2
13282 pts/1    S+     0:00 /usr/sbin/httpd</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136093</commentid>
    <comment_count>7</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2012-12-16 23:42:01 +0400</bug_when>
    <thetext>apache2-mod_perl-2.0.7-alt4 -&gt; sisyphus:

* Sun Dec 16 2012 Nikolay A. Fetisov &lt;naf@altlinux&gt; 2.0.7-alt4
- Disable changing the proctitle (Closes: #26892, #27924)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>