[Zope] Strange Folder problem

Toby Dickenson tdickenson@geminidataloggers.com
Wed, 24 Jul 2002 13:41:31 +0100


On Wednesday 24 Jul 2002 1:17 pm, Schmidt, Allen J. wrote:
> A folder full of images is getting this error when trying to access its
> contents in ZMI:
>
>
> Error Type: POSKeyError
> Error Value: 00000000000d0fa7

You have a dangling reference.

ZODB reported that it doesnt contain an object (the object with that oid)=
, but=20
another object contains a reference to it.

This should not happen. Unless youve been writing any low level ZODB code=
,=20
this isnt your fault.

> Until today, you could add images from my application but today I get t=
he
> error when the upload page tries to send the image in. The upload proce=
ss
> used to work fine even when getting this error trying to view the conte=
nts.
> HELP!  (IP Address above change to protect the innocent...)
>
> RH7.2
> Zope 2.5.1 w/ZEO & SQUID

ZEO 1 or 2?

What storage inside the ZEO server?

Anything interesting in the ZEO log?


If your ZEO server is using FileStorage, I suggest:

1. stop the ZEO server and Zope processes

2. archive your data.fs and data.fs.index files.
  (they may be useful for debugging how you got in this state)

3. remove the data.fs.index file.

4. start the ZEO server. this may take a while.

5. delete any client caches

6. start Zope

The data.fs.index file is a cache of the in-memory index mapping oid to f=
ile=20
seek position. Zope 2.5.1 uses BTrees for this index, but there are some=20
known BTree-corrupting bugs. If you are feeling brave, you might want to=20
consider upgrading to the current cvs version. Alternatively, remove the=20
fsIndex.py file to downgrade to using a dictionary instead of BTrees for =
this=20
index. This is safer, but has much higher emmory usage.