Bug 194470 - trying to enable desktop effects freezes computer
Summary: trying to enable desktop effects freezes computer
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-28 21:50 UTC by Defunct user
Modified: 2009-09-18 17:10 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Xorg.0.log.old (60.87 KB, text/plain)
2009-05-28 22:52 UTC, Defunct user
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Defunct user 2009-05-28 21:50:07 UTC
Version:            (using KDE 4.2.2)
Compiler:          gcc/g++ 4.3.3 
OS:                Linux
Installed from:    Debian testing/unstable Packages

Attempting to enable desktop effects in KDE 4.4.2 causes my computer 
to freeze so badly (no Ctrl-Alt-Backspace, no Ctrl-Alt-Delete, no
Ctrl-Alt-F1, no ssh, no ping) that I am forced to power it off. 
Compiz runs fine on the same machine with the same X configuration. 
I have not noticed anything interesting in the syslogs after the reboot.

This is particularly confusing when a new user is created, since kde4
appears to run the functionality checks for desktop effects on first log
in, causing a freeze. A workaround, which allows new users to log in, is
to disable desktop effects in a kwinrc file in /etc/kde4.

The symptoms are not consistent. Trying to enable desktop effects
normally causes a freeze but sometimes yields a popup window saying 

  "Failed to activate desktop effects using the given configuration options.
   Settings will be reverted to their previous values.

   Check your X configuration. You may also consider changing advanced
   options, especially changing the compositing type."

Changing the compositing type and other "advanced options" does not
help.

The machine is a Shuttle SN95G5 with 

   nVidia nForce3 chipset
   ATI Radeon 9200 RV280 AGP graphics

The problem occurs with a home-built 2.6.29.4 kernel and the Debian
2.6.26-2-amd64 kernel. I am using Debian's default xorg.conf and the
radeon driver. Googling suggested several possible tweaks to the
xorg.conf file, but these did not help. A purge and reinstallation of
kde4 did not help.

Since compiz works on the same hardware I am surprised that kde4 desktop
effects do not. Is this a bug or a limitation of my hardware? In any
case, the fact that it is impossible for new users to log in to a 
default installation of kde4 on this hardware is a problem.

This issue was initially reported as Debian bug 530886; the Debian
KDE maintainers asked me to forward it to bugs.kde.org.

Below are the xorg.conf file, the output of glxinfo, the output of
"lspci -nn", and some information about the relevant Debian packages installed on the system.

xorg.conf:

> # xorg.conf (X.Org X Window System server configuration file)
> #
> # This file was generated by dexconf, the Debian X Configuration tool, using
> # values from the debconf database.
> #
> # Edit this file with caution, and see the xorg.conf manual page.
> # (Type "man xorg.conf" at the shell prompt.)
> #
> # This file is automatically updated on xserver-xorg package upgrades *only*
> # if it has not been modified since the last upgrade of the xserver-xorg
> # package.
> #
> # If you have edited this file but would like it to be automatically updated
> # again, run the following command:
> #   sudo dpkg-reconfigure -phigh xserver-xorg
> 
> Section "InputDevice"
>       Identifier      "Generic Keyboard"
>       Driver          "kbd"
>       Option          "XkbRules"      "xorg"
>       Option          "XkbModel"      "pc105"
>       Option          "XkbLayout"     "gb"
> EndSection
> 
> Section "InputDevice"
>       Identifier      "Configured Mouse"
>       Driver          "mouse"
> EndSection
> 
> Section "Device"
>       Identifier      "Configured Video Device"
> EndSection
> 
> Section "Monitor"
>       Identifier      "Configured Monitor"
> EndSection
> 
> Section "Screen"
>       Identifier      "Default Screen"
>       Monitor         "Configured Monitor"
> EndSection

glxinfo output:

