[Zope] Zope hanging: internal ZODB error?

Darran Edmundson Darran.Edmundson@anu.edu.au
Fri, 24 Mar 2000 14:50:58 +1100 (EST)


I recently took the site I have been developing online
and have been beta testing with several users.  I
have a problem which is preventing a user from
viewing his home page; any attempt I make to isolate
the problem hangs Zope, stops anyone accessing
my site, and requires a forced unix kill.

The user's page is:
   http://rsphysse.anu.edu.au/optics/people/jdl124

Users are implemented as a Person ZClass.  One
of their contained objects is a PublicationFolder
ZClass, itself a container class for Journal ZClass
instances.  So above:

optics (folder)
   people (folder)
      jdl124 (Person)
         publications (PublicationFolder)
             article1 (Journal)
             article2 (Journal)
                .
                .
             article69 (Journal)


jdl124's home page is dying when it tries to iterate
over the results from a search of the ZCatalog publicationCatalog.


<!--
 Error type:  KeyError
 Error value: 384
 -->

Traceback (innermost last):
File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/ZPublisher/Publish.py, line 2 14, in publish_module 
File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/ZPublisher/Publish.py, line 179, in publish
File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/Zope/__init__.py, line 202, in zpublisher_exception_hook (Object: jdl124)
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/ZPublisher/Publish.py, line 165, in publish
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: index_html)
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/ZPublisher/Publish.py, line 102, in call_object (Object: index_html)
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/OFS/DTMLMethod.py, line 145, in __call__ (Object: index_html)
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/DocumentTemplate/DT_String.py, line 502, in __call__ (Object: index_html)
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/DocumentTemplate/DT_Util.py, line 335, in eval (Object: publicationCatalog.recentPublications(_.None,_,FirstName=FirstName,LastName=LastName)) (Info: FirstName)
  File &lt;string&gt;, line 0, in ?
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/OFS/DTMLMethod.py, line 141, in __call__ (Object: recentPublications)
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/DocumentTemplate/DT_String.py, line 502, in __call__ (Object: recentPublications)
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/DocumentTemplate/DT_In.py, line 493, in renderwb (Object: publist)
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/DocumentTemplate/DT_In.py, line 710, in sort_sequence (Object: publist)
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/Products/ZCatalog/Lazy.py, line 190, in __getitem__
  File /tmp_mnt/users/optics/www124/Zope-2.1.4-src/lib/python/Products/ZCatalog/Catalog.py, line 181, in __getitem__
KeyError: (see above)

  

The problem isn't in the publicationCatalog however, the following DTML snippet locks up my Zope completely:

<dtml-with jdl124>
<dtml-with publications>
<dtml-in "objectValues()">
    <dtml-var id><br>
</dtml-in>
</dtml-with>
</dtml-with>

I can deal with this during solo testing but my users' budding confidence in the system I have created
has been mildly rocked by this situation.  Needless to say, jdl124 is none too impressed.  Any help
you can offer is most appreciated.

Cheers,
Darran.