Brian Lalor <[EMAIL PROTECTED]> writes: > File "/usr/lib/python2.2/site-packages/TMDA/FilterParser.py", line 716, in >__search_cdb > if key and cdb.has_key(string.lower(key)): > error: (71, 'Protocol error')
[...] > Has anyone seen this before? This is a first. I contacted the author of python-cdb about this; his detailed response is below. What we suspect is a corrupted CDB file. Can you try deleting that CDB file and recreating it (or let -autocdb recreate it)? Hopefully this will clear up the problem. -------------------- Start of forwarded message -------------------- Date: Thu, 7 Nov 2002 10:49:37 -0600 (CST) From: "M.J. Pomraning" <[EMAIL PROTECTED]> X-X-Sender: [EMAIL PROTECTED] To: "Jason R. Mastaler" <[EMAIL PROTECTED]> Subject: Re: error: (71, 'Protocol error') On Wed, 6 Nov 2002, Jason R. Mastaler wrote: > See http://mla.libertine.org/tmda-users/200211/msg00053.html > > Does this make any sense to you? Is this a CDB and/or python-cdb > problem? Both -- cdb communicates exceptional errors via errno, and python-cdb mimics this behavior, raising OSError-like exceptions. In this case, the underlying cdb_read() routine sets EPROTO for a badly formatted database file, [1] specifically an unexpectedly short file. I'd guess that the .cdb is corrupt. If so, it should be possible to determine the particular key(s) that are problematic, and deterministically hit EPROTO with any of the CDB interfaces. Assuming bad key 'k', the poster can try: cdbget k < path/to/cdb # from cdb-0.75; exit 111 with Proto err. $cdb_pl{k} # CDB_File prefers EFTYPE to EPROTO, # but should still croak(). cdb_py.has_key('k') # Well, we know what happens here. :) I'd be happy to assist in diagnosing the corruption. There are other (less plausible) explanations, too, though I think server load is a red herring in any case. [1] http://cr.yp.to/cdb/reading.html mentions "setting errno appropriately" for file format errors, which turns out to be our EPROTO. HTH, Mike -- MJ Pomraning [EMAIL PROTECTED] http://pilcrow.madison.wi.us -------------------- End of forwarded message -------------------- _____________________________________________ tmda-users mailing list ([EMAIL PROTECTED]) http://tmda.net/lists/listinfo/tmda-users