> name of display: :0.0
> display: :0  screen: 0
> direct rendering: Yes
> server glx vendor string: SGI
> server glx version string: 1.2
> server glx extensions:
>     GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, 
>     GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
>     GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control, 
>     GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
> client glx vendor string: SGI
> client glx version string: 1.4
> client glx extensions:
>     GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
>     GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
>     GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, 
>     GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control, 
>     GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 
>     GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
>     GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
> GLX version: 1.2
> GLX extensions:
>     GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
>     GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
>     GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, 
>     GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_SGI_make_current_read, 
>     GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, 
>     GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
> OpenGL vendor string: Tungsten Graphics, Inc.
> OpenGL renderer string: Mesa DRI R200 20060602 AGP 8x TCL
> OpenGL version string: 1.3 Mesa 7.0.4
> OpenGL extensions:
>     GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture, 
>     GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_texture_border_clamp, 
>     GL_ARB_texture_compression, GL_ARB_texture_cube_map, 
>     GL_ARB_texture_env_add, GL_ARB_texture_env_combine, 
>     GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, 
>     GL_ARB_texture_mirrored_repeat, GL_ARB_texture_rectangle, 
>     GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object, 
>     GL_ARB_vertex_program, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, 
>     GL_EXT_blend_color, GL_EXT_blend_equation_separate, 
>     GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract, 
>     GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_convolution, 
>     GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_fog_coord, 
>     GL_EXT_histogram, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, 
>     GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_rescale_normal, 
>     GL_EXT_secondary_color, GL_EXT_separate_specular_color, 
>     GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, 
>     GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, 
>     GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 
>     GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, 
>     GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, 
>     GL_EXT_texture_rectangle, GL_EXT_vertex_array, GL_APPLE_packed_pixels, 
>     GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3, 
>     GL_ATI_texture_mirror_once, GL_ATI_fragment_shader, GL_IBM_rasterpos_clip, 
>     GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, 
>     GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_MESA_window_pos, 
>     GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_texture_rectangle, 
>     GL_NV_texgen_reflection, GL_OES_read_format, GL_SGI_color_matrix, 
>     GL_SGI_color_table, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, 
>     GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays
> 
>    visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
>  id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
> ----------------------------------------------------------------------
> 0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
> 0x24 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
> 0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
> 0x26 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
> 0x27 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
> 0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
> 0x29 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
> 0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
> 0x2b 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
> 0x2c 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
> 0x2d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
> 0x2e 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
> 0x2f 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
> 0x30 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
> 0x31 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
> 0x32 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
> 0x7a 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 Ncon

"lspci -nn" output:

> 00:00.0 Host bridge [0600]: nVidia Corporation nForce3 250Gb Host Bridge [10de:00e1] (rev a1)
> 00:01.0 ISA bridge [0601]: nVidia Corporation nForce3 250Gb LPC Bridge [10de:00e0] (rev a2)
> 00:01.1 SMBus [0c05]: nVidia Corporation nForce 250Gb PCI System Management [10de:00e4] (rev a1)
> 00:02.0 USB Controller [0c03]: nVidia Corporation CK8S USB Controller [10de:00e7] (rev a1)
> 00:02.1 USB Controller [0c03]: nVidia Corporation CK8S USB Controller [10de:00e7] (rev a1)
> 00:02.2 USB Controller [0c03]: nVidia Corporation nForce3 EHCI USB 2.0 Controller [10de:00e8] (rev a2)
> 00:06.0 Multimedia audio controller [0401]: nVidia Corporation nForce3 250Gb AC'97 Audio Controller [10de:00ea] (rev a1)
> 00:08.0 IDE interface [0101]: nVidia Corporation CK8S Parallel ATA Controller (v2.5) [10de:00e5] (rev a2)
> 00:0a.0 IDE interface [0101]: nVidia Corporation nForce3 Serial ATA Controller [10de:00e3] (rev a2)
> 00:0b.0 PCI bridge [0604]: nVidia Corporation nForce3 250Gb AGP Host to PCI Bridge [10de:00e2] (rev a2)
> 00:0e.0 PCI bridge [0604]: nVidia Corporation nForce3 250Gb PCI-to-PCI Bridge [10de:00ed] (rev a2)
> 00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration [1022:1100]
> 00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map [1022:1101]
> 00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller [1022:1102]
> 00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control [1022:1103]
> 01:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV280 [Radeon 9200 SE] [1002:5964] (rev 01)
> 02:06.0 Ethernet controller [0200]: National Semiconductor Corporation DP83815 (MacPhyter) Ethernet Controller [100b:0020]
> 02:07.0 FireWire (IEEE 1394) [0c00]: VIA Technologies, Inc. VT6306 Fire II IEEE 1394 OHCI Link Layer Controller [1106:3044] (rev 80)
> 02:08.0 Ethernet controller [0200]: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller [11ab:4320] (rev 13)


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.29.4
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages kde-window-manager depends on:
ii  kdebase-runtime               4:4.2.2-1  runtime components from the offici
ii  kdebase-workspace-libs4+5     4:4.2.2-2  libraries provided by the KDE 4 ba
ii  kdelibs5                      4:4.2.2-2  core libraries for all KDE 4 appli
ii  libc6                         2.9-12     GNU C Library: Shared libraries
ii  libgl1-mesa-glx [libgl1]      7.0.3-7    A free implementation of the OpenG
ii  libice6                       2:1.0.5-1  X11 Inter-Client Exchange library
ii  libkdecorations4              4:4.2.2-2  library used by decorations for th
ii  libkwineffects1               4:4.2.2-2  library used by effects for the KD
ii  libqt4-dbus                   4.5.1-2    Qt 4 D-Bus module
ii  libqt4-qt3support             4.5.1-2    Qt 3 compatibility library for Qt 
ii  libqtcore4                    4.5.1-2    Qt 4 core module
ii  libqtgui4                     4.5.1-2    Qt 4 GUI module
ii  libsm6                        2:1.1.0-2  X11 Session Management library
ii  libstdc++6                    4.4.0-5    The GNU Standard C++ Library v3
ii  libx11-6                      2:1.2.1-1  X11 client-side library
ii  libxcomposite1                1:0.4.0-3  X11 Composite extension library
ii  libxdamage1                   1:1.1.1-4  X11 damaged region extension libra
ii  libxext6                      2:1.0.4-1  X11 miscellaneous extension librar
ii  libxfixes3                    1:4.0.3-2  X11 miscellaneous 'fixes' extensio
ii  libxrandr2                    2:1.3.0-2  X11 RandR extension library
ii  libxrender1                   1:0.9.4-2  X Rendering Extension client libra

