[sisyphus] trac and deadalus apache2-mod_python

Andrey Khavryuchenko =?iso-8859-1?q?akhavr_=CE=C1_gmail=2Ecom?=
Ср Янв 10 11:02:20 MSK 2007


Alexey,

"AM" == Alexey Morsov wrote:

 AM> On Tue, Jan 09, 2007 at 11:58:39PM +0200, Andrey Khavryuchenko wrote:
 >> То, что проблема в пакете apache2-mod_python для меня очевидно,
 >> т.к. самособраный год назад из исходников mod_python 3.1.4 работает без
 >> каких-либо проблем на достаточно нагруженной машине.
 AM> а рядышком стоит первый апач со своим mod_python ?

Нет, естественно.  Рядом таки стоит первый апач, но mod_python в системе
единственный - 3.1.4.

 AM> Собственно проблема в том что модуль ищется по имени. Т.е. как не вменив
 AM> имя впихнуть два mod_python одновременно в систему.

Т.е. причина может быть в том, что trac-mod_python может импортировать
mod_python в нескольких местах...  Сейчас проверю...

Просто снести mod_python 2.7.11 нельзя по зависимостям:

akhavr на www ~ $ sudo apt-get remove mod_python
Password:
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
  mod_python trac-mod_python
0 upgraded, 0 newly installed, 2 removed and 39 not upgraded.
Need to get 0B of archives.
After unpacking 674kB disk space will be freed.
Do you want to continue? [Y/n]

В _тексте_ он импортируется лишь однажды:

akhavr на www ~ $ rpm -ql trac-mod_python | grep py | xargs grep mod_python
/usr/lib/python2.4/site-packages/trac/web/modpython_frontend.py:from apache2_mod_python import apache
/usr/lib/python2.4/site-packages/trac/web/modpython_frontend.py:        environ['mod_python.options'] = options
/usr/lib/python2.4/site-packages/trac/web/modpython_frontend.py:        environ['mod_python.subprocess_env'] = req.subprocess_env
Binary file /usr/lib/python2.4/site-packages/trac/web/modpython_frontend.pyc matches
Binary file /usr/lib/python2.4/site-packages/trac/web/modpython_frontend.pyo matches

Т.е. возможно они в байт-коде, хотя, при наличии более свежего исходника,
питон будет использовать именно его...

Убрал байткод:
akhavr на www site-packages/trac/web $ sudo rm modpython_frontend.pyc modpython_frontend.pyo

Перезагружаю страницу с trac через mod_python...  получаю ту же картину -
httpd2 отъедает все доступные ресурсы памяти, после чего успешно падает.

Вывод, порядок действий:
 1. Сделать trac-apache2-mod_python
 2. Сделать песочницу с trac + trac-apache2-mod_python + apache2 и
    воспроизвести проблему
 3. Исправить проблему, воспроизведённую в (2)

Когда пакет наконец-то до сизифа доползёт?  Будет на что баг вешать.

-- 
Andrey V Khavryuchenko            
Software Development Company http://www.kds.com.ua/



Подробная информация о списке рассылки Sisyphus