error when starting with ZServer
Hello, This is a weird error I get. Hope that it can be useful to track down a bug. I've got a base (Data.bbb.*) that is served by a PCGI/Apache Zope. When I publish this base with ZopeHTTPServer, no problemo, it just work fine. However, If I try to publish the base with ZServer, I get this traceback: -------------------------------8<------------------------------- Traceback (innermost last): File "./PubCore/ZServerPublisher.py", line 94, in __init__ publish_module( File "/home/webdevel/devel/Zope/lib/python/ZPublisher/Publish.py", line 877, in publish_module response = publisher.publish(module_name,after_list, File "/home/webdevel/devel/Zope/lib/python/ZPublisher/Publish.py", line 325, in publish (bobo_before, bobo_after, request_params, File "/home/webdevel/devel/Zope/lib/python/ZPublisher/Publish.py", line 616, in get_module_info module=__import__(module_name, globals(), globals(), ('__doc__',)) File "/home/webdevel/devel/Zope/lib/python/Main.py", line 103, in ? Bobobase=OFS.Application.open_bobobase() File "/home/webdevel/devel/Zope/lib/python/OFS/Application.py", line 326, in open_bobobase try: app=Bobobase['Application'] File "/home/webdevel/devel/Zope/lib/python/BoboPOS/PickleDictionary.py", line 178, in __getitem__ def __getitem__(self,key): return self._index[key] File "/home/webdevel/devel/Zope/lib/python/BoboPOS/PickleDictionary.py", line 208, in __getitem__ def __getitem__(self, key): return self._d[key] File "/home/webdevel/devel/Zope/lib/python/BoboPOS/PickleJar.py", line 271, in setstate state = unpickler.load() ImportError: ('cPickle.UnpicklingError', "invalid load key, 'G'.") -------------------------------8<------------------------------- Note that the three installation (the one with PCGI, the one with ZHS, the one with ZS) are ***THE SAME***. I copied them with cp -R to do my tests: $ cp -R ZopeWithPCGI ZopeWithZHS $ cp -R ZopeWithPCGI ZopeWithZS $ cd ZopeWithZHS; ./start.py # it works. Then I shutdown the Zope process $ cd ZopeWithZS/var; ../ZServer/start.py # don't work. I wanted to "suck" all my sources from my site by FTP with ZServer to work on it offline, but I can't because of this stuff :-))) Hope that can help. And if anyone here has a solution, it is also welcome... Regards, Jephte CLAIN, Service Informatique CHSR
hm. do the two installations run with the same sys.path? run it under python -v, see where they're picking up cpickle. My guess is that ZServer is using a system installed one, rather than the one in Zope. Anthony
"Service Informatique CHSR" wrote Hello,
This is a weird error I get. Hope that it can be useful to track down a bug.
I've got a base (Data.bbb.*) that is served by a PCGI/Apache Zope. When I publish this base with ZopeHTTPServer, no problemo, it just work fine. However, If I try to publish the base with ZServer, I get this traceback:
-------------------------------8<------------------------------- Traceback (innermost last): File "./PubCore/ZServerPublisher.py", line 94, in __init__ publish_module( File "/home/webdevel/devel/Zope/lib/python/ZPublisher/Publish.py", line 877, in publish_module response = publisher.publish(module_name,after_list, File "/home/webdevel/devel/Zope/lib/python/ZPublisher/Publish.py", line 325, in publish (bobo_before, bobo_after, request_params, File "/home/webdevel/devel/Zope/lib/python/ZPublisher/Publish.py", line 616, in get_module_info module=__import__(module_name, globals(), globals(), ('__doc__',)) File "/home/webdevel/devel/Zope/lib/python/Main.py", line 103, in ? Bobobase=OFS.Application.open_bobobase() File "/home/webdevel/devel/Zope/lib/python/OFS/Application.py", line 326, in open_bobobase try: app=Bobobase['Application'] File "/home/webdevel/devel/Zope/lib/python/BoboPOS/PickleDictionary.py", line 178, in __getitem__ def __getitem__(self,key): return self._index[key] File "/home/webdevel/devel/Zope/lib/python/BoboPOS/PickleDictionary.py", line 208, in __getitem__ def __getitem__(self, key): return self._d[key] File "/home/webdevel/devel/Zope/lib/python/BoboPOS/PickleJar.py", line 271, in setstate state = unpickler.load() ImportError: ('cPickle.UnpicklingError', "invalid load key, 'G'.") -------------------------------8<-------------------------------
Note that the three installation (the one with PCGI, the one with ZHS, the one with ZS) are ***THE SAME***. I copied them with cp -R to do my tests:
$ cp -R ZopeWithPCGI ZopeWithZHS $ cp -R ZopeWithPCGI ZopeWithZS $ cd ZopeWithZHS; ./start.py # it works. Then I shutdown the Zope process $ cd ZopeWithZS/var; ../ZServer/start.py # don't work.
I wanted to "suck" all my sources from my site by FTP with ZServer to work on it offline, but I can't because of this stuff :-)))
Hope that can help. And if anyone here has a solution, it is also welcome...
Regards, Jephte CLAIN, Service Informatique CHSR
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://www.zope.org/mailman/listinfo/zope-dev
(For non-developer, user-level issues, use the companion list, zope@zope.org, http://www.zope.org/mailman/listinfo/zope )
-- Anthony Baxter <anthony@interlink.com.au> It's never too late to have a happy childhood.
On Tue, 23 Mar 1999, Service Informatique CHSR wrote:
Hello,
This is a weird error I get. Hope that it can be useful to track down a bug.
I've got a base (Data.bbb.*) that is served by a PCGI/Apache Zope. When I publish this base with ZopeHTTPServer, no problemo, it just work fine. However, If I try to publish the base with ZServer, I get this traceback:
ZServer probably picks the cPickle file from a different installation. Try adding the following in your start.py file in the ZServer directory. import sys,os sys.path.insert(0,os.path.join('..','lib','python')) My guess Pavlos
participants (3)
-
Anthony Baxter -
Pavlos Christoforou -
Service Informatique CHSR