kde-window-manager recommends no packages.

kde-window-manager suggests no packages.

-- no debconf information
Comment 1 Martin Flöser 2009-05-28 22:01:11 UTC
in general if X freezes it's an X bug, not a kwin. The fact that it works with Compiz does not say anything as it seems that driver developers test only with Compiz.

It would be useful to have a crash report or output of /var/log/Xorg.*.log if there is something useful.

If possible: are you able to ssh to the freezed system and collect some information?
Comment 2 Defunct user 2009-05-28 22:52:50 UTC
Created attachment 34085 [details]
Xorg.0.log.old

As I said in my original report, I cannot ssh in to the frozen machine; 
I cannot even ping it. The whole machine is dead.

Here is the Xorg.0.log.old file immediately after the reboot following the
freeze. There doesn't seem to be much there, unfortunately. The other log
files are also uninformative.

If you tell me how to get a crash report from a frozen machine I'll try.

I thought this might be an X problem, but the Debian KDE maintainer who
answered my original bug report asked me to report it to the KDE bug
tracking system.
Comment 3 Martin Flöser 2009-05-28 23:36:26 UTC
(In reply to comment #2)
> Here is the Xorg.0.log.old file immediately after the reboot following the
> freeze. There doesn't seem to be much there, unfortunately. The other log
> files are also uninformative.
> 
> If you tell me how to get a crash report from a frozen machine I'll try.
That will be difficult. But I can't see how we will be able to find anything useful to solve this bug or even to decide if it is a kwin bug (which I doubt).
Comment 4 Thomas Lübking 2009-05-28 23:50:29 UTC
as kwin and compiz use different implementations, thus likely different GL and maybe Render calls it's not /that/ strange. still a bug.

this however sounds like a kernel halt -> i just blame ati kernel module ;-)

did you try the other driver(s) - like fglrx and radeonhd or whatever is the amd/ati choice de toujours?
(it might stumble on concurrent GL and XRender calls that try to operate on the same HW)

