Bug 32047

Summary: GPU lockup on WebGL site
Product: Mesa Reporter: Ernst Sjöstrand <ernstp>
Component: Drivers/DRI/R600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: dmesg output

Description Ernst Sjöstrand 2010-12-02 06:53:35 UTC
Created attachment 40739 [details]
dmesg output

I read about this site using WebGL and tried it in Firefox 4. http://kataspace.sirikata.com/
Then I got a GPU lockup. The computer seemed to recover fine though!
I could switch to console mode after waiting a bit and kill firefox.

Ubuntu Maverick
Kernel: drm-next from 20101122 (linux-image-2.6.37-996-generic 2.6.37-996.201011221131)
Userspace: xorg edgers featuring:
    drm: 2.4.22+git20101127.1443bea4-0ubuntu0sarvatt~maverick
    mesa: 7.10.0+git20101201.fcf6b353-0ubuntu0sarvatt~maverick
    xorg: 2:1.9.2.901+git20101129+server-1.9-branch.65f2ab20-0ubuntu0sarvatt2~maverick
    xorg-radeon: 1:6.13.99+git20101201.035f7f3a-0ubuntu0sarvatt2~maverick
Firefox: 4.0~b8~hg20101201r58452+nobinonly-0ubuntu1~umd1~maverick

Radeon 4770
AMD 64

