gobby uses 100% CPU on files >500KB in size

Bug #251472 reported by Rolf Leggewie
8
Affects Status Importance Assigned to Milestone
net6 (Ubuntu)
Fix Released
Medium
Philipp Kern
Hardy
Fix Released
Medium
Unassigned
Intrepid
Fix Released
Medium
Philipp Kern

Bug Description

Upstreams devs verified that gobby eats up a lot of CPU when trying to collaborate on a rather large text file (in my case it was just shy of 1MB). After about a minute, the session connection was severed. gobby continued to use 100% of CPU, never recovered, became unresponsive and had to be killed with "killall gobby".

Upstream devs quickly provided a patch in 5d3d8c71645b5bfb27b7538b3c3c4ebef1117cf3 which I attach here. I recompiled the hardy package with that patch and can happily report that indeed this fixes the problem. I recommend to release an updated package including that patch.

Revision history for this message
Rolf Leggewie (r0lf) wrote :
Changed in net6:
importance: Undecided → High
status: New → In Progress
Philipp Kern (pkern)
description: updated
Rolf Leggewie (r0lf)
description: updated
description: updated
description: updated
Philipp Kern (pkern)
Changed in net6:
assignee: nobody → pkern
importance: High → Low
importance: Low → Medium
Changed in net6:
status: In Progress → Fix Released
Revision history for this message
Philipp Kern (pkern) wrote :
Revision history for this message
Philipp Kern (pkern) wrote :

Steps to reproduce the problem:

 * Install `gobby'.
 * Start a Gobby server somewhere (localhost might also be possible)
 * Connect with another Gobby client.
 * Open a big text(!) file with many newlines, colons and/or slashes (those are the characters that are escaped). In the tests it was a 1Mb file.
 * Watch the GUI freeze while Gobby does many, many memmoves while escaping the outgoing packet.

Revision history for this message
Scott Kitterman (kitterman) wrote :

<pitti> ScottK: haven't thorougly read the patch, but size and shape-wise it looks ok to me

Changed in net6:
importance: Undecided → Medium
status: New → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into -proposed, please test and give feedback here. Please see https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Revision history for this message
Rolf Leggewie (r0lf) wrote :

As usual, I can't find the darn thing in -proposed. I don't want to enable -proposed globally. I suggest to update the above wiki page with some instructions on how to locate a single package in -proposed for download and installation with wget and dpkg -i

Revision history for this message
Martin Pitt (pitti) wrote : Re: [Bug 251472] Re: gobby uses 100% CPU on files >500KB in size

Hi Rolf,

Rolf Leggewie [2008-07-25 10:45 -0000]:
> As usual, I can't find the darn thing in -proposed. I don't want to
> enable -proposed globally. I suggest to update the above wiki page with
> some instructions on how to locate a single package in -proposed for
> download and installation with wget and dpkg -i

For this update you want the "libnet6-1.3-0" package (built by the
net6 source).

Revision history for this message
Scott Kitterman (kitterman) wrote : Re: [Bug 251472] Re: gobby uses 100% CPU on files >500KB in size

The package has to be built, published, and then make it to your mirror.
As of a minute ago when I checked, the binaries weren't published yet. If
you check, a particular architecture, it needs to be marked DONE before
it's available. See:

launchpad.net/ubuntu/hardy/+source/net6/1:1.3.6-1ubuntu0.1

Revision history for this message
Rolf Leggewie (r0lf) wrote :

I am happy to report that http://launchpadlibrarian.net/16297620/libnet6-1.3-0_1.3.6-1ubuntu0.1_i386.deb does indeed fix the problem

Revision history for this message
Martin Pitt (pitti) wrote :

Copied to hardy-updates.

Changed in net6:
status: Fix Committed → Fix Released
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.