[Zope] Data.fs Recovery

Godwin Vaz Godwin.Vaz at eng.monash.edu.au
Mon Apr 14 22:11:23 EDT 2008


Apologies if this is not the right forum

I have a corrupt Data.fs file and would appreciate some help recovering
data.

Zope 2.4 (still in the Stone Age)
OS: Windows 2003 server
Runs as service

The problem was first noticed yesterday on trying to save a web page
after making changes. Received the following error message.
IOError: (0, 'Error')

I tried the following

Restating the Zope service with the following results
- Starts and stops immediately

Start the Zope service using "start.bat" get the following

D:\civil>start.bat
------
2008-04-14T23:20:34 PROBLEM(100) Init Ambiguous name for method of
Products.Pyth
onMethod.PythonMethod.PythonMethod: "manage" != "manage_main"
------
2008-04-14T23:20:35 PROBLEM(100) Init Ambiguous name for method of
Products.ZDat
aQueryKit.ZVisualODBCClient.ZVisualODBCClient: "manage_propertiesForm"
!= "manag
e_main"
------
2008-04-14T23:20:35 PROBLEM(100) Init Ambiguous name for method of
Products.ZDat
aQueryKit.ZVisualODBCClient.ZVisualODBCClient: "manage_propertiesForm"
!= "manag
e_main"
------
2008-04-14T23:20:35 PANIC(300) z2 Startup exception
Traceback (innermost last):
  File D:\civil\z2.py, line 564, in ?
  File <string>, line 1, in ?
  File D:\civil\lib\python\Zope\__init__.py, line 110, in ?
  File D:\civil\lib\python\ZODB\FileStorage.py, line 311, in __init__
    (Object: D:\civil\var\Data.fs)
  File D:\civil\lib\python\ZODB\FileStorage.py, line 1747, in read_index
IOError: (0, 'Error')

Running tranalyzer.py and at some stage I get the following

31166 91405999210488
Traceback (most recent call last):
  File "lib/python/ZODB/tranalyzer.py", line 333, in ?
    main(sys.argv)
  File "lib/python/ZODB/tranalyzer.py", line 325, in main
    t = Transaction(f, off, refs)
  File "lib/python/ZODB/tranalyzer.py", line 170, in __init__
    self.obs.append(Record(f, refs))
  File "lib/python/ZODB/tranalyzer.py", line 214, in __init__
    data = f.c(dl - 8)
  File "lib/python/ZODB/tranalyzer.py", line 105, in c
    self.checkleft(n)
  File "lib/python/ZODB/tranalyzer.py", line 87, in checkleft
    raise 'Not enough data left, %d < %d' % (self.left, n)
Not enough data left, 31166 < 91405999210488

Running fsrecover.py get the following

D:\civil>bin\python lib/python/ZODB/fsrecover.py var/Data.fs
Traceback (most recent call last):
  File "lib/python/ZODB/fsrecover.py", line 94, in ?
    FileStorage.recover(sys.argv[1])
  File "D:\civil\lib\python\ZODB\FileStorage.py", line 1721, in recover
    pos, oid, tid = read_index(
  File "D:\civil\lib\python\ZODB\FileStorage.py", line 1747, in read_index
    file_size=file.tell()
IOError: (0, 'Error')

D:\civil>bin\python lib/python/ZODB/fsrecover.py
Traceback (most recent call last):
  File "lib/python/ZODB/fsrecover.py", line 94, in ?
    FileStorage.recover(sys.argv[1])
IndexError: list index out of range


Please help!!

Thanks
Godwin



More information about the Zope mailing list