[19409.330037] radeon 0000:02:00.0: GPU lockup CP stall for more than 10000msec
[19409.330041] ------------[ cut here ]------------
[19409.330075] WARNING: at /home/kernel-ppa/COD/linux/drivers/gpu/drm/radeon/radeon_fence.c:244 radeon_fence_wait+0x2b7/0x320 [radeon]()
[19409.330077] Hardware name: .
[19409.330079] GPU lockup (waiting for 0x0001EF8C last fence id 0x0001EF8B)
[19409.330080] Modules linked in: binfmt_misc parport_pc ppdev snd_hda_codec_hdmi snd_usb_audio snd_usbmidi_lib snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd soundcore snd_page_alloc serio_raw shpchp i2c_nforce2 edac_core edac_mce_amd k8temp hwmon_vid lp parport btrfs zlib_deflate crc32c libcrc32c usbhid hid radeon ttm drm_kms_helper 8139too drm ahci 8139cp i2c_algo_bit mii pata_amd forcedeth libahci
[19409.330105] Pid: 3302, comm: Xorg Not tainted 2.6.37-996-generic #201011221131
[19409.330107] Call Trace:
[19409.330123]  [<ffffffffa010c6a7>] ? radeon_fence_wait+0x2b7/0x320 [radeon]
[19409.330129]  [<ffffffff81064610>] warn_slowpath_common+0x90/0xc0
[19409.330132]  [<ffffffff8106473e>] warn_slowpath_fmt+0x6e/0x70
[19409.330136]  [<ffffffff815a2c1e>] ? schedule_timeout+0x15e/0x2e0
[19409.330152]  [<ffffffffa0125973>] ? radeon_ring_commit+0xa3/0xb0 [radeon]
[19409.330168]  [<ffffffffa012cd02>] ? r100_gpu_cp_is_lockup+0x82/0x90 [radeon]
[19409.330183]  [<ffffffffa0155f2d>] ? r600_gpu_is_lockup+0x1cd/0x220 [radeon]
[19409.330196]  [<ffffffffa010c6a7>] radeon_fence_wait+0x2b7/0x320 [radeon]
[19409.330200]  [<ffffffff81085db0>] ? autoremove_wake_function+0x0/0x40
[19409.330214]  [<ffffffffa010cc72>] ? radeon_fence_create+0xe2/0x140 [radeon]
[19409.330228]  [<ffffffffa0125d10>] radeon_ib_get+0x130/0x1e0 [radeon]
[19409.330243]  [<ffffffffa01274fc>] radeon_cs_ioctl+0xcc/0x1c0 [radeon]
[19409.330260]  [<ffffffffa004a908>] drm_ioctl+0x2b8/0x490 [drm]
[19409.330276]  [<ffffffffa0127430>] ? radeon_cs_ioctl+0x0/0x1c0 [radeon]
[19409.330281]  [<ffffffff81270ba3>] ? security_file_permission+0x83/0x90
[19409.330284]  [<ffffffff8116e8fd>] vfs_ioctl+0x1d/0x50
[19409.330287]  [<ffffffff8116f3cd>] do_vfs_ioctl+0x6d/0x1f0
[19409.330290]  [<ffffffff8115e958>] ? vfs_read+0x178/0x180
[19409.330293]  [<ffffffff8116f5d7>] sys_ioctl+0x87/0xa0
[19409.330295]  [<ffffffff8115eb05>] ? sys_read+0x55/0x90
[19409.330298]  [<ffffffff8100c132>] system_call_fastpath+0x16/0x1b
[19409.330301] ---[ end trace 176c8b1065e85c58 ]---
[19409.330310] [drm] Disabling audio support
[19409.346613] radeon 0000:02:00.0: GPU softreset 
[19409.346617] radeon 0000:02:00.0:   R_008010_GRBM_STATUS=0xA25334A4
[19409.346619] radeon 0000:02:00.0:   R_008014_GRBM_STATUS2=0x00000102
[19409.346622] radeon 0000:02:00.0:   R_000E50_SRBM_STATUS=0x200000C0
[19409.346630] radeon 0000:02:00.0:   R_008020_GRBM_SOFT_RESET=0x00007FEE
[19409.361646] radeon 0000:02:00.0: R_008020_GRBM_SOFT_RESET=0x00000001
[19409.377636] radeon 0000:02:00.0:   R_008010_GRBM_STATUS=0x00003028
[19409.377639] radeon 0000:02:00.0:   R_008014_GRBM_STATUS2=0x00000002
[19409.377642] radeon 0000:02:00.0:   R_000E50_SRBM_STATUS=0x200000C0
[19409.378642] radeon 0000:02:00.0: GPU reset succeed
[19409.570894] radeon 0000:02:00.0: WB enabled
[19409.617656] [drm] ring test succeeded in 1 usecs
[19409.617666] [drm] ib test succeeded in 1 usecs
[19409.617669] [drm] Enabling audio support
[19422.390027] radeon 0000:02:00.0: GPU lockup CP stall for more than 10000msec
[19422.390032] ------------[ cut here ]------------
[19422.390065] WARNING: at /home/kernel-ppa/COD/linux/drivers/gpu/drm/radeon/radeon_fence.c:244 radeon_fence_wait+0x2b7/0x320 [radeon]()
[19422.390067] Hardware name: .
[19422.390069] GPU lockup (waiting for 0x0001EFC9 last fence id 0x0001EFC6)
[19422.390071] Modules linked in: binfmt_misc parport_pc ppdev snd_hda_codec_hdmi snd_usb_audio snd_usbmidi_lib snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd soundcore snd_page_alloc serio_raw shpchp i2c_nforce2 edac_core edac_mce_amd k8temp hwmon_vid lp parport btrfs zlib_deflate crc32c libcrc32c usbhid hid radeon ttm drm_kms_helper 8139too drm ahci 8139cp i2c_algo_bit mii pata_amd forcedeth libahci
[19422.390096] Pid: 3705, comm: firefox-4.0-bin Tainted: G        W   2.6.37-996-generic #201011221131
[19422.390098] Call Trace:
[19422.390113]  [<ffffffffa010c6a7>] ? radeon_fence_wait+0x2b7/0x320 [radeon]
[19422.390118]  [<ffffffff81064610>] warn_slowpath_common+0x90/0xc0
[19422.390121]  [<ffffffff8106473e>] warn_slowpath_fmt+0x6e/0x70
[19422.390126]  [<ffffffff815a2c1e>] ? schedule_timeout+0x15e/0x2e0
[19422.390142]  [<ffffffffa0125973>] ? radeon_ring_commit+0xa3/0xb0 [radeon]
[19422.390157]  [<ffffffffa012cd02>] ? r100_gpu_cp_is_lockup+0x82/0x90 [radeon]
[19422.390172]  [<ffffffffa0155f2d>] ? r600_gpu_is_lockup+0x1cd/0x220 [radeon]
[19422.390184]  [<ffffffffa010c6a7>] radeon_fence_wait+0x2b7/0x320 [radeon]
[19422.390189]  [<ffffffff81085db0>] ? autoremove_wake_function+0x0/0x40
[19422.390203]  [<ffffffffa010d411>] radeon_sync_obj_wait+0x11/0x20 [radeon]
[19422.390211]  [<ffffffffa00c15d2>] ttm_bo_wait+0x102/0x1b0 [ttm]
[19422.390217]  [<ffffffffa00c3e78>] ? ttm_bo_reserve+0x88/0xa0 [ttm]
[19422.390232]  [<ffffffffa0125323>] radeon_gem_wait_idle_ioctl+0x93/0x110 [radeon]
[19422.390248]  [<ffffffffa004a908>] drm_ioctl+0x2b8/0x490 [drm]
[19422.390252]  [<ffffffff8112e14a>] ? handle_mm_fault+0x29a/0x310
[19422.390269]  [<ffffffffa0125290>] ? radeon_gem_wait_idle_ioctl+0x0/0x110 [radeon]
[19422.390272]  [<ffffffff81132d46>] ? do_mmap_pgoff+0x326/0x350
[19422.390276]  [<ffffffff8116e8fd>] vfs_ioctl+0x1d/0x50
[19422.390278]  [<ffffffff8116f3cd>] do_vfs_ioctl+0x6d/0x1f0
[19422.390280]  [<ffffffff8116f5d7>] sys_ioctl+0x87/0xa0
[19422.390283]  [<ffffffff8100c132>] system_call_fastpath+0x16/0x1b
[19422.390285] ---[ end trace 176c8b1065e85c59 ]---
[19422.390292] [drm] Disabling audio support
[19422.406783] radeon 0000:02:00.0: GPU softreset 
[19422.406787] radeon 0000:02:00.0:   R_008010_GRBM_STATUS=0xA25334A4
[19422.406790] radeon 0000:02:00.0:   R_008014_GRBM_STATUS2=0x00000102
[19422.406792] radeon 0000:02:00.0:   R_000E50_SRBM_STATUS=0x200000C0
[19422.406798] radeon 0000:02:00.0:   R_008020_GRBM_SOFT_RESET=0x00007FEE
[19422.421814] radeon 0000:02:00.0: R_008020_GRBM_SOFT_RESET=0x00000001
[19422.437805] radeon 0000:02:00.0:   R_008010_GRBM_STATUS=0x00003028
[19422.437808] radeon 0000:02:00.0:   R_008014_GRBM_STATUS2=0x00000002
[19422.437810] radeon 0000:02:00.0:   R_000E50_SRBM_STATUS=0x200000C0
[19422.438810] radeon 0000:02:00.0: GPU reset succeed
[19422.620877] radeon 0000:02:00.0: WB enabled
[19422.667283] [drm] ring test succeeded in 1 usecs
[19422.667291] [drm] ib test succeeded in 1 usecs
[19422.681624] [drm] Enabling audio support
Comment 1 Alex Deucher 2010-12-02 07:50:12 UTC
Probably a 3D driver bug.  Can you try r600g?
Comment 2 Ernst Sjöstrand 2010-12-02 10:28:11 UTC
With Gallium firefox crashes instead, nothing in dmesg.
Here's the crash report at mozilla:
http://crash-stats.mozilla.com/report/index/bp-94150985-0b10-41a8-b145-407ee2101202

For reference, with Gallium all of these work fine:
http://www.ambiera.com/coppercube/webgldemos.html
Comment 3 Ernst Sjöstrand 2011-01-25 12:55:53 UTC
Closing this, the original issue with r600c is solved and there are newer and better bugs for the new problems.

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.