[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#492491: Just pressing and holding "a" in konsole recently makes X eat all cpu

Package: konsole
Version: 4:3.5.9.dfsg.1-4
Severity: normal

[I don't know if this is a konsole or X (or qt) bug, but konsole is
where it happens so reporting a bug against konsole, Cc: to
debian-x@l.d.o. Feel free to reassign as you see fit.]

Starting with either kernel 2.6.26 or (which I suspect more) a recent
X update in unstable, just pressing and holding a letter makes X eat
lots (>80 %) of cpu (one core of a modern intel core 2 quad) as the
letters get printed. Also when normally typing, there is a noticeable,
but not tremendous, latency before getting the letters on screen. This
didn't happen before.

I don't use any transparency, either at the X level or the konsole
fake transparency. Schema is white on black, font is Monospace bold
12, antialiased. The same does not happen in gnome-terminal with the
same (and still antialiased) font.

Video card is Radeon HD 2600 with xserver-xorg-video-radeonhd 1.2.1-2
and xserver-xorg-core 2:1.4.2-2, with no direct rendering (I guess DR
is not even supported by the driver yet?). As I mentioned, this used
to work fine for a long time at least until a couple of weeks ago.
Some days ago I rebooted to kernel 2.6.26 and probably also an updated
X server and experienced this bug.

To me a particularly interesting fact is that making the konsole
window larger makes X eat more cpu (despite only the same small
portion of the konsole being updated); with a nearly full-screen
konsole (something like 1600x1120) X takes 80% of cpu; with a 800x600
size (and the same font and everything) the load is 50%.

I did some profiling, all the CPU time gets spent in
xserver-xorg-core's libshadow.so, function shadowUpdatePacked:

$ opreport --symbols
warning: [vdso] (tgid:5197 range:0x7fff917ff000-0x7fff91800000) could not be found.
CPU: Core 2, speed 2394 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000
samples  %        image name               app name                 symbol name
2198021  95.0486  libshadow.so             libshadow.so             shadowUpdatePacked
8679      0.3753  libkdeinit_konsole.so    libkdeinit_konsole.so    (no symbols)
3118      0.1348  libc-2.7.so              libc-2.7.so              __gconv_transform_utf8_internal
2966      0.1283  oprofiled                oprofiled                (no symbols)
2900      0.1254  libc-2.7.so              libc-2.7.so              mbrtowc

If you think it might help, I'm willing to spend some time to debug
this further. For example if you think it would be of any use, I could
get a more detailed source level annotation of shadowUpdatePacked, I
just need to recompile xserver-xorg-core for that.


-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages konsole depends on:
ii  kdelibs4c2a             4:3.5.9.dfsg.1-6 core libraries and binaries for al
ii  libc6                   2.7-12           GNU C Library: Shared libraries
ii  libgcc1                 1:4.3.1-7        GCC support library
ii  libqt3-mt               3:3.3.8b-5       Qt GUI Library (Threaded runtime v
ii  libstdc++6              4.3.1-7          The GNU Standard C++ Library v3
ii  libx11-6                2:1.1.4-2        X11 client-side library
ii  libxrender1             1:0.9.4-2        X Rendering Extension client libra

konsole recommends no packages.

Versions of packages konsole suggests:
ii  khelpcente 4:4.0.0.really.3.5.9.dfsg.1-4 help center for KDE

-- no debconf information

Reply to: