[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