tech-x11 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: New Xorg on sparc64



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

On Jun 25, 2009, at 2:26 AM, matthew green wrote:

can you build with symbols to find out exactly where it's crashing?

Here we go:
Program received signal SIGSEGV, Segmentation fault.
0x000000000013f3f8 in dixLookupPrivate (privates=0xe8, key=0x40d768)
    at /usr/xsrc/external/mit/xorg-server/dist/dix/privates.c:79
79          return *key && *privates &&
(gdb) bt
#0  0x000000000013f3f8 in dixLookupPrivate (privates=0xe8, key=0x40d768)
    at /usr/xsrc/external/mit/xorg-server/dist/dix/privates.c:79
#1  0x00000000001ee0ac in SecurityResource (pcbl=0x40d780, unused=0x0,
    calldata=0xffffffffffffb500)
    at /usr/xsrc/external/mit/xorg-server/dist/Xext/security.c:814
#2  0x000000000014fe80 in CallCallbacks (pcbl=0x40d780,
    call_data=0xffffffffffffb500)
    at /usr/xsrc/external/mit/xorg-server/dist/dix/dixutils.c:742
#3  0x00000000001eedec in XaceHook (hook=2)
    at /usr/xsrc/external/mit/xorg-server/dist/Xext/xace.c:217
#4  0x000000000015f29c in AllocARGBCursor (psrcbits=0x4310e470 "",
    pmaskbits=0x4310e4d0 "", argb=0x0, cm=0xffffffffffffb710,
    foreRed=<value optimized out>, foreGreen=<value optimized out>,
foreBlue=0, backRed=0, backGreen=0, backBlue=0, ppCurs=0xffffffffffffb718,
    client=0x43114040, cid=0)
    at /usr/xsrc/external/mit/xorg-server/dist/dix/cursor.c:223
#5  0x00000000001eab14 in XFixesCursorInit ()
    at /usr/xsrc/external/mit/xorg-server/dist/xfixes/cursor.c:1033
#6  0x00000000001e7bdc in XFixesExtensionInit ()
    at /usr/xsrc/external/mit/xorg-server/dist/xfixes/xfixes.c:249
#7 0x000000000019ff70 in InitExtensions (argc=1, argv=0xffffffffffffbad8)
    at /usr/xsrc/external/mit/xorg-server/dist/mi/miinitext.c:550
#8  0x000000000013fef4 in main (argc=1, argv=0xffffffffffffbad8,
    envp=0xffffffffffffbae8)
    at /usr/xsrc/external/mit/xorg-server/dist/dix/main.c:319

Now that looks a lot more sane then the trace I got before.
And where it fails is here:
static void
SecurityResource(CallbackListPtr *pcbl, pointer unused, pointer calldata)
{
    XaceResourceAccessRec *rec = calldata;
    SecurityStateRec *subj, *obj;
    int cid = CLIENT_ID(rec->id);
    Mask requested = rec->access_mode;
    Mask allowed = SecurityResourceMask;

    subj = dixLookupPrivate(&rec->client->devPrivates, stateKey);
    obj = dixLookupPrivate(&clients[cid]->devPrivates, stateKey);

(gdb) print cid
$5 = 24
(gdb) print clients
$6 = {0x43114040, 0x0 <repeats 255 times>}
(gdb) print subj
$7 = (SecurityStateRec *) 0x4310c680
(gdb) print obj
No symbol "obj" in current context.
(gdb) print clients[cid]
$8 = (ClientPtr) 0x0
(gdb) print &clients[cid]
$9 = (ClientPtr *) 0x4126a0
(gdb) print &clients[cid]->devPrivates
$10 = (PrivateRec **) 0xe8

So either cid or clients[] is bogus. clients[0] looks sane though.

have fun
Michael

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iQEVAwUBSkUQTcpnzkX8Yg2nAQLEhQgAtcJuyPWq7MLYkOI3zFxEflguVaeT+rNy
7AkZM0jwqcE97b0V2qL9XxBb7Ak82puSZl3HHxtZoOv+IDj1lYJBpeQMKBLVjTWc
8no+H4JSw+VamtewUMAd6qaf5JPN2jrKI4KsV+pKnXWKPPM0/M0HAc56aSPupBaq
ezCzisKUqLxnUfeqWLyT78b46w9YhQ7iPtDC7GhgT76QM3Fq3gmFnyN4r5nqhCRx
AYIFLFAgcRWFggCvyLDvIut1XeOLgxrehCIkSK0BZl+MBnQt9mAOpntScFf7JxOp
foXGpUqTu66HmnHqDMywcv07wvinPys1vSFlr4QNv/01puSj297QuA==
=cNmf
-----END PGP SIGNATURE-----


Home | Main Index | Thread Index | Old Index