Bug 542280 - Xserver freezes when performing certain actions.
Xserver freezes when performing certain actions.
Product: Fedora
Classification: Fedora
Component: xorg-x11-server (Show other bugs)
x86_64 Linux
low Severity medium
: ---
: ---
Assigned To: Adam Jackson
Fedora Extras Quality Assurance
: Triaged
Depends On:
Blocks: eq-overflow
  Show dependency treegraph
Reported: 2009-11-28 23:00 EST by Nick Austin
Modified: 2010-11-01 12:17 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2010-11-01 12:17:35 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Xorg log. (15.18 KB, text/plain)
2009-11-28 23:00 EST, Nick Austin
no flags Details
gdb backtrace of xserver during hanging event. (11.54 KB, text/plain)
2009-11-29 01:36 EST, Nick Austin
no flags Details
Xorg strace output around the time it freezes. (505.10 KB, text/plain)
2009-12-13 20:34 EST, Oleg Girko
no flags Details

  None (edit)
Description Nick Austin 2009-11-28 23:00:56 EST
Created attachment 374507 [details]
Xorg log.

Description of problem:
When interacting my KDE desktop under Fedora 12, certain actions cause most of the desktop to freeze. During this failure mode, the mouse cursor will continue updating, but no windows will redraw. After roughly 15 seconds, all queued clicks will occur, and the windows will update.

When I press Alt-F2 to bring up the run command dialog, or hover over tasks in the task bar, this temporary lockup will occur.

The following set of messages will be generated each time this issue happens:

[mi] EQ overflowing. The server is probably stuck in an infinite loop.

0: /usr/bin/X (xorg_backtrace+0x28) [0x49e8d8]
1: /usr/bin/X (mieqEnqueue+0x1f4) [0x49e2a4]
2: /usr/bin/X (xf86PostMotionEventP+0xce) [0x478f0e]
3: /usr/lib64/xorg/modules/input/evdev_drv.so (0x7f4f293de000+0x50bf) [0x7f4f293e30bf]
4: /usr/bin/X (0x400000+0x6be17) [0x46be17]
5: /usr/bin/X (0x400000+0x116b13) [0x516b13]
6: /lib64/libpthread.so.0 (0x37f5e00000+0xefa0) [0x37f5e0efa0]
7: /usr/lib64/xorg/modules/drivers/nvidia_drv.so (0x7f4f59e98000+0xa4a51) [0x7f4f59f3ca51]
8: /usr/lib64/xorg/modules/libwfb.so (wfbBlt+0x1045) [0x7f4f59a63495]
9: /usr/lib64/xorg/modules/libwfb.so (wfbCopyNtoN+0x25e) [0x7f4f59a671ee]
10: /usr/bin/X (miCopyRegion+0x28d) [0x54575d]
11: /usr/bin/X (miDoCopy+0x44a) [0x545c6a]
12: /usr/lib64/xorg/modules/libwfb.so (wfbCopyArea+0x4c) [0x7f4f59a664cc]
13: /usr/lib64/xorg/modules/libwfb.so (wfb_image_from_pict+0x302) [0x7f4f59a6b8f2]
14: /usr/lib64/xorg/modules/libwfb.so (wfbComposite+0xd4) [0x7f4f59a6bbd4]
15: /usr/lib64/xorg/modules/drivers/nvidia_drv.so (0x7f4f59e98000+0x33e817) [0x7f4f5a1d6817]
16: /usr/bin/X (0x400000+0xd1c80) [0x4d1c80]
17: /usr/bin/X (0x400000+0x15e459) [0x55e459]
18: /usr/bin/X (0x400000+0x15e725) [0x55e725]
19: /usr/bin/X (0x400000+0xa2366) [0x4a2366]
20: /usr/bin/X (0x400000+0x4edde) [0x44edde]
21: /usr/bin/X (MapWindow+0x179) [0x452ec9]
22: /usr/bin/X (0x400000+0x2bdc6) [0x42bdc6]
23: /usr/bin/X (0x400000+0x2c69c) [0x42c69c]
24: /usr/bin/X (0x400000+0x21cfa) [0x421cfa]
25: /lib64/libc.so.6 (__libc_start_main+0xfd) [0x37f521eb1d]
26: /usr/bin/X (0x400000+0x218a9) [0x4218a9]

Nothing is shown in dmesg when this happens.

This can be avoided by disabling Composite in the xorg.conf file.

Version-Release number of selected component (if applicable):
$ uname -a
Linux frank #1 SMP Sat Nov 7 21:11:14 EST 2009 x86_64 x86_64 x86_64 GNU/Linux
NVIDIA Drivers 190.42

How reproducible:

Steps to Reproduce:
1. Run KDE with composite extension and desktop effects enabled.
2. Press Alt-F2
Actual results:
Desktop locks-up for ~15 seconds.

Expected results:
Run dialog is shown instantly.

Additional info:
Comment 1 Nick Austin 2009-11-29 01:36:36 EST
Created attachment 374516 [details]
gdb backtrace of xserver during hanging event.
Comment 2 Chris Campbell 2009-12-02 12:21:13 EST
Nick, thank you for including the necessary logs. I believe this bug is complete for triage, assigned to ajax, cc:d to airlied, setting triaged keyword and status to assigned (Fedora 12).

This bug has been triaged

Fedora Bugzappers volunteer triage team
Comment 3 Oleg Girko 2009-12-13 20:34:54 EST
Created attachment 378129 [details]
Xorg strace output around the time it freezes.

I have exactly the same problem. Error message in Xorg.0.log file is essentially the same, as well as Xorg server stack trace when the freeze is happening, so I'm not attachin them here.

It looks to me that the freeze is happening when Plasma tries to open any window: when I click on clock widget to see a calendar, when I click on a battery indicator widget to suspend the system, when I insert a flash card, when I open command line dialog using Alt-F2 etc. Also, the freeze is happening when Konsole opens a new window. The freeze lasts for approximately 15 seconds.

I have a desktop computer with nVidia GeForce 7950 GT videocard and a laptop computer (Lenovo ThinkPad T61p) with nVidia Quadro FX 570M. I experience the freeze effect described in this ticket only on the laptop computer. The desktop computer doesn't have Xorg server freeze.

I use close source nvidia drivers from RPM Fusion repository on both computers. When I switched my laptop to use the open source nouveau driver, the freeze effect is gone (as well as nice desktop effects).

The freeze started happening when I upgraded to Fedora 12. There was no freeze in Fedora 11.

I'm attaching the strace output for Xorg server around the time the freeze is happening. In this case the freeze is caused by clicking on the clock Plasma widget. The freeze in this trace starts at 20:45:31.539572 and ends at 20:45:47.376358, you can see that Xorg server is doing something strange during this time interval.
Comment 4 Adam Jackson 2010-11-01 12:17:35 EDT
This looks like a software fallback in nvidia's driver.  Nothing we can do about that, sorry.  Please contact NVIDIA for further assistance.

Note You need to log in before you can comment on or make changes to this bug.