I've asked this before, about a year ago, but got no response. Does anyone else ever see 'bad marshal data' errors sometimes? What are they a symptom of? It sometimes happens in my products, other times in Zope. It always occurs on import statements. I usually manage to fix it by playing around with line spacing, etc, in the module being imported. Deleting *pyc files does not help. Here's an example: Traceback (most recent call last): File "/usr/local/Zope-2.5.1b1-src/lib/python/OFS/Application.py", line 531, in import_product product=__import__(pname, global_dict, global_dict, silly) ValueError: bad marshal data seb
I haven't seen anything like that. What I have seen, an which scares the heck out of me everytime I see it is UnpicklingErrror, which, in my case, usually happens when the _p_jar dictionary doesn't have an object that other parts of zope swear they exist. The solution to that usually involves trimming the last transaction(s) off of the ZODB or, when that's not an option, going in thru the monitor port and forcibly deleting the offending objects, where finding the offending objects is an adventure in itself. The problem you're talking about sounds a lot like the ZODB reference to a ceirtan product got corrupted somehow, and forcing the reload of this product (by changing it's syntax slightly) makes the problem go away. On Wed, 2002-03-27 at 08:19, seb bacon wrote:
I've asked this before, about a year ago, but got no response.
Does anyone else ever see 'bad marshal data' errors sometimes? What are they a symptom of?
It sometimes happens in my products, other times in Zope. It always occurs on import statements. I usually manage to fix it by playing around with line spacing, etc, in the module being imported. Deleting *pyc files does not help. Here's an example:
Traceback (most recent call last): File "/usr/local/Zope-2.5.1b1-src/lib/python/OFS/Application.py", line 531, in import_product product=__import__(pname, global_dict, global_dict, silly) ValueError: bad marshal data
seb
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
-- Ideas don't stay in some minds very long because they don't like solitary confinement.
On 27 Mar 2002 16:25:27 -0300, Leonardo Rochael Almeida <leo@hiper.com.br> wrote:
On Wed, 2002-03-27 at 08:19, seb bacon wrote:
Traceback (most recent call last): File "/usr/local/Zope-2.5.1b1-src/lib/python/OFS/Application.py", line 531, in import_product product=__import__(pname, global_dict, global_dict, silly) ValueError: bad marshal data
Deleting *pyc files does not help.
That traceback definitely hints at a pyc-related problem. Are you deleting *.pyo files too ? Ive also seen a similar traceback on importing a product which stored some big data structure marshalled in a string literal, and unmarshalled it when imported. I cant remember which product it was, and I think the traceback would different, but it might be worth grepping for 'marshal' in the source of all your products.
The problem you're talking about sounds a lot like the ZODB reference to a ceirtan product got corrupted somehow, and forcing the reload of this product (by changing it's syntax slightly) makes the problem go away.
Im sure thats not the case because ZODB doesnt use marshal. Only pickle. Toby Dickenson tdickenson@geminidataloggers.com
participants (3)
-
Leonardo Rochael Almeida -
seb bacon -
Toby Dickenson