Bug 7057

Summary: Plone 2.0.5 from plone.org do not work with Zope
Product: Sisyphus Reporter: Mikhail Borovoy <biomassa>
Component: ZopeAssignee: Andrey Orlov <cray>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P3    
Version: unstable   
Hardware: all   
OS: Linux   

Description Mikhail Borovoy 2005-06-10 14:25:51 MSD
Некоторые (которые пробовал) устанавливаемые продукты не работают в Zope. В
частности Plone 2.0.5 с plone.org, куда входит CMF, Archetypes и т.д.
python-2.4.1-alt3
Zope-2.7.6-alt3

Как воспроизвести
0. Пересобрал Zope rpm --rebuild Zope-2.7.6-alt3.src.rpm
1. Инсталлирую Zope*
2. sudo mkzopeinstance
Ввожу каталог newtest, пользователь, пароль.
3. В файле /var/lib/zope/newtest/etc/zope.conf комметирую trusted-proxy
127.0.0.1 и ip-address 127.0.0.1
Ставлю debug-mode on
4. Распаковываю Plone-2.0.5.tar.gz с plone.org в /var/lib/zope/newtest/Products/
5. sudo chown -R zope.zope /var/lib/zope/newtest/
6. sudo /var/lib/zope/newtest/bin/runzope
7. В браузере захожу на http://ip:8080/manage
8. Добавляю в корень Plone Site, id указываю Plone
9. Выдается ошибка:
Site Error

An error was encountered while publishing this resource.

Error Type: RuntimeError
Error Value: maximum recursion depth exceeded
...
И ничего не добавляется, в event.log ничего не пишется.

В других условиях, которые воспроизвести сейчас по памяти я уже не смогу, при
установленном непересобранном Zope и возможно других продуктах, в файле
event.log были таки строки:
2005-06-10T01:06:12 ERROR(200) SiteError http://ip:8080/Plone
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/ZPublisher/Publish.py", line 92, in publish
    object=request.traverse(path, validated_hook=validated_hook)
  File "/usr/lib/python2.4/site-packages/ZPublisher/BaseRequest.py", line 273,
in traverse
    object, default_path = object.__browser_default__(request)
  File "/home/massa/zope2/Products/CMFPlone/Portal.py", line 105, in
__browser_default__
    return getToolByName(self, 'plone_utils').browserDefault(self)
  File "/home/massa/zope2/Products/CMFPlone/PloneTool.py", line 604, in
browserDefault
    for page in
portal.portal_properties.site_properties.getProperty('default_page', []):
  File "/usr/lib/zope/lib/python/OFS/PropertyManager.py", line 152, in getProperty
    chrs = self.management_page_charset_default()
  File "/usr/lib/zope/lib/python/App/charset_default.py", line 12, in
management_page_charset_defa
ult
    charset = self.management_page_charset
  File "/home/massa/zope2/Products/CMFPlone/Portal.py", line 122, in
_management_page_charset
    return getProperty('default_charset', 'utf-8')
  File "/usr/lib/zope/lib/python/OFS/PropertyManager.py", line 152, in getProperty
    chrs = self.management_page_charset_default()
  File "/usr/lib/zope/lib/python/App/charset_default.py", line 12, in
management_page_charset_defa
ult
    charset = self.management_page_charset


и последние 4 строки повторялись ОЧЕНЬ много раз и в конце было:

  File "/usr/lib/zope/lib/python/OFS/PropertyManager.py", line 152, in getProperty
    chrs = self.management_page_charset_default()
  File "/usr/lib/zope/lib/python/App/charset_default.py", line 12, in
management_page_charset_defa
ult
    charset = self.management_page_charset
  File "/home/massa/zope2/Products/CMFPlone/Portal.py", line 122, in
_management_page_charset
    return getProperty('default_charset', 'utf-8')
  File "/usr/lib/zope/lib/python/OFS/PropertyManager.py", line 145, in getProperty
    if self.hasProperty(id):
  File "/usr/lib/zope/lib/python/OFS/PropertyManager.py", line 138, in hasProperty
    if id==p['id']:
RuntimeError: maximum recursion depth exceeded in cmp


При самостоятельном компилировании Zope
http://www.zope.org/Products/Zope/2.7.6/Zope-2.7.6-final.tgz и установки в него
Plone-2.0.5.tar.gz все работает правильно.
Comment 1 Mikhail Borovoy 2005-06-10 23:07:21 MSD
Проблема оказалась в патче unicode. Для чего он нужен?

При пересборке без патча unicode все заработало.
Comment 2 Andrey Orlov 2005-06-11 14:39:11 MSD
Эта проблема мне известна, рекомендую использовать пакет plone из сизифа. Он 
работает. Юникодный патч в свою очередь так же будет исправлен, чбы избежать  
конфликтов такого рода. Тем не менее спасибо за подробный репорт, мне не 
придется созваниваться с мантейнером плон. 
 
О юникодном патче можно прочитать здесь: 
 
http://www.neural.ru/Products/Zope/Zope-2.6.0  
 
и здесь: 
 
/usr/share/doc/Zope-2.7.6/UnicodePatch.txt 
Comment 3 Andrey Orlov 2005-07-05 01:18:15 MSD
Исправлено в Zope 2.7.6-alt6