Hi, I'm trying out ZSyncer 0.4.6 between a pair of relatively pristine Zope 2.6.1: I'm getting this error on one: There was a problem with that comparison: Error: - Error - Syntax error at line 1: illegal data at start of file On the other I get this error: There was a problem with that comparison: Error: - ExpatError - syntax error: line 1, column 0 Looks like something with do with Expat, or some Python XML thingy? What are the canonical versions of these packages for ZSyncer? (My machines are FreeBSD 4.8-RELEASE, separately "make world"-upgraded from older 4.x versions over the years. There are likely to be package version differences here and there. I don't run portupgrade because I've been able to get away with it so far. ;-) Thanks. Cheers. -- Ng Pheng Siong <ngps@netmemetic.com>
Ng Pheng Siong wrote at 2003-6-13 10:41 +0800:
I'm trying out ZSyncer 0.4.6 between a pair of relatively pristine Zope 2.6.1:
I use ZSyncer 0.4.4 together with Zope 2.6.1 (and 2) without problems. (I know, it does not solve your problem. It's just the information that it may work.) Dieter
On Fri, Jun 13, 2003 at 11:00:01PM +0200, Dieter Maurer wrote:
I use ZSyncer 0.4.4 together with Zope 2.6.1 (and 2) without problems. (I know, it does not solve your problem. It's just the information that it may work.)
Thanks for the note. I figured it out: the problem is with (Py)Expat: My M2Crypto xmlrpc-over-ssl demo also failed with the same error. (It used to work with some older version of (Py)Expat.) Zope's bundled xmlrpclib doesn't pick up my copy of the Sgmlop parser which is bundled with PyXML. A 1-line patch later, it does, and SgmlopParser handles ZSyncer's xmlrpc call properly where (Py)Expat doesn't. So ZSyncer does, now. Can you check which parser your copy of ZSyncer is loading? ngps@vista:~/pkg/zope261/lib/python/Products/ZSyncer$ python2.1 Python 2.1.3 (#2, Jun 10 2003, 00:24:34) [GCC 2.95.4 20020320 [FreeBSD]] on freebsd4 Type "copyright", "credits" or "license" for more information.
import sys sys.path.insert(1, '/usr/local/home/ngps/pkg/zope261/lib/python') import xmlrpclibBasicAuth as X X.xmlrpclib.getparser() (<xmlrpclib.SgmlopParser instance at 0x819b50c>, <xmlrpclib.Unmarshaller instance at 0x812504c>)
Cheers. -- Ng Pheng Siong <ngps@netmemetic.com>
Ng Pheng Siong wrote at 2003-6-16 00:27 +0800:
... Zope's bundled xmlrpclib doesn't pick up my copy of the Sgmlop parser which is bundled with PyXML. A 1-line patch later, it does, and SgmlopParser handles ZSyncer's xmlrpc call properly where (Py)Expat doesn't.
So ZSyncer does, now.
Can you check which parser your copy of ZSyncer is loading?
It uses "xmlrpclib.ExpatParser" Dieter
On Sun, Jun 15, 2003 at 11:01:24PM +0200, Dieter Maurer wrote:
It uses "xmlrpclib.ExpatParser"
Thanks. Conclusion: Some combinations of expat/pyexpat cannot parse xmlrpc responses from some Zope usage, e.g., ZSyncer's, whereas the parser based on PyXML's sgmlop module can. Here's the expat installation on my FreeBSD boxen: expat-1.95.5 XML 1.0 parser written in C But then there is lib/python/Shared/DC/xml/pyexpat which seems to bundle its own copy of expat. Possibly this is Zope's version of DLL-hell. Cheers. -- Ng Pheng Siong <ngps@netmemetic.com>
participants (2)
-
Dieter Maurer -
Ng Pheng Siong