irc: periodic '/who' polling causes connection drops

Bug #856631 reported by Steve Magoun on 2011-09-22
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Pidgin
Fix Released
Unknown
pidgin (Ubuntu)
Medium
Mathieu Trudel-Lapierre

Bug Description

After upgrading from 11.04 to 11.10, I found that pidgin was frequently (~20x/day) losing its connection to an IRC server. Other users on the channels I'm in reported I was disconnected with a 'Max SendQ exceeded' message. Pidgin reported simply 'Connection reset by peer'.

After a bit of debugging I found that recent versions of Pidgin now send a periodic '/who' for all channels the client is connected to. If you're in a lot of channels, or the channels have a lot of people in them (or both!), the server's send buffer can fill up resulting in the client being kicked.

The attached patch works around the problem by disabling the periodic /who altogether. I think a more correct fix would put a delay in irc_who_channel_timeout so that we wait a bit after sending each /who.

Bug is present in pidgin 1:2.10.0-0ubuntu1; it is a regression from 1:2.7.11-1ubuntu2 in 11.04.

Related branches

Steve Magoun (smagoun) wrote :

The attachment "irc_disable_periodic_who.patch" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-sponsors please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Alberto Milone (albertomilone) wrote :

I've tried Steve's patch and I can confirm that it solves the problem

Changed in pidgin (Ubuntu):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pidgin - 1:2.10.0-0ubuntu2

---------------
pidgin (1:2.10.0-0ubuntu2) oneiric; urgency=low

  * debian/patches/irc_disable_periodic_who.patch: work around spontaneous
    disconnects from IRC due to 'Max SendQ exceeded' errors caused by periodic
    /who checks. (LP: #856631)
 -- Mathieu Trudel-Lapierre <email address hidden> Fri, 23 Sep 2011 22:00:52 -0400

Changed in pidgin (Ubuntu):
status: In Progress → Fix Released
Changed in pidgin:
status: Unknown → New
Renato Silva (renatosilva) wrote :

pidgin-bugs #14955 marked as duplicate of pidgin-bugs #14743

Changed in pidgin:
importance: Unknown → Undecided
importance: Undecided → Unknown
status: New → Unknown
Changed in pidgin:
status: Unknown → New
Renato Silva (renatosilva) wrote :

I think pidgin-bugs #14955 does not complain about the same thing, but the solution is the same (disable periodic who).

Changed in pidgin:
status: New → Unknown
Changed in pidgin:
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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