becker@CS.ROCHESTER.EDU (09/09/89)
Is it possible for server data structures to be in an inconsistent state when the server starts shutdown processing (SIGTERM --> GiveUp() --> KillServerResources() -->....)? I'm getting Xsun core dumps sometimes when I shutdown. (I'm running SunOS4.0.3, X11V3 + 10 patches + Purdue speedups. The core dumps happen with the native C compiler and gcc. I'm using xinit for server startup/shutdown.). I've seen it die in 2 different places so far with a segmentation fault. One is in os/4.2bsd/connection.c, CloseDownConnection() on line ConnectionTranslation[oc->fd] = (ClientPtr)NULL; oc->fd is 52822783 -- an obviously bogus value. The other place is in ddx/sun/sunCursor.c, sunPaintWindowBackground() on line (* pPriv->PaintWindowBackground) (pWin, pRegion, what); The line above this one is pPriv = (WinPrivPtr) LookupID (pWin->wid, RT_WINDOW, wPrivClass); This returns with pPriv = 0. So, I began to suspect a problem with inconsistent data structures. Could it be? (I'd be glad to submit a report to xbugs, but want to be sure this is a real problem first). Tim Becker. becker@cs.rochester.edu
rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (09/11/89)
Is it possible for server data structures to be in an inconsistent state when the server starts shutdown processing (SIGTERM --> GiveUp() --> KillServerResources() -->....)? Yes. Fixed in R4.