Bug 33643 - intermittent radeon driver hangs in radeon_fence_wait
Summary: intermittent radeon driver hangs in radeon_fence_wait
Status: RESOLVED INVALID
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: 7.5 (2009.10)
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-28 04:02 UTC by Chris Bainbridge
Modified: 2016-02-25 05:27 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Chris Bainbridge 2011-01-28 04:02:01 UTC
On Ubuntu Maverick with all updates installed I see the following hang once every few days. The dual screens flicker a few times and then turn off and the system appears to hang.

[346718.792761] npviewer.bin[24074]: segfault at 0 ip 00000000f6219ed1 sp 00000000ff8e4cf0 error 4 in libflashplayer.so[f5e7a000+b2e000]
[347130.812278] chromium-browse[24061]: segfault at b0 ip 00007fa6f00f4f3b sp 00007fffc5a02170 error 4 in chromium-browser[7fa6ef03a000+2ff5000]
[347130.818055] npviewer.bin[5712]: segfault at a1310c8 ip 000000000a1310c8 sp 00000000ffe5217c error 15
[347811.579386] npviewer.bin[5819]: segfault at eaf2c04c ip 00000000f6160ee7 sp 00000000ffd00e90 error 4 in libflashplayer.so[f5dc1000+b2e000]
[350493.759482] npviewer.bin[5934]: segfault at ef09b054 ip 00000000f61ceec3 sp 00000000ffbaed80 error 4 in libflashplayer.so[f5e2f000+b2e000]
[352334.673092] radeon 0000:04:00.0: GPU lockup CP stall for more than 1040msec
[352334.673097] ------------[ cut here ]------------
[352334.673125] WARNING: at /build/buildd/linux-2.6.35/drivers/gpu/drm/radeon/radeon_fence.c:235 radeon_fence_wait+0x365/0x3d0 [radeon]()
[352334.673129] Hardware name:         
[352334.673131] GPU lockup (waiting for 0x0023B734 last fence id 0x0023B726)
[352334.673134] Modules linked in: btrfs zlib_deflate crc32c libcrc32c ufs qnx4 hfsplus hfs minix ntfs vfat msdos fat jfs xfs reiserfs vboxnetadp vboxnetflt vboxdrv binfmt_misc snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm radeon led_class nfsd snd_seq_midi ttm drm_kms_helper ppdev snd_rawmidi exportfs lp nfs lockd fscache psmouse nfs_acl parport_pc video output drm i2c_algo_bit intel_agp serio_raw joydev snd_seq_midi_event auth_rpcgss snd_seq parport sunrpc snd_timer snd_seq_device snd soundcore snd_page_alloc hid_microsoft usbhid hid r8169 mii
[352334.673191] Pid: 1149, comm: Xorg Not tainted 2.6.35-24-generic #42-Ubuntu
[352334.673194] Call Trace:
[352334.673203]  [<ffffffff8106089f>] warn_slowpath_common+0x7f/0xc0
[352334.673208]  [<ffffffff81060996>] warn_slowpath_fmt+0x46/0x50
[352334.673227]  [<ffffffffa0299775>] radeon_fence_wait+0x365/0x3d0 [radeon]
[352334.673232]  [<ffffffff8107f730>] ? autoremove_wake_function+0x0/0x40
[352334.673251]  [<ffffffffa0299f71>] radeon_sync_obj_wait+0x11/0x20 [radeon]
[352334.673260]  [<ffffffffa01fb1a3>] ttm_bo_wait+0x103/0x1c0 [ttm]
[352334.673281]  [<ffffffffa02b0e1a>] radeon_gem_wait_idle_ioctl+0x9a/0x150 [radeon]
[352334.673296]  [<ffffffffa010d433>] drm_ioctl+0x463/0x520 [drm]
[352334.673317]  [<ffffffffa02b0d80>] ? radeon_gem_wait_idle_ioctl+0x0/0x150 [radeon]
[352334.673323]  [<ffffffff81589e25>] ? _raw_spin_lock_irq+0x15/0x20
[352334.673328]  [<ffffffff810097d1>] ? handle_signal+0x131/0x280
[352334.673332]  [<ffffffff810099a1>] ? do_signal+0x81/0x1a0
[352334.673337]  [<ffffffff81162f0d>] vfs_ioctl+0x3d/0xd0
[352334.673341]  [<ffffffff811637e1>] do_vfs_ioctl+0x81/0x340
[352334.673345]  [<ffffffff81009da5>] ? sys_rt_sigreturn+0x235/0x250
[352334.673349]  [<ffffffff81163b21>] sys_ioctl+0x81/0xa0
[352334.673354]  [<ffffffff8100a0f2>] system_call_fastpath+0x16/0x1b
[352334.673357] ---[ end trace 47ad65c4b1633013 ]---
[352334.864174] Failed to wait GUI idle while programming pipes. Bad things might happen.
[352334.865189] radeon 0000:04:00.0: (r100_asic_reset:2088) RBBM_STATUS=0x80010140
[352335.369874] radeon 0000:04:00.0: (r100_asic_reset:2109) RBBM_STATUS=0x80010140
[352335.870906] radeon 0000:04:00.0: (r100_asic_reset:2117) RBBM_STATUS=0x00000140
[352335.870934] radeon 0000:04:00.0: restoring config space at offset 0x1 (was 0x2900003, writing 0x2900007)
[352335.870948] radeon 0000:04:00.0: GPU reset succeed
[352335.870951] radeon 0000:04:00.0: GPU reset succeed
[352335.893694] [drm] radeon: ring at 0x00000000B8000000
[352335.893732] [drm] ring test succeeded in 0 usecs
[352335.893749] [drm] ib test succeeded in 3 usecs
[352477.641270] radeon 0000:04:00.0: GPU lockup CP stall for more than 1000msec
[352477.641274] ------------[ cut here ]------------
[352477.641302] WARNING: at /build/buildd/linux-2.6.35/drivers/gpu/drm/radeon/radeon_fence.c:235 radeon_fence_wait+0x365/0x3d0 [radeon]()
[352477.641306] Hardware name:         
[352477.641308] GPU lockup (waiting for 0x0023CA96 last fence id 0x0023CA95)
[352477.641311] Modules linked in: btrfs zlib_deflate crc32c libcrc32c ufs qnx4 hfsplus hfs minix ntfs vfat msdos fat jfs xfs reiserfs vboxnetadp vboxnetflt vboxdrv binfmt_misc snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm radeon led_class nfsd snd_seq_midi ttm drm_kms_helper ppdev snd_rawmidi exportfs lp nfs lockd fscache psmouse nfs_acl parport_pc video output drm i2c_algo_bit intel_agp serio_raw joydev snd_seq_midi_event auth_rpcgss snd_seq parport sunrpc snd_timer snd_seq_device snd soundcore snd_page_alloc hid_microsoft usbhid hid r8169 mii
[352477.641368] Pid: 1149, comm: Xorg Tainted: G        W   2.6.35-24-generic #42-Ubuntu
[352477.641371] Call Trace:
[352477.641380]  [<ffffffff8106089f>] warn_slowpath_common+0x7f/0xc0
[352477.641385]  [<ffffffff81060996>] warn_slowpath_fmt+0x46/0x50
[352477.641403]  [<ffffffffa0299775>] radeon_fence_wait+0x365/0x3d0 [radeon]
[352477.641409]  [<ffffffff8107f730>] ? autoremove_wake_function+0x0/0x40
[352477.641427]  [<ffffffffa0299a30>] ? radeon_fence_create+0xd0/0x140 [radeon]
[352477.641449]  [<ffffffffa02b198d>] radeon_ib_get+0x12d/0x250 [radeon]
[352477.641471]  [<ffffffffa02b2f7e>] radeon_cs_ioctl+0x8e/0x1e0 [radeon]
[352477.641485]  [<ffffffffa010d433>] drm_ioctl+0x463/0x520 [drm]
[352477.641507]  [<ffffffffa02b2ef0>] ? radeon_cs_ioctl+0x0/0x1e0 [radeon]
[352477.641525]  [<ffffffffa0299f26>] ? radeon_ttm_fault+0x66/0x80 [radeon]
[352477.641530]  [<ffffffff81162f0d>] vfs_ioctl+0x3d/0xd0
[352477.641534]  [<ffffffff811637e1>] do_vfs_ioctl+0x81/0x340
[352477.641540]  [<ffffffff8158db2e>] ? do_page_fault+0x15e/0x350
[352477.641544]  [<ffffffff81163b21>] sys_ioctl+0x81/0xa0
[352477.641550]  [<ffffffff8100a0f2>] system_call_fastpath+0x16/0x1b
[352477.641553] ---[ end trace 47ad65c4b1633014 ]---
[352477.851205] Failed to wait GUI idle while programming pipes. Bad things might happen.
[352477.852240] radeon 0000:04:00.0: (r100_asic_reset:2088) RBBM_STATUS=0x80310140
[352478.357296] radeon 0000:04:00.0: (r100_asic_reset:2109) RBBM_STATUS=0x80010140
[352478.858330] radeon 0000:04:00.0: (r100_asic_reset:2117) RBBM_STATUS=0x00000140
[352478.858359] radeon 0000:04:00.0: restoring config space at offset 0x1 (was 0x2900003, writing 0x2900007)
[352478.858372] radeon 0000:04:00.0: GPU reset succeed
[352478.858375] radeon 0000:04:00.0: GPU reset succeed
[352478.881046] [drm] radeon: ring at 0x00000000B8000000
[352478.881097] [drm] ring test succeeded in 0 usecs
[352478.881114] [drm] ib test succeeded in 3 usecs

04:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 PRO] (rev 01) (prog-if 00 [VGA controller])
	Subsystem: PC Partner Limited Device 0250
	Flags: bus master, medium devsel, latency 32, IRQ 17
	Memory at d8000000 (32-bit, prefetchable) [size=128M]
	I/O ports at d000 [size=256]
	Memory at e0030000 (32-bit, non-prefetchable) [size=64K]
	Expansion ROM at e0000000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: radeon
	Kernel modules: radeon, radeonfb

04:00.1 Display controller: ATI Technologies Inc RV280 [Radeon 9200 PRO] (Secondary) (rev 01)
	Subsystem: PC Partner Limited Device 0251
	Flags: bus master, medium devsel, latency 32
	Memory at d0000000 (32-bit, prefetchable) [size=128M]
	Memory at e0020000 (32-bit, non-prefetchable) [size=64K]
	Capabilities: <access denied>
Comment 1 Tamas Kovacs 2011-06-08 01:52:18 UTC
I have the same problem. It exists since months. At first I used Fedra 14, now Fedora 15 (both x86_64). All updates installed. System hang usually once/twice a day with the following error:

[ 2903.015042] radeon 0000:01:00.0: GPU lockup CP stall for more than 44167msec
[ 2903.015046] ------------[ cut here ]------------
[ 2903.015085] WARNING: at drivers/gpu/drm/radeon/radeon_fence.c:248 radeon_fence_wait+0x2a8/0x32b [radeon]()
[ 2903.015087] Hardware name: GA-870A-UD3
[ 2903.015089] GPU lockup (waiting for 0x00023FD4 last fence id 0x00023FD3)
[ 2903.015091] Modules linked in: vboxnetadp vboxnetflt vboxdrv sunrpc cpufreq_ondemand powernow_k8 freq_table mperf sco bnep l2cap bluetooth rfkill it87 hwmon_vid usblp snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_event snd_seq_midi_emul rc_winfast snd_hda_codec_hdmi tuner_simple tuner_types tuner snd_hda_codec_realtek tvaudio tda7432 snd_seq msp3400 ir_lirc_codec lirc_dev snd_emu10k1 snd_hda_intel snd_rawmidi snd_ac97_codec snd_hda_codec ac97_bus snd_seq_device snd_pcm bttv snd_timer ir_sony_decoder ir_jvc_decoder wmi ir_rc6_decoder ir_rc5_decoder snd_util_mem snd_hwdep v4l2_common videodev v4l2_compat_ioctl32 videobuf_dma_sg videobuf_core snd sp5100_tco ir_nec_decoder btcx_risc rc_core tveeprom xhci_hcd r8169 emu10k1_gp gameport edac_core soundcore mii i2c_piix4 snd_page_alloc edac_mce_amd k10temp microcode ipv6 firewire_ohci firewire_core pata_acpi ata_generic crc_itu_t pata_jmicron radeon uas usb_storage ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan]
[ 2903.015136] Pid: 1916, comm: X Not tainted 2.6.38.6-27.fc15.x86_64 #1
[ 2903.015138] Call Trace:
[ 2903.015145]  [<ffffffff8105510e>] warn_slowpath_common+0x83/0x9b
[ 2903.015148]  [<ffffffff810551c9>] warn_slowpath_fmt+0x46/0x48
[ 2903.015169]  [<ffffffffa00dbc84>] ? r600_gpu_is_lockup+0xbd/0xc6 [radeon]
[ 2903.015185]  [<ffffffffa00b6a90>] radeon_fence_wait+0x2a8/0x32b [radeon]
[ 2903.015189]  [<ffffffff8106f212>] ? autoremove_wake_function+0x0/0x3d
[ 2903.015205]  [<ffffffffa00b7055>] radeon_sync_obj_wait+0x11/0x13 [radeon]
[ 2903.015213]  [<ffffffffa00655da>] ttm_bo_wait+0xbf/0x17a [ttm]
[ 2903.015219]  [<ffffffffa0066002>] ? ttm_bo_list_ref_sub+0x29/0x2b [ttm]
[ 2903.015237]  [<ffffffffa00c6c4f>] radeon_bo_wait+0x7b/0x9f [radeon]
[ 2903.015256]  [<ffffffffa00c71c1>] radeon_gem_wait_idle_ioctl+0x3d/0x74 [radeon]
[ 2903.015268]  [<ffffffffa0019861>] drm_ioctl+0x29e/0x37b [drm]
[ 2903.015286]  [<ffffffffa00c7184>] ? radeon_gem_wait_idle_ioctl+0x0/0x74 [radeon]
[ 2903.015290]  [<ffffffff8112f508>] do_vfs_ioctl+0x47e/0x4bf
[ 2903.015293]  [<ffffffff8112f59f>] sys_ioctl+0x56/0x7b
[ 2903.015296]  [<ffffffff81009bc2>] system_call_fastpath+0x16/0x1b
[ 2903.015298] ---[ end trace 552cc2546773e7a4 ]---
[ 2903.015308] [drm] Disabling audio support
[ 2903.015365] HDMI hot plug event: Pin=3 Presence_Detect=0 ELD_Valid=0
[ 2903.031394] radeon 0000:01:00.0: GPU softreset 
[ 2903.031397] radeon 0000:01:00.0:   R_008010_GRBM_STATUS=0xA0003028
[ 2903.031399] radeon 0000:01:00.0:   R_008014_GRBM_STATUS2=0x00000002
[ 2903.031402] radeon 0000:01:00.0:   R_000E50_SRBM_STATUS=0x200000C0
[ 2903.031409] radeon 0000:01:00.0:   R_008020_GRBM_SOFT_RESET=0x00007FEE
[ 2903.046412] radeon 0000:01:00.0: R_008020_GRBM_SOFT_RESET=0x00000001
[ 2903.062415] radeon 0000:01:00.0:   R_008010_GRBM_STATUS=0x00003028
[ 2903.062418] radeon 0000:01:00.0:   R_008014_GRBM_STATUS2=0x00000002
[ 2903.062420] radeon 0000:01:00.0:   R_000E50_SRBM_STATUS=0x200000C0
[ 2903.063423] radeon 0000:01:00.0: GPU reset succeed
[ 2903.251652] radeon 0000:01:00.0: WB enabled
[ 2903.297960] [drm] ring test succeeded in 1 usecs
[ 2903.297968] [drm] ib test succeeded in 1 usecs
[ 2903.297971] [drm] Enabling audio support
[ 2903.298041] HDMI hot plug event: Pin=3 Presence_Detect=0 ELD_Valid=0


Part of lspci:

00:00.0 Host bridge: ATI Technologies Inc RX780/RX790 Chipset Host Bridge
00:02.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (external gfx0 port A)
00:09.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port E)
00:0a.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port F)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon HD 4770 [RV740]
01:00.1 Audio device: ATI Technologies Inc RV710/730
04:08.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
04:08.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
Comment 2 Christopher M. Penalver 2016-02-25 05:27:08 UTC
Chris Bainbridge, Ubuntu Maverick reached EOL on April 10, 2012. For more on this, please see https://wiki.ubuntu.com/Releases .

If this is reproducible in a supported release, it will help immensely if you filed a new report with Ubuntu by ensuring you have the package xdiagnose installed, and that you click the Yes button for attaching additional debugging information running the following from a terminal:
ubuntu-bug xorg

Also, please feel free to subscribe me to it.

For more on why this is helpful, please see https://wiki.ubuntu.com/ReportingBugs.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.