[Intel-gfx] Regression: libdrm update from 2.4.18 to 2.4.19 leads to Xorg crashes (bisection inside)

Thomas Bächler thomas at archlinux.org
Sun Apr 11 18:53:45 CEST 2010


Am 11.04.2010 18:20, schrieb Thomas Bächler:
> Am 11.04.2010 17:46, schrieb Thomas Bächler:
>> Since updating from libdrm 2.4.18 to .19 (or .20 if you like), Xorg
>> crashes. I run KDE 4.4, and when I launch konqueror, or launch firefox
>> and open a website (many other actions trigger it too), the X server
>> crashes. The Xorg.0.log has no messages that are out of the ordinary,
>> the crash is not documented there in any way. All I get is a message
>> from kdm that the server "terminated unexpectedly".
>>
>> This happens with different versions of xorg-server (1.7, 1.8) as well
>> as the intel driver (2.10, 2.11). The hardware is an Arrandale chipset
>> (Core i5-520M integrated graphics on Intel HM55), kernel is 2.6.33.*
>> x86_64, on Arch Linux.
>>
>> Bisection leads to the following commit. If I need to test/provide
>> anything else, feel free to ask.
>>
>> commit a1f9ea765ddc5cad45e36c4931663b21992727ee
>> Author: Eric Anholt <eric at anholt.net>
>> Date:   Tue Mar 2 08:49:36 2010 -0800
>>
>>     intel: Use an integer for chipset generation instead of many
>> conditionals.
>>
>>     Saves a bunch of comparisons in hot paths.
> 
> Okay, I need to apologize. Reproducing this problem is not as
> straight-forward, the bad commit was before that, and before the
> execbuf2 commit, I need to bisect more, will post again later.

Okay, the actual bad commit seems to be:
commit b50964027bef249a0cc3d511de05c2464e0a1e22
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Tue Sep 15 11:02:58 2009 -0700

    libdrm/intel: execbuf2 support

    This patch to libdrm adds support for the new execbuf2 ioctl.  If
    detected, it will be used instead of the old ioctl.  By using the new
    drm_intel_bufmgr_gem_enable_fenced_relocs(), you can indicate that any
    time a fence register is actually required for a relocation target you
    will call drm_intel_bo_emit_reloc_fence instead of
    drm_intel_bo_emit_reloc, which will reduce fence register pressure.

    Signed-off-by: Eric Anholt <eric at anholt.net>

Weird about it is that if I comment out the lines:
 gp.param = I915_PARAM_HAS_EXECBUF2;
 ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GETPARAM, &gp);
 if (!ret)
  exec2 = 1;
the problem doesn't go away. So the problem is not using execbuf2, but
something else in the commit.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20100411/73efaa6b/attachment.sig>


More information about the Intel-gfx mailing list