Bug 153317

Summary: Rapid memory leak and many 'VncClientThread::outputHandler: "Got new framebuffer size: 1280x800"' messages
Product: [Applications] krdc Reporter: Mark Williamson <maw48>
Component: generalAssignee: Urs Wolfer <uwolfer>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Mark Williamson 2007-12-03 02:57:38 UTC
Version:            (using KDE KDE 3.95.0)
Installed from:    Ubuntu Packages
OS:                Linux

Am logging this as crash even though I've not run it until the app crashes, but it locked up my machine by causing swap death, so I think that's near enough ;-)  It was chewing memory very rapidly, so I assume it'd *actually* crash eventually.  I've been using Krdc under KDE3 to connect to Xen virtual machines for a while.  I was trying out the krdc from KDE4 because it'd be really useful to me to have tabs available rather than a separate window for each connection.  Bookmarks would also be very useful.

My machine is Kubuntu Gutsy on x86_32.

I actually have an install of KDE4-RC1 on this machine (installed from here http://kubuntu.org/announcements/kde4-rc1.php); however, the KRDC says it comes from KDE4-beta4, which is presumably what shipped with Kubuntu Gutsy at release (?).  If that's a problem (e.g. if libraries are mixed up or something) then I can install something else, as long as it's from packages.  I'm not clear exactly what apt has done, I just let it do it's thing.

When I connect to a Xen virtual machine, I get lots of output saying:

krdc(6342)/krdc (VNC backend) VncClientThread::outputHandler: "Got new framebuffer size: 1280x800"

many times.  krdc swells to gigabytes of memory usage within a couple of minutes.  When I disconnect the VNC session, krdc stops growing but doesn't shrink either.

The VNC server in use is the built-in one used by Qemu and Xen for serving out virtual machine framebuffers.  It's not based on an external VNC server library and it incorporates some slightly non-standard behaviour (e.g. implements an extension to send resize events to the client when the server resolution changes - supported by RealVNC but not many other clients).

Please let me know if there's anything you'd like me to try or any more information you need.

Cheers,
Mark
Comment 1 Urs Wolfer 2007-12-03 23:51:54 UTC
SVN commit 744609 by uwolfer:

Fix HUGE memoryleak, which occured in very special circumstances: KRDC ate several GB of memory in a couple of minutes...
Thanks to Apol for his hints and Mark Williamson for reporting it.
BUG: 153317

 M  +15 -1     vncclientthread.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=744609