From owner-freebsd-x11@FreeBSD.ORG Sun Mar 14 23:26:53 2010 Return-Path: Delivered-To: freebsd-x11@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 563C8106566C; Sun, 14 Mar 2010 23:26:53 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from monday.kientzle.com (kientzle.com [66.166.149.50]) by mx1.freebsd.org (Postfix) with ESMTP id F3F278FC15; Sun, 14 Mar 2010 23:26:52 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.3/8.14.3) id o2ENR1Gw080373; Sun, 14 Mar 2010 23:27:01 GMT (envelope-from kientzle@freebsd.org) Received: from horton.x.kientzle.com (fw2.kientzle.com [10.123.1.2]) by kientzle.com with SMTP id piy49bgzva7cb3vhd3ztdapahe; Sun, 14 Mar 2010 23:26:59 +0000 (UTC) (envelope-from kientzle@freebsd.org) Message-ID: <4B9D70B7.1020709@freebsd.org> Date: Sun, 14 Mar 2010 16:26:47 -0700 From: Tim Kientzle User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.23) Gecko/20100105 SeaMonkey/1.1.18 MIME-Version: 1.0 To: Garrett Cooper References: <4B989064.5030105@freebsd.org> <7d6fde3d1003102245l41ab8287r81680aa40281d802@mail.gmail.com> <4B9C9885.5040601@freebsd.org> <20100314195622.GA88471@server.vk2pj.dyndns.org> <4B9D58B5.4050002@freebsd.org> <7d6fde3d1003141516q87b7a28i523c6cb0bc5f4f35@mail.gmail.com> In-Reply-To: <7d6fde3d1003141516q87b7a28i523c6cb0bc5f4f35@mail.gmail.com> Content-Type: multipart/mixed; boundary="------------070107010404000104030706" X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-x11@freebsd.org, "'freebsd-current@freebsd.org'" Subject: Re: X11 crash on exit X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Mar 2010 23:26:53 -0000 This is a multi-part message in MIME format. --------------070107010404000104030706 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Garrett Cooper wrote: >> I implemented the fix I suggested earlier (scanning >> the WindowTable to remove Window objects as they're >> deleted) and it does consistently resolve the crash, >> but now the X server restarts itself when xinit asks >> it to exit, so there's clearly still something amiss. >> >> Patch attached for anyone interested. > > Patch, what patch? > -Garrett Apologies. Patch pasted below (for mailing list) and attached (for direct addressees): --- dix/window.c.orig 2009-10-11 19:52:40.000000000 -0700 +++ dix/window.c 2010-03-14 00:02:18.000000000 -0800 @@ -936,6 +936,7 @@ WindowPtr pParent; WindowPtr pWin = (WindowPtr)value; xEvent event; + int i; UnmapWindow(pWin, FALSE); @@ -964,6 +965,13 @@ xfree(dixLookupPrivate(&pWin->devPrivates, FocusPrivatesKey)); dixFreePrivates(pWin->devPrivates); xfree(pWin); + + for (i = 0; i < MAXSCREENS; ++i) + { + if (WindowTable[i] == pWin) + WindowTable[i] = NullWindow; + } + return Success; } --------------070107010404000104030706--