Heavy disk I/O causes X rendering to hang

Bug #790337 reported by Johannes H. Jensen
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
nvidia-graphics-drivers (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

I get some weird X behavior when my computer is under high I/O load. For some reason, X struggles with rendering (I think), causing long delays in program execution.

Steps to reproduce:

1. Start 'stress -d 2' to start hard-drive I/O
2. In another terminal, execute 'time ls /usr/bin'
3. Watch how the ls command hangs for many seconds.

The 'hanging' sometimes occurs before any output appears, other times it hangs in the middle of the output. The worst I've seen is 18 seconds before the command completes. The whole terminal window also hangs at this point.

Now I thought this was related to bug #131094, but I discovered that if I run the same test through SSH, there's no hanging! Everything is smooth through the SSH session. So the problem seems to be with X rendering the output of the command in the terminal.

There seem to be no relevant entries in the logs (kern.log, syslog, Xorg.0.log).

I've tested this with the proprietary nvidia driver, the nouveau driver and vesa driver. I got the same problem in all three cases. Tested both with Unity and Ubuntu Classic (no effects). I have also tried the packages in xorg-edgers, and the problem is still there.

System information:
- Ubuntu 11.04 64bit
- NVIDIA GeForce GTS 250

I'm not sure how to debug this further. Please let me know if there's any other information you require.
---
.proc.driver.nvidia.gpus.0: Error: [Errno 21] Is a directory: '/proc/driver/nvidia/gpus/0'
.proc.driver.nvidia.registry: Binary: ""
.proc.driver.nvidia.version:
 NVRM version: NVIDIA UNIX x86_64 Kernel Module 270.41.06 Mon Apr 18 14:53:56 PDT 2011
 GCC version: gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)
Architecture: amd64
CompizPlugins: [core,bailer,detection,composite,opengl,decor,place,compiztoolbox,imgpng,regex,grid,unitymtgrabhandles,move,animation,session,gnomecompat,vpswitch,workarounds,resize,snap,expo,mousepoll,ezoom,wall,staticswitcher,fade,scale,unityshell]
CompositorRunning: compiz
DistUpgraded: Log time: 2011-04-01 00:04:02.963428
DistroCodename: natty
DistroRelease: Ubuntu 11.04
DistroVariant: ubuntu
DkmsStatus:
 vboxhost, 4.0.4, 2.6.38-8-generic, x86_64: installed
 vboxhost, 4.0.4, 2.6.38-7-generic, x86_64: installed (WARNING! Diff between built and installed module!)
 nvidia-current, 270.41.06, 2.6.38-8-generic, x86_64: installed
GraphicsCard:
 nVidia Corporation G92 [GeForce GTS 250] [10de:0615] (rev a2) (prog-if 00 [VGA controller])
   Subsystem: Micro-Star International Co., Ltd. Device [1462:1543]
JockeyStatus: xorg:nvidia_current - NVIDIA accelerated graphics driver (Proprietary, Enabled, Not in use)
MachineType: System manufacturer P5K
NonfreeKernelModules: nvidia
Package: xserver-xorg-video-nv 1:2.1.17-3ubuntu7
PackageArchitecture: amd64
ProcEnviron:
 LANGUAGE=en_US:en
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-2.6.38-8-generic root=UUID=47045301-e02a-4cb1-9cfe-edbd6fc4dc1a ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Renderer: Unknown
Tags: natty running-unity ubuntu compiz-0.9
Uname: Linux 2.6.38-8-generic x86_64
UpgradeStatus: Upgraded to natty on 2011-03-31 (59 days ago)
UserGroups: adm admin audio backuppc cdrom dialout fuse libvirtd lpadmin plugdev pulse pulse-access pulse-rt sambashare vboxusers video
dmi.bios.date: 10/14/2008
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 1201
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: P5K
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev 1.xx
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr1201:bd10/14/2008:svnSystemmanufacturer:pnP5K:pvrSystemVersion:rvnASUSTeKComputerINC.:rnP5K:rvrRev1.xx:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: P5K
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer
version.compiz: compiz 1:0.9.4+bzr20110415-0ubuntu2
version.ia32-libs: ia32-libs 20090808ubuntu13
version.libdrm2: libdrm2 2.4.23-1ubuntu6
version.libgl1-mesa-dri: libgl1-mesa-dri 7.10.2-0ubuntu2
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 7.10.2-0ubuntu2
version.nvidia-graphics-drivers: nvidia-graphics-drivers N/A
version.xserver-xorg: xserver-xorg 1:7.6+4ubuntu3
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.0-0ubuntu4
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.14.0-4ubuntu7
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110107+b795ca6e-0ubuntu7