last resort:
does alt+sysreq + "busier" work**? (sysreq is most likely the "print" key, and DON'T FORGET: busier is to be typed backwards, "REISUB", and wait some seconds between the keystrokes)

if not: many distros enable it on "kernel.sysrq = 1" in  /etc/sysctl.conf
this should allow you to get a coredump ('c', like restart kexec and crashdump, rather than 'b' reBooot)

if you don't know what this is at all, google* first and better be no absolute n00b ;-)

*or just read this:
http://en.wikipedia.org/wiki/System_request
and
http://en.wikipedia.org/wiki/Magic_SysRq_key
you want to print the second page - like on PAPER (or have a second machine...)

**kids: don't do that at home =P
Comment 5 Defunct user 2009-05-29 10:37:47 UTC
I am using the X.org radeon driver, which as far as I know is the only option for Radeon 9200 cards. The radeonhd driver only supports newer hardware (R500 and above). Recent versions of the proprietary fglrx driver no longer support the 9200.

I had already tried "Alt-SysRq reisub", but tested it again just to make sure.
When the machine is running normally it causes a reboot as expected, but it has no effect when the machine is frozen. The kernel seems completely dead.

Is there anything else I can do?
Comment 6 Thomas Lübking 2009-05-29 17:14:35 UTC
(In reply to comment #5)
> I had already tried "Alt-SysRq reisub", but tested it again just to make sure.
> When the machine is running normally it causes a reboot as expected, but it has
> no effect when the machine is frozen. The kernel seems completely dead.

hmmm. maybe just the usb subsystem?
can you try replacing the (usb?) keyboard with a ps/2 one? (iff you still have such io ports) i don't however know if this could help anything. (just guessing around)

> Is there anything else I can do?

file a bug to ati/amd or the radeon(hd) kernel/X11 driver devs.
userspace procs are not supposed to do such on your kernel. ever.

you could also run kwin in gdb, set a breakpoint on the composite check and step on, but that's not precisely your job...

last:
google suggested to lower the agp speed to 4x, but again: that's just some random guessing :-(
Comment 7 Defunct user 2009-05-29 20:31:40 UTC
The computer has a ps/2 port but I don't have a ps/2 keyboard.

I doubt ATI/AMD will be able to help, but some time within the next few days I'll file a bug with the X.org radeon driver developers. They'll probably blame KDE.

Debugging kwin with gdb is beyond me.

I have already tried changing the AGP speed and aperture, but it didn't help. There may be a magic combination of BIOS and xorg.conf settings that works, but there were too many combinations to try. Crashing my main work computer again and again cannot be good for it.

I guess I'll have to live without desktop effects. I wouldn't mind if I could figure out how to switch desktops using only the keyboard. Any hints?
Comment 8 Thomas Lübking 2009-05-29 20:53:02 UTC
ctrl+F[1-n] (by default)

and iff the kernel halts (and in particular in a certain module), that's /not/ any userspace apps problem, and even more /not/ the one of a highly abstracted one like kwin

i.e. calling glWhatever() or XRenderWhatever() should not be able even to just segfault X11, and certainly not the kernel - guess what it would mean if every app had to care about: "please do not call this and that together on ati cards - it's ok on intel and nvidia, though - where (on intel) you might not call that and those combination while on nvidia (but just in case of a > G92 chip) you must not call over there... waaaAAhhhHH!
=D
Comment 9 Nathan Thomas 2009-06-02 12:16:33 UTC
I also encounter this bug on my iBook G4 PowerPc laptop. Like Matthew I am also running KDE 4.2.2 on Debian testing, and also use an ATI graphics card (though mine's a Mobility Radeon 9550). Not only does enabling the desktop effects crash the system, but the screen also goes a nice shade of purple with vertical lines. Again, the system will not respond to keyboard input: hard reboot is the only option.

If other Debian testing users aren't affected by this bug, I'm guessing it must be a problem with the radeon driver and/or older radeon graphics cards. 

Nathan
Comment 10 Defunct user 2009-09-18 17:00:17 UTC
This bug has been fixed: I discovered yesterday that kde desktop effects now
work on my machine, as long as the firmware-linux package is installed. 
If firmware-linux is not installed KDE refuses to use compositing and does
not explain why, but the machine no longer freezes.

I do not know which of the many debian testing updates since May cured the
problem (and it would be hard to find out), but guess it was the switch to 
kde 4.3 or xorg 7.4.

As far as I am concerned this bug is now closed.
Comment 11 Martin Flöser 2009-09-18 17:10:38 UTC
(In reply to comment #10)
> As far as I am concerned this bug is now closed.
Seems to be fixed, if it occurs again please reopen