Bug 28639 - Xorg crash in dixSetPrivate
Summary: Xorg crash in dixSetPrivate
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/DDX/Xorg (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium critical
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: xserver-1.9
  Show dependency treegraph
 
Reported: 2010-06-21 00:58 UTC by Magnus Kessler
Modified: 2010-07-05 00:52 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Removes an unnecessary call to dixSetPrivate (1.30 KB, patch)
2010-07-01 06:19 UTC, Keith Packard
no flags Details | Splinter Review

Description Magnus Kessler 2010-06-21 00:58:57 UTC
When starting the FlightGear helper program fgrun, the server immediately crashes with this backtrace:

#0  0x00007f001dc16185 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007f001dc175b0 in *__GI_abort () at abort.c:92
#2  0x00007f001dc0f2a1 in *__GI___assert_fail (assertion=0x7f001c2b0e51 "key->size == 0", 
    file=<value optimized out>, line=147, function=0x7f001c2b0ef2 "dixSetPrivate") at assert.c:81
#3  0x00007f001c2b0d97 in dixSetPrivate (pWin=0x3226ae0, bufId=41943049, swapAction=<value optimized out>)
    at ../include/privates.h:147
#4  miDbeAllocBackBufferName (pWin=0x3226ae0, bufId=41943049, swapAction=<value optimized out>) at midbe.c:207
#5  0x00007f001c2ae5db in ProcDbeAllocateBackBufferName (client=<value optimized out>) at dbe.c:349
#6  0x0000000000430399 in Dispatch () at dispatch.c:432
#7  0x00000000004259fa in main (argc=10, argv=0x7fff936f61a8, envp=<value optimized out>) at main.c:289

I observed the crash on two machines with different graphic cards, one Intel GMA 4500HD and one Radeon X1650.
Comment 1 Keith Packard 2010-07-01 06:19:33 UTC
Created attachment 36657 [details] [review]
Removes an unnecessary call to dixSetPrivate

the miDBE code was unnecessarily calling dixSetPrivate and causing this assert failure as the new privates code doesn't accept calls to dixSetPrivate when the user has asked for space to be pre-allocated.

Here's a patch which should fix the issue; it's untested, so please report back when you try it out.
Comment 2 Magnus Kessler 2010-07-01 07:13:30 UTC
Review of attachment 36657 [details] [review]:

This patch fixes the Xorg crash when fgrun starts.

Tested-by: Magnus Kessler <Magnus.Kessler@gmx.net>
Reviewd-by: Magnus Kessler <Magnus.Kessler@gmx.net>


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.