Revision history for this message
Johannes H. Jensen (joh) wrote : .proc.driver.nvidia.params.txt

apport information

tags: added: apport-collected compiz-0.9 natty running-unity ubuntu
description: updated
Revision history for this message
Johannes H. Jensen (joh) wrote : BootDmesg.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : Dependencies.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : GconfCompiz.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : GlConf.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : Lspci.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : Lsusb.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : ProcModules.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : UdevDb.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : UdevLog.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : UnitySupportTest.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : XorgConf.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : XorgLog.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : XorgLogOld.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : Xrandr.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : monitors.xml.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : nvidia-settings.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : peripherals.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : xdpyinfo.txt

apport information

Revision history for this message
Johannes H. Jensen (joh) wrote : xinput.txt

apport information

Timo Aaltonen (tjaalton)
affects: xserver-xorg-video-nv (Ubuntu) → nvidia-graphics-drivers (Ubuntu)
bugbot (bugbot)
tags: added: edgers
Revision history for this message
Johannes H. Jensen (joh) wrote :

In fact, I get the exact same problem on my ThinkPad X61 laptop, which is also running 11.04 (64bit). However, it has an Intel GM965 graphics card! So the problem doesn't seem to be specific to the nvidia driver.

Revision history for this message
Johannes H. Jensen (joh) wrote :

FWIW this seems to be related to the disk with the root filesystem. Here's why:

I did some more tests:

1. Run 'stress -d 2' on another disk, then test with 'time ls /usr/bin'.
2. Run 'stress -d 2' on another disk, then test with 'time ls -R /media/other-disk/'.
3. Run 'stress -d 2' on root disk, then test with 'time ls -R /media/other-disk/'

The results were pretty clear:

1. Rendering problem: NO
2. Rendering problem: NO
3. Rendering problem: YES

So which directory is listed by the 'ls' command is irrelevant.

Hence the conclusion: heavy I/O on the root disk -> bug.

The root filesystem is ext3. On the laptop it's ext4.

I have also tried to disable swap, but the problem still occurs.

Revision history for this message
Johannes H. Jensen (joh) wrote :

Just tested with a clean install of Fedora 15 on my laptop and get the same problem.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in nvidia-graphics-drivers (Ubuntu):
status: New → Confirmed
Revision history for this message
Bryce Harrington (bryce) wrote :

Hey joh,

You filed this bug report against natty, but I see it's still open and
doesn't appear to have much activity recently. So, now that oneiric
is released and stable, this may be a good point for you to upgrade
and re-test if this issue is still present there.

If it's solved in the new release and you think it's worth backporting
the fix, please indicate that. Or if having the fix in the new release
is good enough, feel free to close out the bug (or let us know and we'll
close it.)

If it's not solved, leave the bug report open. I can't promise we'll
get to it (we get way more bugs filed than we can usually get to), but
your testing and feedback can help out if and when we do.

Changed in nvidia-graphics-drivers (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Johannes H. Jensen (joh) wrote :

Hey Bryce,

I just tested on my fresh Oneiric install and the problem still occurs. I get the exact same results as comment #25.

It's worth noting that since first reporting the bug I've upgraded to an SSD for the root filesystem. Yet the problem persists, even with the now much faster disk.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for nvidia-graphics-drivers (Ubuntu) because there has been no activity for 60 days.]

Changed in nvidia-graphics-drivers (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.