[Spacewalk-list] For information: python-sgmlop package and spacewalk XMLRPC problems

David Nutter davidn at bioss.ac.uk
Wed May 11 14:30:14 UTC 2011


Hi folks,

For some reason I had python-sgmlop kicking around on my spacewalk
server. I think it might have been used by spacewalk itself way back
when, looking at the date of the package install:

[davidn at spacewalk ~]$ rpm -qi python-sgmlop
Name        : python-sgmlop                Relocations: /usr 
Version     : 1.1.1                             Vendor: Fredrik Lundh <fredrik at pythonware.com>
Release     : 20040207.15.el5               Build Date: Wed 14 May 2008 14:36:22 BST
Install Date: Wed 10 Sep 2008 13:00:02 BST      Build Host: ls20-bc2-14.build.redhat.com
Group       : Development/Libraries         Source RPM: python-sgmlop-1.1.1-20040207.15.el5.src.rpm
Size        : 16912                            License: BSD
Signature   : DSA/SHA1, Thu 03 Jul 2008 14:36:20 BST, Key ID 95423d4e430a1c35
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://www.effbot.org/zone/sgmlop-index.htm
Summary     : SGMLOP -- a small and fast SGML/XML parser

Anyway, it isn't in use now. This package being there hadn't caused a
problem in the past but on upgrading to spacewalk 1.4 nothing which
used the XMLRPC interface (client tools, rhnpush etc would work). In
ssl_error_log on the spacewalk server I'd get a big stack trace ending
with:

  [Wed May 11 14:56:52 2011] [error] [client 212.219.57.224] PythonHeaderParserHandler spacewalk.server.apacheServer::HeaderParserHandler:   File "/usr/lib/python2.4/site-packages/spacewalk/server/apacheRequest.py", line 64, in __init__\n    self.parser._parser.returns_unicode = 0
  [Wed May 11 14:40:17 2011] [error] [client 212.219.57.197] PythonHeaderParserHandler spacewalk.server.apacheServer::HeaderParserHandler: AttributeError: SgmlopParser instance has no attribute '_parser'

Clients would see errors like:

  XMLRPC ProtocolError: <ProtocolError for spacewalk.bioss.sari.ac.uk /XMLRPC: 500 Internal Server Error>

when running interactively and in /var/log/up2date: 

  [Wed May 11 14:29:42 2011] up2date Error communicating with server. The message was:
  Internal Server Error

You get the picture. This change appears to be the one that kicked off the error:

https://fedorahosted.org/spacewalk/changeset/d3fbbbec76e3c983bfd947ba4d6a4a0682508c81

Anyway, deleting the package and restarting the spacewalk service got
everything working again.

Possibly spacewalk-backend-server should conflict with python-sgmlop
or explicitly check the parser type it is working with before setting
unicode behaviour. However, it's probably not worth bothering with
since python-sgmlop isn't exactly widely distributed from what I can
see.

Regards,

-david

PS The chap who posted about "error generated when running rhn_check
on client" back in April might be having this problem, or something
similar.

-- 
David Nutter  				Tel: +44 (0)131 650 4888
BioSS, JCMB, King's Buildings, Mayfield Rd, EH9 3JZ. Scotland, UK 

Biomathematics and Statistics Scotland (BioSS) is formally part of The
James Hutton Institute (JHI), a registered Scottish charity No. SC041796
and a company limited by guarantee No. SC374831




More information about the Spacewalk-list mailing list