Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#9378 closed defect (cantfix)

XML Parse error - disconnect after 3 seconds, XMPP/Jabber

Reported by: av8or Owned by: rekkanoryo
Milestone: Component: unclassified
Version: 2.5.6 Keywords: XML Parse error


Openfire 3.6.4 Server, XMPP/Jabber. Pidgin 2.5.5 and 2.5.6 client under WIN XP-Pro SP2.

User starts up Pidgin and enters a chat room in OpenFire. OpenFire replays some number of previous messages (it's a cfg option in OpenFire) and one contains invalid XML code. This causes Pidgin to display 'XML Parse error' and disconnect from the Openfire Server. Pidgin retries entry to the room (auto-login configured for one of more rooms) and the sequence repeats until the offending message with bad XML code is purged from the OpenFire 'history' replay feature. History was set to 25 messages on this server.

I understand this is a known issue to some in the Pidgin community. I was told that the offending string in my example was: 

One could blame the user for posting bad XML code as the trigger (believed to be a cut&paste from bad XML in an email that was created by some other evil/broken application) One can blame the OpenFire server for not checking XML messages that it passes to Pidgin. One could say that Pidgin is very strict in its' XML checking but that it should be a bit more forgiving with error recovery.

It is this last point that I would like to explore. Could the code be changed so that rather than disconnect from the XMPP/Jabber server, Pidgin tries to continue as best it can without a disconnect? Maybe discard the offending message and post diagnostic error messages instead?


Change History (3)

comment:1 Changed 9 years ago by rekkanoryo

  • Resolution set to cantfix
  • Status changed from new to closed
  • Summary changed from XML Parse error - disco after 3 seconds, XMPP/Jabber to XML Parse error - disconnect after 3 seconds, XMPP/Jabber

We cannot ignore the message and continue. We are required to disconnect when we receive invalid XML.

comment:2 Changed 9 years ago by av8or

FWIW, the bad XML was sent to the OpenFire Server from another Pidgin client as a result of a user cut & paste. OpenFire simply passed along what it received from Pidgin.

IMO, 'ignore but try to continue' nerd knobs should still be considered.

comment:3 Changed 9 years ago by deryni

Ignoring and continuing is not possible, incorrect, and a violation of the XMPP RFCs. It is not something we would do even if it were cleanly possible.

The fact that pidgin can send invalid XML is a valid issue and one that has been addressed for pidgin 2.6.0.

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!