BugzillaLPPlugin.getExternalBugTrackerToUse() can't cope with non-XML-RPC errors

Bug #257573 reported by Graham Binns
2
Affects Status Importance Assigned to Milestone
Launchpad itself
Triaged
Low
Unassigned

Bug Description

BugzillaLPPlugin.getExternalBugTrackerToUse() calls the Launchpad.plugin_version() method on the remote bugtracker's XML-RPC interface. If the plugin is installed, this will return a value. If it isn't, this will raise an XML-RPC fault. Both of these are handled correctly by getExternalBugTrackerToUse().

However, if the server on which Bugzilla is installed isn't configured correctly - for example if the SOAP::Lite Perl module isn't installed - making any request to the XML-RPC interface will cause an HTML error to be returned. This HTML is not well-formed XML, and so causes the expat parser, which is used by xmlrpclib to parse XML-RPC responses, to choke and raise an error.

getExternalBugTrackerToUse() should handle these errors correctly and treat them as an indication that BugzillaLPPlugin shouldn't be used to import statuses from that bugtracker.

An example of this behaviour can be seen by going to https://bugzilla.mindrot.org/xmlrpc.cgi, where the SOAP::Lite module isn't installed.

Tags: lp-bugs
Graham Binns (gmb)
Changed in malone:
importance: Undecided → Medium
status: New → Triaged
Curtis Hovey (sinzui)
Changed in launchpad:
importance: Medium → Low
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.