Bug 31150 - [r200] wings3d leads to GPU lockup
Summary: [r200] wings3d leads to GPU lockup
Status: RESOLVED WORKSFORME
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/r200 (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-26 22:28 UTC by Daniel Richard G.
Modified: 2010-12-06 00:09 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Daniel Richard G. 2010-10-26 22:28:37 UTC
I have an ATI FireGL 8800, running with an up-to-date Ubuntu Maverick on amd64 plus a 2.6.36 kernel patched with a fix for bug #25544. I am using Mesa packages from git master 20101023, and xserver-xorg-video-ati packages from git master 20101020 (both provided by the xorg-edgers/radeon PPA).

I am running Wings3D, a 3D modeling program that uses OpenGL and displays mostly CAD-like graphics. Without a lot of effort---after about a minute's worth of from-scratch geometry manipulation---I am able to obtain a GPU lockup, reported as follows in /var/log/messages:

------------[ cut here ]------------
WARNING: at drivers/gpu/drm/radeon/radeon_fence.c:235 radeon_fence_wait+0x365/0x3d0 [radeon]()
Hardware name: To Be Filled By O.E.M.
GPU lockup (waiting for 0x00009608 last fence id 0x00009607)
Modules linked in: parport_pc ppdev binfmt_misc snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul snd_via82xx snd_emu10k1 snd_via82xx_modem radeon snd_ac97_codec ac97_bus snd_mpu401_uart snd_util_mem snd_pcm snd_hwdep snd_seq_midi ttm drm_kms_helper snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device drm amd64_edac_mod snd emu10k1_gp i2c_algo_bit edac_core snd_page_alloc soundcore edac_mce_amd i2c_viapro shpchp gameport psmouse serio_raw k8temp lp parport usb_storage firewire_ohci floppy skge firewire_core crc_itu_t pata_via sata_via
Pid: 1696, comm: beam Not tainted 2.6.36-skunk #1
Call Trace:
 [<ffffffff8106002f>] warn_slowpath_common+0x7f/0xc0
 [<ffffffff81060126>] warn_slowpath_fmt+0x46/0x50
 [<ffffffffa01fe1d5>] radeon_fence_wait+0x365/0x3d0 [radeon]
 [<ffffffff81081150>] ? autoremove_wake_function+0x0/0x40
 [<ffffffffa01fe9e1>] radeon_sync_obj_wait+0x11/0x20 [radeon]
 [<ffffffffa016a1a3>] ttm_bo_wait+0x103/0x1c0 [ttm]
 [<ffffffffa0215406>] radeon_gem_wait_idle_ioctl+0x96/0x110 [radeon]
 [<ffffffffa012206b>] drm_ioctl+0x42b/0x4e0 [drm]
 [<ffffffffa0215370>] ? radeon_gem_wait_idle_ioctl+0x0/0x110 [radeon]
 [<ffffffff81163fa9>] do_vfs_ioctl+0xa9/0x5a0
 [<ffffffff8126365f>] ? security_file_permission+0x6f/0x80
 [<ffffffff81164521>] sys_ioctl+0x81/0xa0
 [<ffffffff81165fcc>] ? sys_poll+0x7c/0x110
 [<ffffffff8100b0b2>] system_call_fastpath+0x16/0x1b
---[ end trace d1bbc01e602fabad ]---
radeon: wait for empty RBBM fifo failed ! Bad things might happen.
Failed to wait GUI idle while programming pipes. Bad things might happen.
radeon 0000:01:00.0: (r100_asic_reset:2084) RBBM_STATUS=0x8109C100
radeon 0000:01:00.0: (r100_asic_reset:2105) RBBM_STATUS=0x80010140
radeon 0000:01:00.0: (r100_asic_reset:2113) RBBM_STATUS=0x00000140
radeon 0000:01:00.0: GPU reset succeed
radeon 0000:01:00.0: GPU reset succeed
[drm] radeon: ring at 0x00000000DC000000
[drm] ring test succeeded in 0 usecs
[drm] ib test succeeded in 1 usecs

(Log timestamps have been removed, but all the above was logged within the same second.)

The lockup is not fatal. The screen appears to freeze for about ten seconds (during which the mouse can move), it goes briefly to black, then comes back with the mouse pointer not visible. After killing Wings3D, the mouse pointer is visible again, and the system is seemingly back to normal. Nevertheless, Wings3D is rendered unusable, because the bug strikes before much time can be logged into the program.
Comment 1 Daniel Richard G. 2010-12-06 00:09:02 UTC
The lockup is no longer reproducible with the latest Mesa drivers from git. I'll re-open this report if it turns up again.


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.