CorruptedTransactionError
I get the sinking feeling I'm in deep yogurt. Before getting this error, I was running Squishdot 0.3.2 (but I've made edits so it is not a pure Squishdot). I have been happily using 0.3.0 for a few days. This afternoon (with no know changes made - but I won't swear to it), I was all of a sudden unable to access my Squishdot site. I got KeyError (which is appended below since it still happened to be cached in my browser). I could still access other parts of my site. Then, after looking around for what could have caused this, I decided to try to restart Zope. Now I can not restart Zope and it says my Data.fs is corrupt. My question is: Is there anyway to fix this? Obviously, I can rename Data.fs and Zope will restart. However, I want to rescue everything I can out of Data.fs. Thanks, John Zope startup errors: -------------------- Traceback (innermost last): File "/usr/local2/packages/zope/Zope-2.0.1-src/z2.py", line 375, in ? exec "import "+MODULE in {} File "<string>", line 1, in ? File "/usr/local2/packages/zope/Zope-2.0.1-src/lib/python/Zope/__init__.py",line 109, in ? DB=ZODB.FileStorage.FileStorage(Globals.BobobaseName) File "/usr/local2/packages/zope/Zope-2.0.1-src/lib/python/ZODB/FileStorage.py", line 287, in __init__ self._pos, self._oid, tid = read_index( File "/usr/local2/packages/zope/Zope-2.0.1-src/lib/python/ZODB/FileStorage.py", line 1212, in read_index name, pos) File "/usr/local2/packages/zope/Zope-2.0.1-src/lib/python/ZODB/FileStorage.py", line 214, in panic raise CorruptedTransactionError, message ZODB.FileStorage.CorruptedTransactionError: /usr/local2/packages/zope/Zope-2.0.1-src/var/Data.fs incorrect previous pointer at 7355907 Squishdot Error: ---------------- Error An error has been encountered. Please contact John Glossner Error Type: KeyError Error Value: Troubleshooting Suggestions This resource may be trying to reference a nonexistent object or variable . The URL may be incorrect. The parameters passed to this resource may be incorrect. A resource that this resource relies on may be encountering an error. For more detailed information about the error, please refer to the HTML source for this page. If the error persists please contact the site maintainer. Thank you for your patience. Traceback (innermost last): File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/ZPublisher/Publish.py, line 214, in publish_module File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/ZPublisher/Publish.py, line 179, in publish File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/Zope/__init__.py, line 201, in zpublisher_exception_hook (Object: ElementWithAttributes) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/ZPublisher/Publish.py, line 165, in publish File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: index_html) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/ZPublisher/Publish.py, line 102, in call_object (Object: index_html) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/OFS/DTMLMethod.py, line 145, in __call__ (Object: index_html) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/DocumentTemplate/DT_String.py, line 502, in __call__ (Object: index_html) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/OFS/DTMLMethod.py, line 141, in __call__ (Object: site_header) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/DocumentTemplate/DT_String.py, line 502, in __call__ (Object: site_header) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/Products/Squishdot/Squishdot.py, line 801, in site_item_list (Object: ElementWithAttributes) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/Products/Squishdot/Squishdot.py, line 781, in site_id_list (Object: ElementWithAttributes) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/Products/Squishdot/Squishdot.py, line 735, in id_list (Object: ElementWithAttributes) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/Products/Squishdot/Squishdot.py, line 724, in rev_id_list (Object: ElementWithAttributes) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/Products/Squishdot/Squishdot.py, line 724, in <lambda> File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/ZODB/Connection.py, line 390, in setstate File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/ZODB/FileStorage.py, line 463, in load (Object: /usr/local2/packages/zope/Zope-2.0.1-src/var/Data.fs) File /usr/local2/packages/zope/Zope-2.0.1-src/lib/python/ZODB/FileStorage.py, line 439, in _load (Object: /usr/local2/packages/zope/Zope-2.0.1-src/var/Data.fs) KeyError: (see above)
On Wed, 27 Oct 1999, John Glossner wrote:
I get the sinking feeling I'm in deep yogurt.
I like that. I mean the expression ...
ZODB.FileStorage.CorruptedTransactionError: /usr/local2/packages/zope/Zope-2.0.1-src/var/Data.fs incorrect previous pointer at 7355907
I haven't seen this before but try first to trunctate Data.fs at the point where the problem occured. First make a copy of your Data.fs. Can you also send us/descripe what changes you have made to squsihdot? Pavlos
From: John Glossner glossner@hotmail.com ZODB.FileStorage.CorruptedTransactionError: /usr/local2/packages/zope/Zope-2.0.1-src/var/Data.fs incorrect previous pointer at 7355907
From: Pavlos Christoforou <pavlos@gaaros.msrc.sunysb.edu>
I haven't seen this before but try first to trunctate Data.fs at the point where the problem occured. First make a copy of your Data.fs.
How do I truncate Data.fs at a specific pointer? Is there a utility for this?
Can you also send us/descripe what changes you have made to squsihdot?
My changes are in the Data.fs (which is about 7MB, gzip'd 3.1M). I'll be happy to send it to anyone who wants to look but it is too big to post. My changes were mostly cosmetic. I removed the 1st column and placed it in a frame, I added a preview button to the review page, and some other minor stuff. Also, I do not know if Squishdot has anything to do with this problem. I want to point out that I didn't make any changes from the last time I test-posted to the time I did a reload and it crashed. Somehow, it looks like something got committed without my involvement. Since it is a test site there is almost no one who uses it. The distressing part is that I can't seem to recover to start zope and ftp out my content. Thanks, John
On Wed, 27 Oct 1999, John Glossner wrote:
How do I truncate Data.fs at a specific pointer? Is there a utility for this?
Fire up python and: f_in=open('Data.fs','rb') f_out=open('Data.fs_new','wb') dat=f_in.read(<point you want to truncate>) f_out.write(dat) f_in.close() f_out.close()
Can you also send us/descripe what changes you have made to squsihdot?
My changes are in the Data.fs (which is about 7MB, gzip'd 3.1M). I'll be happy to send it to anyone who wants to look but it is too big to post.
My changes were mostly cosmetic. I removed the 1st column and placed
Ok, I thought you changed Squishdot.py Hmmm do not delete the corrupted db, the DC people will probably be interested. Pavlos
John Glossner wrote:
From: John Glossner glossner@hotmail.com ZODB.FileStorage.CorruptedTransactionError: /usr/local2/packages/zope/Zope-2.0.1-src/var/Data.fs incorrect previous pointer at 7355907
From: Pavlos Christoforou <pavlos@gaaros.msrc.sunysb.edu>
I haven't seen this before but try first to trunctate Data.fs at the point where the problem occured. First make a copy of your Data.fs.
How do I truncate Data.fs at a specific pointer? Is there a utility for this?
python -c 'open("Data.fs","r+b").truncate(7355907)' Jim -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.
From: John Glossner glossner@hotmail.com ZODB.FileStorage.CorruptedTransactionError: /usr/local2/packages/zope/Zope-2.0.1-src/var/Data.fs incorrect previous pointer at 7355907
From: Pavlos Christoforou <pavlos@gaaros.msrc.sunysb.edu>
I haven't seen this before but try first to trunctate Data.fs at the point where the problem occured. First make a copy of your Data.fs.
How do I truncate Data.fs at a specific pointer? Is there a utility for this?
From: Jim Fulton <jim@digicool.com>
python -c 'open("Data.fs","r+b").truncate(7355907)'
Just a quick update since I have received such great help. This worked like a charm. I have 100% of my data back (which is not much since this is an experimental site). However, it is extremely satisfying to know that I was able to recover everything. Thanks, John
John Glossner wrote:
I get the sinking feeling I'm in deep yogurt.
Before getting this error, I was running Squishdot 0.3.2 (but I've made edits so it is not a pure Squishdot). I have been happily using 0.3.0 for a few days. This afternoon (with no know changes made - but I won't swear to it), I was all of a sudden unable to access my Squishdot site. I got KeyError (which is appended below since it still happened to be cached in my browser). I could still access other parts of my site.
Then, after looking around for what could have caused this, I decided to try to restart Zope. Now I can not restart Zope and it says my Data.fs is corrupt. My question is: Is there anyway to fix this? Obviously, I can rename Data.fs and Zope will restart. However, I want to rescue everything I can out of Data.fs.
1. make a gzipped copy of your Data.fs file 2. truncate your Data.fs file at 7355907 bytes and restart. Hopefully, you didn't lose much. 3. Please answer the following questions: - What version of Zope are you runing? - Are you using a network file system (e.g. NFS)? 4. Send me the zipped data file you created in step 1 and send it to me via *private* email. 5. if you've got a Zope event log or hit log, please zip them up and send them to me. Jim -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.
participants (4)
-
Jim Fulton -
John Glossner -
John Glossner -
Pavlos Christoforou