[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