https://bugs.freedesktop.org/show_bug.cgi?id=61182
--- Comment #33 from Alex Deucher agd5f@yahoo.com --- (In reply to comment #32)
Thanks, Knut, for bisecting in #27. Thanks, Stan, for confirming bisection in #28.
So the bad changeset is http://cgit.freedesktop.org/mesa/mesa/commit/ ?id=35840ab189595b817fa8b1a1df8cc92474a7c38d
I read that code (out of context: I'm not familiar with Xorg code). It kind of looked as if things with obvious allocation potential were followed by asserts to check that the allocation worked. So why are we observing SIGBUS rather than assertion errors? If allocation failure is possible, even assertion failure seems harsh (but at least more diagnostic).
As per comment 29, the MSAA surface is too big to be mapped by the CPU (the CPU's window into VRAM is only 256 MB). The allocation is successful, but the CPU is not able to map the buffer due to the limited window. You get a sigbus because the mapping fails and the CPU tries to access an address beyond the PCI aperture where vram is mapped. The solution is to either disable MSAA or as per comment 29, use the GPU to initialize the CMASK/HTILE buffers rather than using the CPU.