Summary: | [Bisected]Smokin-guns crash when change resolution without window manager | ||
---|---|---|---|
Product: | Mesa | Reporter: | meng <mengmeng.meng> |
Component: | Drivers/DRI/i965 | Assignee: | Ian Romanick <idr> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | critical | ||
Priority: | high | ||
Version: | git | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Xorg.0.log
backtrace of xonotic Xorg.0.log of xonotic |
Description
meng
2012-10-10 09:21:58 UTC
Created attachment 68393 [details]
Xorg.0.log
Maybe a bt from smokinguns as it crashes? bt ----------------------------- #0 0x00007fffe66d280b in ?? () #1 0x0000000000000003 in ?? () #2 0x00000000023995e0 in ?? () #3 0x000000000278f2f0 in ?? () #4 0x0000000000000000 in ?? () The problem also exists on most 3D games such as gl-117, warsow,Extreme TuxRacer,padman. Xonotic (xonotic-linux64-sdl) can also repoduce this problem with above version. Pls see Xorg.0.log and bt of xonotic. Created attachment 68594 [details]
backtrace of xonotic
Created attachment 68595 [details]
Xorg.0.log of xonotic
It's not libdrm regression. It's xf86_video_intel regression, and bisected show that xf86_video_intel 1675f441049d559d891fe378e437c12db21df9e7 is the first bad commit. commit 1675f441049d559d891fe378e437c12db21df9e7 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Jun 6 12:55:13 2012 +0100 uxa/dri: Transfer reference of the new_back buffer to the flip_chain In which case all the attached information is bogus as none of it details any crash. When run Xonotic(xonotic-linux64-sdl), it will be "Segmentation fault" and resolution changed. (gdb)run log -------------------------------------------------- Program received signal SIGSEGV, Segmentation fault. gen7_update_renderbuffer_surface (brw=0x2b8adf0, rb=0x2d92110, unit=0) at gen7_wm_surface_state.c:471 471 struct intel_region *region = irb->mt->region; (gdb) bt --------------------------------------------------- #0 gen7_update_renderbuffer_surface (brw=0x2b8adf0, rb=0x2d92110, unit=0) at gen7_wm_surface_state.c:471 #1 0x00007fffeef50fb0 in brw_update_renderbuffer_surfaces (brw=0x2b8adf0) at brw_wm_surface_state.c:1205 #2 0x00007fffeef3a442 in brw_upload_state (brw=0x2b8adf0) at brw_state_upload.c:498 #3 0x00007fffeef274a7 in brw_try_draw_prims (max_index=<optimized out>, min_index=<optimized out>, ib=0x7fffffffd7d8, nr_prims=45711736, prim=0x7fffffffd7c0, arrays=<optimized out>, ctx=0x2b8adf0) at brw_draw.c:493 #4 brw_draw_prims (ctx=0x2b8adf0, prim=0x7fffffffd7c0, nr_prims=45711736, ib=0x7fffffffd7d8, index_bounds_valid=<optimized out>, min_index=0, max_index=3, tfb_vertcount=0x0) at brw_draw.c:589 #5 0x00007fffeea9e3f9 in vbo_draw_arrays (ctx=0x2b8adf0, mode=6, start=0, count=<optimized out>, numInstances=1, baseInstance=<optimized out>) at ../../../src/mesa/vbo/vbo_exec_array.c:645 #6 0x00007fffeeb4655f in _mesa_meta_glsl_Clear (ctx=0x2b8adf0, buffers=<optimized out>) at ../../../src/mesa/drivers/common/meta.c:2081 #7 0x00007fffeef1aee3 in brw_clear (mask=0, ctx=0x2b8adf0) at brw_clear.c:239 #8 brw_clear (ctx=0x2b8adf0, mask=<optimized out>) at brw_clear.c:208 #9 0x00000000004db1a6 in GL_Clear () #10 0x0000000000468a2a in CL_UpdateScreen () #11 0x00000000005282b9 in Host_Main () #12 0x00000000004047a4 in main () The problem also exists on SandyBridge. Ian, can you reproduce this? It impacts many apps. ping Ian This problem still exists on environment. ---------------------------- Kernel_version: 3.8 Libdrm: 2.4.42 Mesa: (9.1)9.1-rc2 Xserver: (server-1.13-branch)xorg-server-1.13.2 Xf86_video_intel: (master)2.21.0 Cairo: (master)1.12.12 Libva: staging-20130205 Libva_intel_driver: staging-20130205 (In reply to comment #12) > Ian, can you reproduce this? It impacts many apps. As far as I know, nobody in the US team has ever been able to reproduce any of these failures. Chris, can you reproduce this? Do you think below xf86-video-intel commit may impact it? commit 1675f441049d559d891fe378e437c12db21df9e7 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Jun 6 12:55:13 2012 +0100 uxa/dri: Transfer reference of the new_back buffer to the flip_chain No, that change in the server will not affect a correctly working client as it holds independent references to the objects. It appears the client is chasing a dangling pointer following the drawable resize. The problem only exists on xinit(start X from test mode), but it works well on gnome-session. Test the Xf86_video_intel:(master)2.21.3-47-ga0a2faefdef, the problem can be reproduced. But if git revert above patch, it'll be fixed. Test games such as gl-117,smokin-guns,padman. Verified it with the driver. --------------------- Libdrm: (master)libdrm-2.4.45-3-g3586337f3703ce4833a375f66b08df064a1cec28 Mesa: (master)08f87ac333512a77a2701268dd98ef4274c34832 Xserver: (master)xorg-server-1.14.99.1-82-g7e97166c4fc38076b6224e4 Xf86_video_intel:(master)2.21.7-3-gabe85adda51c58d3f3b9c5dea6cec4b13a65cdcd Cairo: (master)631bf299256e11a17511977f357e0353fb5615f7 Libva: (staging)cc403954c93be77cb514c9d3836263f7d514a4f2 Kernel: (drm-intel-nightly) 86fccb424de5c6739e2edb4653f5823e3954b74b |
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.