+++ This bug was initially created as a clone of Bug #13829 +++ System Environment: -------------------------- --Platform:i965 --Architecture(32-bit,64-bit,compatiblity):64bit --2D driver: commit f69b48fe24ef94dac44b8123884ca71df675be4b --3D driver: commit b422e5ad3716d32f2434ca38819f4a877c7eeeeb --Xserver: commit 009f1e4e55200425de2fe0dbc1f0ac0f431fb4cf --drm commit b9417f41418321d5081547a3a3386dcccae7541f --Kernel: 2.6.22-rc5 Bug detailed description: ------------------------- startx ,run manywin 10 , with INTEL_NO_TTM=1, this case will abort ,and print mesage " manywin: ../common/dri_bufmgr_fake.c:561: dri_bufmgr_fake_contended_lock_take: Assertion `((&bufmgr_fake->on_hardware)->next == (&bufmgr_fake->on_hardware))' failed. Aborted Reproduce steps: ---------------- run manywin 10 Current result: ---------------- abort Expected result: ---------------- run normally
Not 64-bit related. Easily encountered on 32-bit as well. It looks like this is an issue with shared objects between contexts. We need to move the bufmgr back to the screen.
*** Bug 15191 has been marked as a duplicate of this bug. ***
*** Bug 15717 has been marked as a duplicate of this bug. ***
*** Bug 15739 has been marked as a duplicate of this bug. ***
Thank you for reporting the many manywin issues in separate reports, but in this case they do happen to be the same cause (bufmgr needs to be in the screen, not the context).
This is still reproducible with the latest mesa master.
Created attachment 17083 [details] Xorg.0.log
This issue still exist with git tip
This still exists in mesa-7.2 release.
*** Bug 17583 has been marked as a duplicate of this bug. ***
The problem is that a BO is created with one bufmgr, then it is cached and used for another bufmgr. I think moving the bufmgr back to the screen can't fix this issue. Mesa master, intel-2008-q3 branch (which have moved the bufmgr back to screen) all have this similar issue.
This still exists with gem-classic.
I tested it with mesa intel-2008-q3 branch on gm45,and it still fails, but with different error messages as following: rd0 7f1e2cdc3000-7f1e2d099000 rw-p 7f1e2cdc3000 00:00 0 7f1e2d099000-7f1e2d6d9000 rw-s 85301000 00:0f 9420 /dev/dri/card0 7f1e2d6d9000-7f1e2dd19000 rw-s 84301000 00:0f 9420 /dev/dri/card0 7f1e2dd19000-7f1e2e359000 rw-s 2fffb000 00:0f 9420 /dev/dri/card0 7f1e2e359000-7f1e2e62f000 rw-p 7f1e2e359000 00:00 0 7f1e2e62f000-7f1e2ec6f000 rw-s 85301000 00:0f 9420 /dev/dri/card0 7f1e2ec6f000-7f1e2f2af000 rw-s 84301000 00:0f 9420 /dev/dri/card0 7f1e2f2af000-7f1e2f8ef000 rw-s 2fffb000 00:0f 9420 /dev/dri/card0 7f1e2f8ef000-7f1e2fbc5000 rw-p 7f1e2f8ef000 00:00 0 7f1e2fbc5000-7f1e30205000 rw-s 85301000 00:0f 9420 /dev/dri/card0 7f1e30205000-7f1e30845000 rw-s 84301000 00:0f 9420 /dev/dri/card0 7f1e30845000-7f1e30e85000 rw-s 2fffb000 00:0f 9420 /dev/dri/card0 7f1e30e85000-7f1e3115b000 rw-p 7f1e30e85000 00:00 0 7f1e3115b000-7f1e3179b000 rw-s 85301000 00:0f 9420 /dev/dri/card0 7f1e3179b000-7f1e31ddb000 rw-s 84301000 00:0f 9420 /dev/dri/card0 7f1e31ddb000-7f1e3241b000 rw-s 2fffb000 00:0f 9420 /dev/dri/card0 7f1e3241b000-7f1e326f1000 rw-p 7f1e3241b000 00:00 0 7f1e326f1000-7f1e32d31000 rw-s 85301000 00:0f 9420 /dev/dri/card0 7f1e32d31000-7f1e33371000 rw-s 84301000 00:0f 9420 /dev/dri/card0 7f1e33371000-7f1e339b1000 rw-s 2fffb000 00:0f 9420 /dev/dri/card0 7f1e339b1000-7f1e33c87000 rw-p 7f1e339b1000 00:00 0 7f1e33c87000-7f1e342c7000 rw-s 85301000 00:0f 9420 /dev/dri/card0 7f1e342c7000-7f1e34907000 rw-s 84301000 00:0f 9420 /dev/dri/card0 7f1e34907000-7f1e34f47000 rw-s 2fffb000 00:0f 9420 /dev/dri/card0 7f1e34f47000-7f1e3521d000 rw-p 7f1e34f47000 00:00 0 7f1e3521d000-7f1e3585d000 rw-s 85301000 00:0f 9420 /dev/dri/card0 7f1e3585d000-7f1e35e9d000 rw-s 84301000 00:0f 9420 /dev/dri/card0 7f1e35e9d000-7f1e364dd000 rw-s 2fffb000 00:0f 9420 /dev/dri/card0 7f1e364dd000-7f1e367b3000 rw-p 7f1e364dd000 00:00 0 7f1e367b3000-7f1e36df3000 rw-s 85301000 00:0f 9420 /dev/dri/card0 7f1e36df3000-7f1e37433000 rw-s 84301000 00:0f 9420 /dev/dri/card0 7f1e37433000-7f1e37a73000 rw-s 2fffb000 00:0f 9420 /dev/dri/card0 7f1e37a73000-7f1e37d49000 rw-p 7f1e37a73000 00:00 0 7f1e37d49000-7f1e39d49000 rw-s 86301000 00:0f 9420 /dev/dri/card0 7f1e39d49000-7f1e3a389000 rw-s 2fffb000 00:0f 9420 /dev/dri/card0 7f1e3a389000-7f1e3a390000 r-xp 00000000 08:01 210152 /opt/X11R7.unstable/lib/libdrm_intel.so.1.0.0 7f1e3a390000-7f1e3a58f000 ---p 00007000 08:01 210152 /opt/X11R7.unstable/lib/libdrm_intel.so.1.0.0 7f1e3a58f000-7f1e3a590000 rw-p 00006000 08:01 210152 /opt/X11R7.unstable/lib/libdrm_intel.so.1.0.0 7f1e3a5a2000-7f1e3a806000 r-xp 00000000 08:01 205165 /opt/X11R7.unstable/lib/dri/i965_dri.so 7f1e3a806000-7f1e3aa05000 ---p 00264000 08:01 205165 /opt/X11R7.unstable/lib/dri/i965_dri.so 7f1e3aa05000-7f1e3aa1f000 rw-p 00263000 08:01 205165 /opt/X11R7.unstable/lib/dri/i965_dri.so 7f1e3aa1f000-7f1e3aa2c000 rw-p 7f1e3aa1f000 00:00 0 7f1e3aa2c000-7f1e3aa31000 r-xp 00000000 08:01 205211 /opt/X11R7.unstable/lib/libXdmcp.so.6.0.0 7f1e3aa31000-7f1e3ab30000 ---p 00005000 08:01 205211 /opt/X11R7.unstable/lib/libXdmcp.so.6.0.0 7f1e3ab30000-7f1e3ab31000 rw-p 00004000 08:01 205211 /opt/X11R7.unstable/lib/libXdmcp.so.6.0.0 7f1e3ab31000-7f1e3ab33000 r-xp 00000000 08:01 205190 /opt/X11R7.unstable/lib/libXau.so.6.0.0 7f1e3ab33000-7f1e3ac32000 ---p 00002000 08:01 205190 /opt/X11R7.unstable/lib/libXau.so.6.0.0 7f1e3ac32000-7f1e3ac33000 rw-p 00001000 08:01 205190 /opt/X11R7.unstable/lib/libXau.so.6.0.0 7f1e3ac33000-7f1e3ac34000 rw-p 7f1e3ac33000 00:00 0 7f1e3ac34000-7f1e3ac3b000 r-xp 00000000 08:01 205171 /opt/X11R7.unstable/lib/libdrm.so.2.3.0 7f1e3ac3b000-7f1e3ae3b000 ---p 00007000 08:01 205171 /opt/X11R7.unstable/lib/libdrm.so.2.3.0 7f1e3ae3b000-7f1e3ae3c000 rw-p 00007000 08:01 205171 /opt/X11R7.unstable/lib/libdrm.so.2.3.0 7f1e3ae3c000-7f1e3ae41000 r-xp 00000000 08:01 205220 /opt/X11R7.unstable/lib/libXfixes.so.3.1.0 7f1e3ae41000-7f1e3af40000 ---p 00005000 08:01 205220 /opt/X11R7.unstable/lib/libXfixes.so.3.1.0 7f1e3af40000-7f1e3af41000 rw-p 00004000 08:01 205220 /opt/X11R7.unstable/lib/libXfixes.so.3.1.0 7f1e3af41000-7f1e3af43000 r-xp 00000000 08:01 205208 /opt/X11R7.unstable/lib/libXdamage.so.1.1.0 7f1e3af43000-7f1e3b042000 ---p 00002000 08:01 205208 /opt/X11R7.unstable/lib/libXdamage.so.1.1.0 7f1e3b042000-7f1e3b043000 rw-p 00001000 08:01 205208 /opt/X11R7.unstable/lib/libXdamage.so.1.1.0 7f1e3b043000-7f1e3b044000 rw-p 7f1e3b043000 00:00 0 7f1e3b044000-7f1e3b049000 r-xp 00000000 08:01 205286 /opt/X11R7.unstable/lib/libXxf86vm.so.1.0.0 7f1e3b049000-7f1e3b148000 ---p 00005000 08:01 205286 /opt/X11R7.unstable/lib/libXxf86vm.so.1.0.0 7f1e3b148000-7f1e3b149000 rw-p 00004000 08:01 205286 /opt/X11R7.unstable/lib/libXxf86vm.so.1.0.0 7f1e3b149000-7f1e3b159000 r-xp 00000000 08:01 205217 /opt/X11R7.unstable/lib/libXext.so.6.4.0 7f1e3b159000-7f1e3b259000 ---p 00010000 08:01 205217 /opt/X11R7.unstable/lib/libXext.so.6.4.0 7f1e3b259000-7f1e3b25a000 rw-p 00010000 08:01 205217 /opt/X11R7.unstable/lib/libXext.so.6.4.0 7f1e3b25a000-7f1e3b25b000 rw-p 7f1e3b25a000 00:00 0 7f1e3b25b000-7f1e3b35d000 r-xp 00000000 08:01 205181 /opt/X11R7.unstable/lib/libX11.so.6.2.0 7f1e3b35d000-7f1e3b45c000 ---p 00102000 08:01 205181 /opt/X11R7.unstable/lib/libX11.so.6.2.0 7f1e3b45c000-7f1e3b462000 rw-p 00101000 08:01 205181 /opt/X11R7.unstable/lib/libX11.so.6.2.0 7f1e3b462000-7f1e3b464000 rw-p 7f1e3b462000 00:00 0 7f1e3b473000-7f1e3b475000 rw-s 2effe000 00:0f 9420 /dev/dri/card0 7f1e3b475000-7f1e3b476000 rw-p 7f1e3b475000 00:00 0 7f1e3b476000-7f1e3b4e9000 r-xp 00000000 08:01 205151 /opt/X11R7.unstable/lib/libGL.so.1.2 7f1e3b4e9000-7f1e3b6e9000 ---p 00073000 08:01 205151 /opt/X11R7.unstable/lib/libGL.so.1.2 7f1e3b6e9000-7f1e3b6f3000 rw-p 00073000 08:01 205151 /opt/X11R7.unstable/lib/libGL.so.1.2 7f1e3b6f3000-7f1e3b6f8000 rw-p 7f1e3b6f3000 00:00 0 7fff436e3000-7fff436f8000 rw-p 7ffffffea000 00:00 0 [stack] 7fff437ff000-7fff43800000 r-xp 7fff437ff000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] Aborted
The error message should be : manywin: intel_bufmgr_fake.c:748: intel_bufmgr_fake_contended_lock_take: Assertion `((&bufmgr_fake->on_hardware)->next == (&bufmgr_fake->on_hardware))' failed. Aborted sorry for the mistake! (In reply to comment #13) > I tested it with mesa intel-2008-q3 branch on gm45,and it still fails, but with > different error messages as following: > rd0 > 7f1e2cdc3000-7f1e2d099000 rw-p 7f1e2cdc3000 00:00 0 > 7f1e2d099000-7f1e2d6d9000 rw-s 85301000 00:0f 9420 > /dev/dri/card0 > 7f1e2d6d9000-7f1e2dd19000 rw-s 84301000 00:0f 9420 > /dev/dri/card0 > 7f1e2dd19000-7f1e2e359000 rw-s 2fffb000 00:0f 9420 > /dev/dri/card0 > 7f1e2e359000-7f1e2e62f000 rw-p 7f1e2e359000 00:00 0 > 7f1e2e62f000-7f1e2ec6f000 rw-s 85301000 00:0f 9420 > /dev/dri/card0 > 7f1e2ec6f000-7f1e2f2af000 rw-s 84301000 00:0f 9420 > /dev/dri/card0 > 7f1e2f2af000-7f1e2f8ef000 rw-s 2fffb000 00:0f 9420 > /dev/dri/card0 > 7f1e2f8ef000-7f1e2fbc5000 rw-p 7f1e2f8ef000 00:00 0 > 7f1e2fbc5000-7f1e30205000 rw-s 85301000 00:0f 9420 > /dev/dri/card0 > 7f1e30205000-7f1e30845000 rw-s 84301000 00:0f 9420 > /dev/dri/card0 > 7f1e30845000-7f1e30e85000 rw-s 2fffb000 00:0f 9420 > /dev/dri/card0 > 7f1e30e85000-7f1e3115b000 rw-p 7f1e30e85000 00:00 0 > 7f1e3115b000-7f1e3179b000 rw-s 85301000 00:0f 9420 > /dev/dri/card0 > 7f1e3179b000-7f1e31ddb000 rw-s 84301000 00:0f 9420 > /dev/dri/card0 > 7f1e31ddb000-7f1e3241b000 rw-s 2fffb000 00:0f 9420 > /dev/dri/card0 > 7f1e3241b000-7f1e326f1000 rw-p 7f1e3241b000 00:00 0 > 7f1e326f1000-7f1e32d31000 rw-s 85301000 00:0f 9420 > /dev/dri/card0 > 7f1e32d31000-7f1e33371000 rw-s 84301000 00:0f 9420 > /dev/dri/card0 > 7f1e33371000-7f1e339b1000 rw-s 2fffb000 00:0f 9420 > /dev/dri/card0 > 7f1e339b1000-7f1e33c87000 rw-p 7f1e339b1000 00:00 0 > 7f1e33c87000-7f1e342c7000 rw-s 85301000 00:0f 9420 > /dev/dri/card0 > 7f1e342c7000-7f1e34907000 rw-s 84301000 00:0f 9420 > /dev/dri/card0 > 7f1e34907000-7f1e34f47000 rw-s 2fffb000 00:0f 9420 > /dev/dri/card0 > 7f1e34f47000-7f1e3521d000 rw-p 7f1e34f47000 00:00 0 > 7f1e3521d000-7f1e3585d000 rw-s 85301000 00:0f 9420 > /dev/dri/card0 > 7f1e3585d000-7f1e35e9d000 rw-s 84301000 00:0f 9420 > /dev/dri/card0 > 7f1e35e9d000-7f1e364dd000 rw-s 2fffb000 00:0f 9420 > /dev/dri/card0 > 7f1e364dd000-7f1e367b3000 rw-p 7f1e364dd000 00:00 0 > 7f1e367b3000-7f1e36df3000 rw-s 85301000 00:0f 9420 > /dev/dri/card0 > 7f1e36df3000-7f1e37433000 rw-s 84301000 00:0f 9420 > /dev/dri/card0 > 7f1e37433000-7f1e37a73000 rw-s 2fffb000 00:0f 9420 > /dev/dri/card0 > 7f1e37a73000-7f1e37d49000 rw-p 7f1e37a73000 00:00 0 > 7f1e37d49000-7f1e39d49000 rw-s 86301000 00:0f 9420 > /dev/dri/card0 > 7f1e39d49000-7f1e3a389000 rw-s 2fffb000 00:0f 9420 > /dev/dri/card0 > 7f1e3a389000-7f1e3a390000 r-xp 00000000 08:01 210152 > /opt/X11R7.unstable/lib/libdrm_intel.so.1.0.0 > 7f1e3a390000-7f1e3a58f000 ---p 00007000 08:01 210152 > /opt/X11R7.unstable/lib/libdrm_intel.so.1.0.0 > 7f1e3a58f000-7f1e3a590000 rw-p 00006000 08:01 210152 > /opt/X11R7.unstable/lib/libdrm_intel.so.1.0.0 > 7f1e3a5a2000-7f1e3a806000 r-xp 00000000 08:01 205165 > /opt/X11R7.unstable/lib/dri/i965_dri.so > 7f1e3a806000-7f1e3aa05000 ---p 00264000 08:01 205165 > /opt/X11R7.unstable/lib/dri/i965_dri.so > 7f1e3aa05000-7f1e3aa1f000 rw-p 00263000 08:01 205165 > /opt/X11R7.unstable/lib/dri/i965_dri.so > 7f1e3aa1f000-7f1e3aa2c000 rw-p 7f1e3aa1f000 00:00 0 > 7f1e3aa2c000-7f1e3aa31000 r-xp 00000000 08:01 205211 > /opt/X11R7.unstable/lib/libXdmcp.so.6.0.0 > 7f1e3aa31000-7f1e3ab30000 ---p 00005000 08:01 205211 > /opt/X11R7.unstable/lib/libXdmcp.so.6.0.0 > 7f1e3ab30000-7f1e3ab31000 rw-p 00004000 08:01 205211 > /opt/X11R7.unstable/lib/libXdmcp.so.6.0.0 > 7f1e3ab31000-7f1e3ab33000 r-xp 00000000 08:01 205190 > /opt/X11R7.unstable/lib/libXau.so.6.0.0 > 7f1e3ab33000-7f1e3ac32000 ---p 00002000 08:01 205190 > /opt/X11R7.unstable/lib/libXau.so.6.0.0 > 7f1e3ac32000-7f1e3ac33000 rw-p 00001000 08:01 205190 > /opt/X11R7.unstable/lib/libXau.so.6.0.0 > 7f1e3ac33000-7f1e3ac34000 rw-p 7f1e3ac33000 00:00 0 > 7f1e3ac34000-7f1e3ac3b000 r-xp 00000000 08:01 205171 > /opt/X11R7.unstable/lib/libdrm.so.2.3.0 > 7f1e3ac3b000-7f1e3ae3b000 ---p 00007000 08:01 205171 > /opt/X11R7.unstable/lib/libdrm.so.2.3.0 > 7f1e3ae3b000-7f1e3ae3c000 rw-p 00007000 08:01 205171 > /opt/X11R7.unstable/lib/libdrm.so.2.3.0 > 7f1e3ae3c000-7f1e3ae41000 r-xp 00000000 08:01 205220 > /opt/X11R7.unstable/lib/libXfixes.so.3.1.0 > 7f1e3ae41000-7f1e3af40000 ---p 00005000 08:01 205220 > /opt/X11R7.unstable/lib/libXfixes.so.3.1.0 > 7f1e3af40000-7f1e3af41000 rw-p 00004000 08:01 205220 > /opt/X11R7.unstable/lib/libXfixes.so.3.1.0 > 7f1e3af41000-7f1e3af43000 r-xp 00000000 08:01 205208 > /opt/X11R7.unstable/lib/libXdamage.so.1.1.0 > 7f1e3af43000-7f1e3b042000 ---p 00002000 08:01 205208 > /opt/X11R7.unstable/lib/libXdamage.so.1.1.0 > 7f1e3b042000-7f1e3b043000 rw-p 00001000 08:01 205208 > /opt/X11R7.unstable/lib/libXdamage.so.1.1.0 > 7f1e3b043000-7f1e3b044000 rw-p 7f1e3b043000 00:00 0 > 7f1e3b044000-7f1e3b049000 r-xp 00000000 08:01 205286 > /opt/X11R7.unstable/lib/libXxf86vm.so.1.0.0 > 7f1e3b049000-7f1e3b148000 ---p 00005000 08:01 205286 > /opt/X11R7.unstable/lib/libXxf86vm.so.1.0.0 > 7f1e3b148000-7f1e3b149000 rw-p 00004000 08:01 205286 > /opt/X11R7.unstable/lib/libXxf86vm.so.1.0.0 > 7f1e3b149000-7f1e3b159000 r-xp 00000000 08:01 205217 > /opt/X11R7.unstable/lib/libXext.so.6.4.0 > 7f1e3b159000-7f1e3b259000 ---p 00010000 08:01 205217 > /opt/X11R7.unstable/lib/libXext.so.6.4.0 > 7f1e3b259000-7f1e3b25a000 rw-p 00010000 08:01 205217 > /opt/X11R7.unstable/lib/libXext.so.6.4.0 > 7f1e3b25a000-7f1e3b25b000 rw-p 7f1e3b25a000 00:00 0 > 7f1e3b25b000-7f1e3b35d000 r-xp 00000000 08:01 205181 > /opt/X11R7.unstable/lib/libX11.so.6.2.0 > 7f1e3b35d000-7f1e3b45c000 ---p 00102000 08:01 205181 > /opt/X11R7.unstable/lib/libX11.so.6.2.0 > 7f1e3b45c000-7f1e3b462000 rw-p 00101000 08:01 205181 > /opt/X11R7.unstable/lib/libX11.so.6.2.0 > 7f1e3b462000-7f1e3b464000 rw-p 7f1e3b462000 00:00 0 > 7f1e3b473000-7f1e3b475000 rw-s 2effe000 00:0f 9420 > /dev/dri/card0 > 7f1e3b475000-7f1e3b476000 rw-p 7f1e3b475000 00:00 0 > 7f1e3b476000-7f1e3b4e9000 r-xp 00000000 08:01 205151 > /opt/X11R7.unstable/lib/libGL.so.1.2 > 7f1e3b4e9000-7f1e3b6e9000 ---p 00073000 08:01 205151 > /opt/X11R7.unstable/lib/libGL.so.1.2 > 7f1e3b6e9000-7f1e3b6f3000 rw-p 00073000 08:01 205151 > /opt/X11R7.unstable/lib/libGL.so.1.2 > 7f1e3b6f3000-7f1e3b6f8000 rw-p 7f1e3b6f3000 00:00 0 > 7fff436e3000-7fff436f8000 rw-p 7ffffffea000 00:00 0 > [stack] > 7fff437ff000-7fff43800000 r-xp 7fff437ff000 00:00 0 [vdso] > ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 > [vsyscall] > Aborted
Eric, so this happens on both mesa-7.2 and intel-2008-q3.
haihao was right -- even with bufmgr in the screen (where it needs to be), this demo opens multiple X11 Displays and tries to use GL on each, resulting in multiple bufmgr instances when multiple screeninits are called in the driver. Mesa's driver API doesn't seem to give us any driver storage across the whole program, not just a single X11 Display, and I'm not sure that it really should. Real programs shouldn't be doing this, so I'm removing it from the blocker list.
(In reply to comment #16) > Real programs shouldn't be doing this, so I'm removing it from the blocker > list. There are 2 bugs with real programs marked as dup with this bug. Are they true dups? -- 15584: qt4 demo -- 17583: xgl
#15584 works fine at least.
this issue also happens with our q3-rc5 package on q45 .
This bug doesn't exist with GEM kernel. So let's track manywin issue at bug#18262 (GEM bug).
Mass version move, cvs -> git
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.