[Zope] Zope Database Crash?

J Cameron Cooper jccooper at jcameroncooper.com
Fri Jan 23 18:40:40 EST 2004


You have two issues: one is that you are using two apparently duplicate 
Products directories. This is probably harmless, though unnecessary. 
There's a small possibility that this is causing a product (Formulator) 
to try to install itself twice at the same time, causing a conflict.

The other is that you have a ZODB-level corruption. The easiest way out 
is to restore from a known good backup.

Otherwise, you can try fscheck.py and fsrecover.py to try to fix the 
problem. There are other more advanced methods: Dieter has a howto 
somewhere, I believe. A search at Google on POSException and/or 
ConflictError will probably find all the discussion on the matter you 
care to read.

          --jcc

Gary Spivey wrote:

>   I am using a VHM. Although the tip didn't fix anything - however
>turning debug on sheds a little light ... maybe ... to those who know
>what they are looking at ... here is the dump of the debug run ... the
>interesting part is the database error at the very end, but I included
>it all in the event that I may not see the relevance of the rest of it
>...
>   
>   ./runzope
>   ------
>   2004-01-21T14:13:05 INFO(0) ZServer HTTP server started at Wed Jan 21
>14:13:05 2004
>           Hostname: myhost.com
>           Port: 8080
>   ------
>   2004-01-21T14:13:05 INFO(0) ZServer FTP server started at Wed Jan 21
>14:13:05 2004
>           Hostname: myhost.com
>           Port: 8021
>   ------
>   2004-01-21T14:13:05 INFO(0) Zope Set effective user to "zopeuser"
>   ------
>   2004-01-21T14:13:06 INFO(0) Archetypes
>Products/Archetypes/content_driver/MSWord.py[20]:?
>   Failed to import the OpenOffice PyUNO content converter.
>           Remind me to write a doc on how to set this up as its a
>better
>           converter than wvWare and in somecases even MSWord
>   
>   ------
>   2004-01-21T14:13:06 PROBLEM(100) OFS.Application Duplicate Product
>name
>   After loading Product 'ArchExample' from
>'/home/zopeuser/Zope-2.7-instance/Products',
>   I skipped the one in '/Web/zopeuser/Zope-2.7-instance.orig/Products'.
>   
>   ------
>...
>   ------
>   2004-01-21T14:13:06 PROBLEM(100) OFS.Application Duplicate Product
>name
>   After loading Product 'UserTrack' from
>'/home/zopeuser/Zope-2.7-instance/Products',
>   I skipped the one in '/Web/zopeuser/Zope-2.7-instance.orig/Products'.
>   
>...
>   ------
>   2004-01-21T14:13:08 ERROR(200) Zope Couldn't install Formulator
>   Traceback (most recent call last):
>     File "/home/zopeuser/Zope-2.7/lib/python/OFS/Application.py", line
>694, in install_product
>       get_transaction().commit()
>     File "/home/zopeuser/Zope-2.7/lib/python/ZODB/Transaction.py", line
>233, in commit
>       ncommitted += self._commit_objects(objects)
>     File "/home/zopeuser/Zope-2.7/lib/python/ZODB/Transaction.py", line
>348, in _commit_objects
>       jar.commit(o, self)
>     File "/home/zopeuser/Zope-2.7/lib/python/ZODB/Connection.py", line
>420, in commit
>       s=dbstore(oid,serial,p,version,transaction)
>     File "/home/zopeuser/Zope-2.7/lib/python/ZODB/FileStorage.py", line
>780, in store
>       serials=(oserial, serial))
>   ConflictError: database conflict error (oid 000000000000102b, serial
>was 035220323085caf7, now 0000000000000000)
>   Traceback (most recent call last):
>     File "/home/zopeuser/Zope-2.7/lib/python/Zope/Startup/run.py", line
>27, in ?
>       run()
>     File "/home/zopeuser/Zope-2.7/lib/python/Zope/Startup/run.py", line
>24, in run
>       start_zope(opts.configroot)
>     File "/home/zopeuser/Zope-2.7/lib/python/Zope/Startup/__init__.py",
>line 50, in start_zope
>       starter.startZope()
>     File "/home/zopeuser/Zope-2.7/lib/python/Zope/Startup/__init__.py",
>line 221, in startZope
>       Zope.startup()
>     File "/home/zopeuser/Zope-2.7/lib/python/Zope/__init__.py", line
>46, in startup
>       _startup()
>     File "/home/zopeuser/Zope-2.7/lib/python/Zope/App/startup.py", line
>95, in startup
>       OFS.Application.initialize(application)
>     File "/home/zopeuser/Zope-2.7/lib/python/OFS/Application.py", line
>420, in initialize
>       install_products(app)
>     File "/home/zopeuser/Zope-2.7/lib/python/OFS/Application.py", line
>579, in install_products
>       folder_permissions, raise_exc=debug_mode)
>     File "/home/zopeuser/Zope-2.7/lib/python/OFS/Application.py", line
>694, in install_product
>       get_transaction().commit()
>     File "/home/zopeuser/Zope-2.7/lib/python/ZODB/Transaction.py", line
>233, in commit
>       ncommitted += self._commit_objects(objects)
>     File "/home/zopeuser/Zope-2.7/lib/python/ZODB/Transaction.py", line
>348, in _commit_objects
>       jar.commit(o, self)
>     File "/home/zopeuser/Zope-2.7/lib/python/ZODB/Connection.py", line
>420, in commit
>       s=dbstore(oid,serial,p,version,transaction)
>     File "/home/zopeuser/Zope-2.7/lib/python/ZODB/FileStorage.py", line
>780, in store
>       serials=(oserial, serial))
>   ZODB.POSException.ConflictError: database conflict error (oid
>000000000000102b, serial was 035220323085caf7, now 0000000000000000)
>   
>   
>   
>   And that is how it ends. Can I fixe this conflict? What are the other
>errors?
>


-- 
"Code generators follow the 80/20 rule. They solve most of the problems, but not all of the problems. There are always features and edge cases that will need hand-coding. Even if code generation could build 100 percent of the application, there will still be an endless supply of boring meetings about feature design."
(http://www.devx.com/java/editorial/15511)





More information about the Zope mailing list