Xorg segfaults on i915gm during intel_drv.so init

Jeremy Huddleston jeremyhu at apple.com
Sat Apr 7 23:05:47 PDT 2012


Ok, well let's just revert 55f552adb651715d2620db7248cd5b9b8187654a, and we can look into this in more detail in the bug report (https://bugs.freedesktop.org/show_bug.cgi?id=41653).

Keith, can you please revert this, or would you rather I lump it into my next [PULL] request some time next week?

On Apr 7, 2012, at 10:41 PM, Knut Petersen <Knut_Petersen at t-online.de> wrote:

> It might be less wrong, but it still segfaults during init:
> 
> [263175.207] (II) Loading /home/knut/git/X11-t/usr/lib/xorg/modules/extensions/libdri2.so
> [263175.207] (II) Module dri2: vendor="X.Org Foundation"
> [263175.207]    compiled for 1.12.99, module version = 1.2.0
> [263175.207]    ABI class: X.Org Server Extension, version 6.0
> [263175.207] (==) Depth 24 pixmap format is 32 bpp
> [263175.207] (II) intel(0): [DRI2] Setup complete
> [263175.208] (II) intel(0): [DRI2]   DRI driver: i915
> [263175.208] (II) intel(0): Allocated new frame buffer 1280x1024 stride 8192, tiled
> [263175.208] (II) UXA(0): Driver registered support for the following operations:
> [263175.208] (II)         solid
> [263175.208] (II)         copy
> [263175.208] (II)         composite (RENDER acceleration)
> [263175.208] (II)         put_image
> [263175.208] (II)         get_image
> [263175.208] (==) intel(0): Backing store disabled
> [263175.208] (==) intel(0): Silken mouse enabled
> [263175.208] (II) intel(0): Initializing HW Cursor
> [263175.208] (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
> [263175.209] (==) intel(0): DPMS enabled
> [263175.209] (==) intel(0): Intel XvMC decoder disabled
> [263175.209] (II) intel(0): Set up textured video
> [263175.209] (II) intel(0): Set up overlay video
> [263175.209] (II) intel(0): direct rendering: DRI2 Enabled
> [263175.209] (==) intel(0): hotplug detection: "enabled"
> [263175.209]
> [263175.209] Backtrace:
> [263175.209] 0: /home/knut/git/X11-t/usr/bin/Xorg (xorg_backtrace+0x38) [0x81dc184]
> [263175.209] 1: /home/knut/git/X11-t/usr/bin/Xorg (0x8048000+0x1986c3) [0x81e06c3]
> [263175.209] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xb771c40c]
> [263175.209] 3: /home/knut/git/X11-t/usr/bin/Xorg (xf86RotateDestroy+0x34) [0x8106ae0]
> [263175.209] 4: /home/knut/git/X11-t/usr/bin/Xorg (xf86CrtcRotate+0x117) [0x8106f0d]
> [263175.210] 5: /home/knut/git/X11-t/usr/lib/xorg/modules/drivers/intel_drv.so (0xb6e63000+0xcda7) [0xb6e6fda7]
> [263175.210] 6: /home/knut/git/X11-t/usr/lib/xorg/modules/drivers/intel_drv.so (0xb6e63000+0xd136) [0xb6e70136]
> [263175.210] 7: /home/knut/git/X11-t/usr/bin/Xorg (xf86CrtcSetModeTransform+0x1c3) [0x80f63e0]
> [263175.210] 8: /home/knut/git/X11-t/usr/bin/Xorg (xf86SetDesiredModes+0x252) [0x80fb2ea]
> [263175.210] 9: /home/knut/git/X11-t/usr/lib/xorg/modules/drivers/intel_drv.so (0xb6e63000+0x11ad3) [0xb6e74ad3]
> [263175.210] 10: /home/knut/git/X11-t/usr/lib/xorg/modules/drivers/intel_drv.so (0xb6e63000+0x1195a) [0xb6e7495a]
> [263175.210] 11: /home/knut/git/X11-t/usr/bin/Xorg (AddScreen+0x248) [0x807aec0]
> [263175.210] 12: /home/knut/git/X11-t/usr/bin/Xorg (InitOutput+0xf83) [0x80c4382]
> [263175.210] 13: /home/knut/git/X11-t/usr/bin/Xorg (0x8048000+0x1e05b) [0x806605b]
> [263175.210] 14: /lib/libc.so.6 (__libc_start_main+0xf3) [0xb70e0003]
> [263175.210] 15: /home/knut/git/X11-t/usr/bin/Xorg (0x8048000+0x1dd81) [0x8065d81]
> [263175.210]
> [263175.210] Segmentation fault at address 0x68
> [263175.211]
> Fatal server error:
> [263175.211] Caught signal 11 (Segmentation fault). Server aborting
> 
> cu,
> Knut
> 
> 
> Am 08.04.2012 00:32, schrieb Jeremy Huddleston:
>> Can you try this?  It seems like this might be more correct (or simply less wrong...):
>> 
>> diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
>> index f9602fa..1b989bd 100644
>> --- a/hw/xfree86/modes/xf86Rotate.c
>> +++ b/hw/xfree86/modes/xf86Rotate.c
>> @@ -290,10 +290,10 @@ xf86RotateDestroy(xf86CrtcPtr crtc)
>>      /*
>>       * Clean up damage structures when no crtcs are rotated
>>       */
>> -    if (screenDrawable&&  xf86_config->rotation_damage) {
>> +    if (xf86_config->rotation_damage) {
>>          /* Free damage structure */
>> -        if (xf86_config->rotation_damage_registered) {
>> -            DamageUnregister(&pScreen->root->drawable,
>> +        if (screenDrawable&&  xf86_config->rotation_damage_registered) {
>> +            DamageUnregister(screenDrawable,
>>                               xf86_config->rotation_damage);
>>              xf86_config->rotation_damage_registered = FALSE;
>>              DisableLimitedSchedulingLatency();
>> 
>> 
>> 
> 



More information about the xorg-devel mailing list