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

Bug#366245: X crashes with Sig 11 when switching from console to+GUI using Alt + Fn keys



On Sat, Dec 23, 2006 at 02:31:56PM -0500, David Nusinow wrote:
> 
> That said, let's try to actually fix the problem. The best thing to do
> would be to get a full backtrace. You'll want to build the server and
> driver with debugging symbols enabled. These are stock debhelper packages,
> so building with DEB_BUILD_OPTIONS set to nostrip (as per dh_strip(1)) will
> work. Then if you follow the basic instructions at
> http://wiki.x.org/wiki/DebuggingTheXserver you can get the backtraces. We
> should be able to go from there. Sorry we don't have -dbg packages, but
> several people vetoed them as archive bloat, although I'll probably be
> making a server one for etch.

It seems be much harder to reproduce when gdb is attached.

All I get from this is, that it seems to have had a 2 second timeout.
I have no idea from which point it starts to count those 2 seconds.

What I notice when switching is that it does take some time before it
actually redraws the screen, and that might be in the order of 2 seconds.

What I always notice when it's crashing is that it only draws the bottom
half of the screen, and the upper half is black.

I'm going to try with a higher timeout, and see what results this gives.
This seems like a good candidate, since it's timing related, not everybody
has the problem, and I might have a slower machine.

Anyway, I finally got a stack trace:
#0  0xb7f3a410 in ?? ()
#1  0xbfc2589c in ?? ()
#2  0x00000006 in ?? ()
#3  0x00000bc1 in ?? ()
#4  0xb7d51811 in raise () from /lib/tls/i686/cmov/libc.so.6
#5  0xb7d52fb9 in abort () from /lib/tls/i686/cmov/libc.so.6
#6  0x081a299c in FatalError (f=0xb7bbc6fc "lockup\n") at ../../os/log.c:556
#7  0xb7b8f83c in I830WaitLpRing (pScrn=0x81fd0d8, n=131064,
    timeout_millis=2000) at ../../src/i830_accel.c:115
#8  0xb7b90092 in I830Sync (pScrn=0x81fd0d8) at ../../src/i830_accel.c:166
#9  0xb79bfe2d in XAALeaveVT () from /usr/lib/xorg/modules/libxaa.so
#10 0x080d7e79 in xf86XVLeaveVT (index=0, flags=0)
    at ../../../../hw/xfree86/common/xf86xv.c:1278
#11 0xb7c247cf in glxDRILeaveVT ()
   from /usr/lib/xorg/modules/extensions/libglx.so
#12 0x0809f548 in AbortDDX () at ../../../../hw/xfree86/common/xf86Init.c:1308
#13 0x081a2473 in AbortServer () at ../../os/log.c:408
#14 0x081a2987 in FatalError (f=0xb7bbc6fc "lockup\n") at ../../os/log.c:554
#15 0xb7b8f83c in I830WaitLpRing (pScrn=0x81fd0d8, n=131064,
    timeout_millis=2000) at ../../src/i830_accel.c:115
#16 0xb7b90092 in I830Sync (pScrn=0x81fd0d8) at ../../src/i830_accel.c:166
#17 0xb79c6502 in XAACopyAreaFallback () from /usr/lib/xorg/modules/libxaa.so
#18 0xb79c77f7 in XAACopyArea () from /usr/lib/xorg/modules/libxaa.so
#19 0x081566cd in damageCopyArea (pSrc=0x8397af8, pDst=0x8393b60,
    pGC=0x8391e28, srcx=0, srcy=0, width=280, height=20, dstx=0, dsty=0)
    at ../../../miext/damage/damage.c:790
#20 0x08084da9 in ProcCopyArea (client=0x835c360) at ../../dix/dispatch.c:1743
#21 0x08086cab in Dispatch () at ../../dix/dispatch.c:459
#22 0x0806e699 in main (argc=11, argv=0xbfc261f4, envp=0x0)
    at ../../dix/main.c:479
(gdb) frame 6
#6  0x081a299c in FatalError (f=0xb7bbc6fc "lockup\n") at ../../os/log.c:556
556             abort();
(gdb) up
#7  0xb7b8f83c in I830WaitLpRing (pScrn=0x81fd0d8, n=131064,
    timeout_millis=2000) at ../../src/i830_accel.c:115
115              FatalError("lockup\n");
(gdb) p last_head
$5 = 12
(gdb) p *ring
$7 = {tail_mask = 1, mem = {Start = -268374161, End = -268377405,
    Size = -268374161, Physical = 4026593135, Offset = 4026597204,
    Alignment = 4026564616, Key = -268374161, Pool = 0xf000fea5},
  virtual_start = 0xf000e987 <Address 0xf000e987 out of bounds>,
  head = -268374161, tail = -268374161, space = -268374161}
(gdb) p n
$8 = 131064

(gdb) up
#8  0xb7b90092 in I830Sync (pScrn=0x81fd0d8) at ../../src/i830_accel.c:166
166        I830WaitLpRing(pScrn, pI830->LpRing->mem.Size - 8, 0);
(gdb) p pScrn
$17 = (ScrnInfoPtr) 0x81fd0d8
(gdb) p *pScrn
$19 = {driverVersion = 4000, driverName = 0xb7bbc87e "i810",
  pScreen = 0x8201350, scrnIndex = 0, configured = 1, origIndex = 0,
  imageByteOrder = 0, bitmapScanlineUnit = 32, bitmapScanlinePad = 32,
  bitmapBitOrder = 0, numFormats = 0, formats = {{depth = 0 '\0',
      bitsPerPixel = 0 '\0', scanlinePad = 0 '\0'}, {depth = 0 '\0',
      bitsPerPixel = 0 '\0', scanlinePad = 0 '\0'}, {depth = 0 '\0',
      bitsPerPixel = 0 '\0', scanlinePad = 0 '\0'}, {depth = 0 '\0',
      bitsPerPixel = 0 '\0', scanlinePad = 0 '\0'}, {depth = 0 '\0',
      bitsPerPixel = 0 '\0', scanlinePad = 0 '\0'}, {depth = 0 '\0',
      bitsPerPixel = 0 '\0', scanlinePad = 0 '\0'}, {depth = 0 '\0',
      bitsPerPixel = 0 '\0', scanlinePad = 0 '\0'}, {depth = 0 '\0',
      bitsPerPixel = 0 '\0', scanlinePad = 0 '\0'}}, fbFormat = {
    depth = 16 '\020', bitsPerPixel = 16 '\020', scanlinePad = 32 ' '},
  bitsPerPixel = 16, pixmap24 = Pix24DontCare, depth = 16,
  depthFrom = X_CONFIG, bitsPerPixelFrom = X_PROBED, weight = {red = 5,
    green = 6, blue = 5}, mask = {red = 63488, green = 2016, blue = 31},
  offset = {red = 11, green = 5, blue = 0}, rgbBits = 6, gamma = {red = 1,
    green = 1, blue = 1}, defaultVisual = 4, maxHValue = 0, maxVValue = 0,
  virtualX = 1024, virtualY = 768, xInc = 8, virtualFrom = X_PROBED,
  displayWidth = 1024, frameX0 = 0, frameY0 = 0, frameX1 = 1023,
  frameY1 = 767, zoomLocked = 0, modePool = 0x0, modes = 0x81ff078,
  currentMode = 0x81ff078, confScreen = 0x81e0ce8, monitor = 0x81e0d20,
  display = 0x81e6b78, entityList = 0x81fae20, numEntities = 1, widthmm = 0,
  heightmm = 0, xDpi = 96, yDpi = 96, name = 0xb7bbc825 "I810",
  driverPrivate = 0x81fe558, privates = 0x81f86e0, drv = 0x81fb6e8,
  module = 0x81fcff0, colorKey = 0, overlayFlags = 0,
  chipset = 0xb7bbe548 "i830", ramdac = 0x0, clockchip = 0x0, progClock = 1,
  numClocks = 0, clock = {0 <repeats 128 times>}, videoRam = 65368,
  biosBase = 0, memPhysBase = 2945654784, fbOffset = 131072, domainIOBase = 0,
  memClk = 0, textClockFreq = 0, flipPixels = 0, options = 0x81fd9e0,
  chipID = 0, chipRev = 0, racMemFlags = 5, racIoFlags = 0,
  access = 0x81fca10, CurrentAccess = 0x81d0db4, resourceType = MEM_IO,
  busAccess = 0x81fce60, vtSema = 1, pixmapPrivate = {ptr = 0xaf952000,
    val = -1349181440, uval = 2945785856, fptr = 0xaf952000}, silkenMouse = 1,
  clockRanges = 0x0, adjustFlags = 0, reservedInt = {0 <repeats 16 times>},
  entityInstanceList = 0x81fc3c0, reservedPtr = {0x0 <repeats 15 times>},
  Probe = 0xb7b88ab0 <I810Probe>, PreInit = 0xb7b9c820 <I830BIOSPreInit>,
  ScreenInit = 0xb7ba3060 <I830BIOSScreenInit>,
  SwitchMode = 0x80cc8e0 <CMapSwitchMode>,
  AdjustFrame = 0x80d9840 <xf86XVAdjustFrame>,
  EnterVT = 0xb7c247e0 <glxDRIEnterVT>, LeaveVT = 0xb7c24780 <glxDRILeaveVT>,
  FreeScreen = 0xb7b952d0 <I830BIOSFreeScreen>,
  ValidMode = 0xb7b940f0 <I830ValidMode>,
  EnableDisableFBAccess = 0xb79b3f10 <xf86CursorEnableDisableFBAccess>,
  SetDGAMode = 0x80cdb50 <CMapSetDGAMode>,
  ChangeGamma = 0x80cd6a0 <CMapChangeGamma>,
  PointerMoved = 0xb7b92fc0 <I830PointerMoved>,
  PMEvent = 0xb7b9a650 <I830PMEvent>, HandleMessage = 0,
  DPMSSet = 0xb7b9c5a0 <I830DisplayPowerManagementSet>,
  LoadPalette = 0xb7b93a80 <I830LoadPalette>, SetOverscan = 0, DriverFunc = 0,
  reservedFuncs = {0 <repeats 11 times>}}
(gdb) p pI830->LockHeld
$20 = 1
(gdb) p pI830->directRenderingEnabled
$21 = 1
(gdb) p *pI830
$23 = {MMIOBase = 0xb7932000 <Address 0xb7932000 out of bounds>,
  FbBase = 0xaf932000 <Address 0xaf932000 out of bounds>, cpp = 2,
  bios_version = 2540, newPipeSwitch = 0, fakeSwitch = 0, fixedPipe = -1,
  currentMode = 0x81ff078, Clone = 0, CloneRefresh = 60, CloneHDisplay = 0,
  CloneVDisplay = 0, entityPrivate = 0x0, pipe = 0, origPipe = 0, init = 0,
  bufferOffset = 131072, FbMemBox = {x1 = 0, y1 = 0, x2 = 1024, y2 = 1792},
  FbMemBox2 = {x1 = 0, y1 = 0, x2 = 0, y2 = 0}, CacheLines = -1,
  FbMapSize = 134217728, TotalVideoRam = 67108864, StolenMemory = {Start = 0,
    End = 913408, Size = 913408, Physical = 0, Offset = 0, Alignment = 0,
    Key = 0, Pool = 0x0}, BIOSMemorySize = 8192000, BIOSMemSizeLoc = 0,
  FreeMemory = 8192, MemoryAperture = {Start = 56553472, End = 127926272,
    Size = 71372800, Physical = 0, Offset = 0, Alignment = 0, Key = 0,
    Pool = 0x0}, StolenPool = {Total = {Start = 0, End = 63832064,
      Size = 63832064, Physical = 0, Offset = 0, Alignment = 0, Key = 0,
      Pool = 0x0}, Free = {Start = 3801088, End = 3801088, Size = 0,
      Size = 63832064, Physical = 0, Offset = 0, Alignment = 0, Key = 0,
      Pool = 0x0}, Free = {Start = 3801088, End = 3801088, Size = 0,
      Physical = 0, Offset = 0, Alignment = 0, Key = 0, Pool = 0x0}, Fixed = {
      Start = 0, End = 913408, Size = 913408, Physical = 0, Offset = 0,
      Alignment = 0, Key = 0, Pool = 0x0}, Allocated = {Start = 913408,
      End = 63832064, Size = 62918656, Physical = 0, Offset = 913408,
      Alignment = 0, Key = 7, Pool = 0x0}}, allocatedMemory = 3268608,
  FrontBuffer = {Start = 131072, End = 3801088, Size = 3670016, Physical = 0,
    Offset = 0, Alignment = 65536, Key = -1, Pool = 0x81fe604},
  FrontBuffer2 = {Start = 0, End = 0, Size = 0, Physical = 0, Offset = 0,
    Alignment = 0, Key = 0, Pool = 0x0}, Scratch = {Start = 134127616,
    End = 134193152, Size = 65536, Physical = 0, Offset = 134127616,
    Alignment = 4096, Key = 3, Pool = 0x0}, Scratch2 = {Start = 0, End = 0,
    Size = 0, Physical = 0, Offset = 0, Alignment = 0, Key = -1, Pool = 0x0},
  CursorMem = 0x81fef78, CursorMemARGB = 0x81ff208, LpRing = 0x81fda58,
  OverlayMem = 0x81ff128, LinearMem = {Start = 0, End = 0, Size = 0,
    Physical = 0, Offset = 0, Alignment = 0, Key = 0, Pool = 0x0},
  LinearAlloc = 0, MergedFB = 0, pScrn_2 = 0x0, SecondHSync = 0x0,
  SecondVRefresh = 0x0, MetaModes = 0x0, SecondPosition = 0, FirstXOffs = 0,
  FirstYOffs = 0, SecondXOffs = 0, SecondYOffs = 0, FirstframeX0 = 0,
  FirstframeX1 = 0, FirstframeY0 = 0, FirstframeY1 = 0, MBXNR1XMAX = 65536,
  MBXNR1YMAX = 65536, MBXNR2XMAX = 65536, MBXNR2YMAX = 65536, NonRect = 0,
  HaveNonRect = 0, HaveOffsRegions = 0, MouseRestrictions = 0,
  maxFirst_X1 = 0, maxFirst_X2 = 0, maxFirst_Y1 = 0, maxFirst_Y2 = 0,
  maxSecond_X1 = 0, maxSecond_X2 = 0, maxSecond_Y1 = 0, maxSecond_Y2 = 0,
  NonRectDead = {x0 = 0, x1 = 0, y0 = 0, y1 = 0}, OffDead1 = {x0 = 0, x1 = 0,
    y0 = 0, y1 = 0}, OffDead2 = {x0 = 0, x1 = 0, y0 = 0, y1 = 0},
  IntelXinerama = 1, SecondIsScrn0 = 0, XineramaExtEntry = 0x0,
  I830XineramaVX = 0, I830XineramaVY = 0, shadowReq = {
    majorversion = 1 '\001', minorversion = 1 '\001', patchlevel = 0,
    abiclass = 0x0, abiversion = 0, moduleclass = 0x0}, RotatedMem = {
    Start = 0, End = 0, Size = 0, Physical = 0, Offset = 0, Alignment = 0,
    Key = -1, Pool = 0x0}, RotatedMem2 = {Start = 0, End = 0, Size = 0,
    Physical = 0, Offset = 0, Alignment = 0, Key = -1, Pool = 0x0},
  rotation = 1, InitialRotation = 0, displayWidth = 1024,
  PointerMoved = 0x80c0950 <xf86PointerMoved>,
  CreateScreenResources = 0x8119c70 <miCreateScreenResources>,
  used3D = 0x81ff5a8, ContextMem = {Start = 134094848, End = 134127616,
    Size = 32768, Physical = 0, Offset = 134094848, Alignment = 4096, Key = 4,
    Pool = 0x0}, BackBuffer = {Start = 130023424, End = 131596288,
    Size = 1572864, Physical = 0, Offset = 130023424, Alignment = 2097152,
    Key = 5, Pool = 0x0}, DepthBuffer = {Start = 127926272, End = 129499136,
    Size = 1572864, Physical = 0, Offset = 127926272, Alignment = 2097152,
    Key = 6, Pool = 0x0}, TexMem = {Start = 3801088, End = 63832064,
    Size = 60030976, Physical = 0, Offset = 0, Alignment = 4096, Key = -1,
    Pool = 0x81fe604}, TexGranularity = 18, drmMinor = 5, have3DWindows = 0,
  front_tiled = 0, back_tiled = 1, depth_tiled = 2, rotated_tiled = 0,
  rotated2_tiled = 0, NeedRingBufferLow = 1, allowPageFlip = 0,
  disableTiling = 0, backPitch = 0, CursorNeedsPhysical = 1, CursorIsARGB = 1,
  pCurs = 0x8391ae0, MonType1 = 9, MonType2 = 0, specifiedMonitor = 0,
  DGAModes = 0x822ce38, numDGAModes = 4, DGAactive = 0, DGAViewportStatus = 0,
  Chipset = 0, LinearAddr = 4026531840, MMIOAddr = 3883925504, ioBase = 0,
  pEnt = 0x81fdb40, PciInfo = 0x81f8188, PciTag = 4096, variant = 0 '\0',
  BR = {0 <repeats 13 times>, 32507904, 0, 0, 65535, 2011020270, 65535, 0},
  GttBound = 1, ScanlineColorExpandBuffers = 0x822f538,
  NumScanlineColorExpandBuffers = 512, nextColorExpandBuf = 0, SavedReg = {
    Fence = {0 <repeats 32 times>}}, ModeReg = {Fence = {130024001, 127926849,
      0 <repeats 30 times>}}, noAccel = 0, SWCursor = 0, cursorOn = 1,
  AccelInfoRec = 0x0, CursorInfoRec = 0x8240ad0,
  CloseScreen = 0xb7c52e40 <XvCloseScreen>,
  writeControl = 0xb7ba44c0 <I830WriteControlMMIO>,
  readControl = 0xb7ba4500 <I830ReadControlMMIO>,
  writeStandard = 0xb7ba4530 <I830WriteStandardMMIO>,
  readStandard = 0xb7ba4550 <I830ReadStandardMMIO>, XvDisabled = 0,
  XvEnabled = 1, colorKey = 2110, adaptor = 0x8243fa0,
  BlockHandler = 0x811a810 <miSpriteBlockHandler>, overlayOn = 0x81ff598,
  directRenderingDisabled = 0, directRenderingEnabled = 1,
  directRenderingOpen = 1, LockHeld = 1, pDRIInfo = 0x8201660, drmSubFD = 10,
  numVisualConfigs = 8, pVisualConfigs = 0x8202c48,
  pVisualConfigsPriv = 0x8201628, buffer_map = 0, ring_map = 4026531840,
  Options = 0x81fec68, StolenOnly = 0, pVbe = 0x8201200, vbeInfo = 0x81ff290,
  vesa = 0x81fde20, overrideBIOSMemSize = 1, saveBIOSMemSize = 8192000,
  newBIOSMemSize = 12582912, useSWF1 = 1, saveSWF1 = 8, swfSaved = 1,
  saveSWF0 = 9, saveSWF4 = 0, useExtendedRefresh = 0, checkDevices = 1,
  monitorSwitch = 9, operatingDevices = 9, toggleDevices = 9,
  savedDevices = 9, lastDevice0 = 0, lastDevice1 = 0, lastDevice2 = 0,
  displayAttached = {0, 0, 0, 1, 0, 0, 0, 0}, displayPresent = {1, 1, 0, 1, 0,
    0, 0, 0}, displaySize = {{x1 = 0, y1 = 0, x2 = 800, y2 = 600}, {x1 = 0,
      y1 = 0, x2 = 800, y2 = 600}, {x1 = 0, y1 = 0, x2 = 0, y2 = 0}, {x1 = 0,
      y1 = 0, x2 = 1024, y2 = 768}, {x1 = 0, y1 = 0, x2 = 0, y2 = 0}, {x1 = 0,
      y1 = 0, x2 = 0, y2 = 0}, {x1 = 0, y1 = 0, x2 = 0, y2 = 0}, {x1 = 0,
      y1 = 0, x2 = 0, y2 = 0}}, availablePipes = 2, pipeDevices = {0, 0},
  pipeEnabled = {1, 0}, pipeDisplaySize = {{x1 = 0, y1 = 0, x2 = 1024,
      y2 = 768}, {x1 = 0, y1 = 0, x2 = 0, y2 = 0}}, planeEnabled = {1, 0},
  preinit = 0, starting = 0, closing = 0, suspended = 0, leaving = 0,
  xoffset = 0, yoffset = 64, SaveGeneration = 1, vbeRestoreWorkaround = 1,
  displayInfo = 1, devicePresence = 0, devicesTimer = 0x8200040,
  savedAsurf = 0, savedBsurf = 0}
(gdb) p pI830->LpRing->mem.Size
$25 = 131072
(gdb) up
#9  0xb79bfe2d in XAALeaveVT () from /usr/lib/xorg/modules/libxaa.so
(gdb) up
#10 0x080d7e79 in xf86XVLeaveVT (index=0, flags=0)
    at ../../../../hw/xfree86/common/xf86xv.c:1278
1278        (*ScreenPriv->LeaveVT)(index, flags);
(gdb) p index
$26 = 0
(gdb) p flags
27 = 0
(gdb) frame 14
#14 0x081a2987 in FatalError (f=0xb7bbc6fc "lockup\n") at ../../os/log.c:554
554             AbortServer();
(gdb) up
#15 0xb7b8f83c in I830WaitLpRing (pScrn=0x81fd0d8, n=131064,
    timeout_millis=2000) at ../../src/i830_accel.c:115
115              FatalError("lockup\n");
(gdb) p /x *pI830
$28 = {MMIOBase = 0xb7932000, FbBase = 0xaf932000, cpp = 0x2,
  bios_version = 0x9ec, newPipeSwitch = 0x0, fakeSwitch = 0x0,
  fixedPipe = 0xffffffff, currentMode = 0x81ff078, Clone = 0x0,
  CloneRefresh = 0x3c, CloneHDisplay = 0x0, CloneVDisplay = 0x0,
  entityPrivate = 0x0, pipe = 0x0, origPipe = 0x0, init = 0x0,
  bufferOffset = 0x20000, FbMemBox = {x1 = 0x0, y1 = 0x0, x2 = 0x400,
    y2 = 0x700}, FbMemBox2 = {x1 = 0x0, y1 = 0x0, x2 = 0x0, y2 = 0x0},
  CacheLines = 0xffffffff, FbMapSize = 0x8000000, TotalVideoRam = 0x4000000,
  StolenMemory = {Start = 0x0, End = 0xdf000, Size = 0xdf000, Physical = 0x0,
    Offset = 0x0, Alignment = 0x0, Key = 0x0, Pool = 0x0},
  BIOSMemorySize = 0x7d0000, BIOSMemSizeLoc = 0x0, FreeMemory = 0x2000,
  MemoryAperture = {Start = 0x35ef000, End = 0x7a00000, Size = 0x4411000,
    Physical = 0x0, Offset = 0x0, Alignment = 0x0, Key = 0x0, Pool = 0x0},
  StolenPool = {Total = {Start = 0x0, End = 0x3ce0000, Size = 0x3ce0000,
      Physical = 0x0, Offset = 0x0, Alignment = 0x0, Key = 0x0, Pool = 0x0},
    Free = {Start = 0x3a0000, End = 0x3a0000, Size = 0x0, Physical = 0x0,
      Offset = 0x0, Alignment = 0x0, Key = 0x0, Pool = 0x0}, Fixed = {
      Start = 0x0, End = 0xdf000, Size = 0xdf000, Physical = 0x0,
      Offset = 0x0, Alignment = 0x0, Key = 0x0, Pool = 0x0}, Allocated = {
      Start = 0xdf000, End = 0x3ce0000, Size = 0x3c01000, Physical = 0x0,
      Offset = 0xdf000, Alignment = 0x0, Key = 0x7, Pool = 0x0}},
  allocatedMemory = 0x31e000, FrontBuffer = {Start = 0x20000, End = 0x3a0000,
    Size = 0x380000, Physical = 0x0, Offset = 0x0, Alignment = 0x10000,
    Key = 0xffffffff, Pool = 0x81fe604}, FrontBuffer2 = {Start = 0x0,
    End = 0x0, Size = 0x0, Physical = 0x0, Offset = 0x0, Alignment = 0x0,
    Key = 0x0, Pool = 0x0}, Scratch = {Start = 0x7fea000, End = 0x7ffa000,
    Size = 0x10000, Physical = 0x0, Offset = 0x7fea000, Alignment = 0x1000,
    Key = 0x3, Pool = 0x0}, Scratch2 = {Start = 0x0, End = 0x0, Size = 0x0,
    Physical = 0x0, Offset = 0x0, Alignment = 0x0, Key = 0xffffffff,
    Pool = 0x0}, CursorMem = 0x81fef78, CursorMemARGB = 0x81ff208,
  LpRing = 0x81fda58, OverlayMem = 0x81ff128, LinearMem = {Start = 0x0,
    End = 0x0, Size = 0x0, Physical = 0x0, Offset = 0x0, Alignment = 0x0,
    Key = 0x0, Pool = 0x0}, LinearAlloc = 0x0, MergedFB = 0x0, pScrn_2 = 0x0,
  SecondHSync = 0x0, SecondVRefresh = 0x0, MetaModes = 0x0,
  SecondPosition = 0x0, FirstXOffs = 0x0, FirstYOffs = 0x0, SecondXOffs = 0x0,
  SecondYOffs = 0x0, FirstframeX0 = 0x0, FirstframeX1 = 0x0,
  FirstframeY0 = 0x0, FirstframeY1 = 0x0, MBXNR1XMAX = 0x10000,
  MBXNR1YMAX = 0x10000, MBXNR2XMAX = 0x10000, MBXNR2YMAX = 0x10000,
  NonRect = 0x0, HaveNonRect = 0x0, HaveOffsRegions = 0x0,
  MouseRestrictions = 0x0, maxFirst_X1 = 0x0, maxFirst_X2 = 0x0,
  maxFirst_Y1 = 0x0, maxFirst_Y2 = 0x0, maxSecond_X1 = 0x0,
  maxSecond_X2 = 0x0, maxSecond_Y1 = 0x0, maxSecond_Y2 = 0x0, NonRectDead = {
    x0 = 0x0, x1 = 0x0, y0 = 0x0, y1 = 0x0}, OffDead1 = {x0 = 0x0, x1 = 0x0,
    y0 = 0x0, y1 = 0x0}, OffDead2 = {x0 = 0x0, x1 = 0x0, y0 = 0x0, y1 = 0x0},
  IntelXinerama = 0x1, SecondIsScrn0 = 0x0, XineramaExtEntry = 0x0,
  I830XineramaVX = 0x0, I830XineramaVY = 0x0, shadowReq = {majorversion = 0x1,
    minorversion = 0x1, patchlevel = 0x0, abiclass = 0x0, abiversion = 0x0,
    moduleclass = 0x0}, RotatedMem = {Start = 0x0, End = 0x0, Size = 0x0,
    Physical = 0x0, Offset = 0x0, Alignment = 0x0, Key = 0xffffffff,
    Pool = 0x0}, RotatedMem2 = {Start = 0x0, End = 0x0, Size = 0x0,
    Physical = 0x0, Offset = 0x0, Alignment = 0x0, Key = 0xffffffff,
    Pool = 0x0}, rotation = 0x1, InitialRotation = 0x0, displayWidth = 0x400,
  PointerMoved = 0x80c0950, CreateScreenResources = 0x8119c70,
  used3D = 0x81ff5a8, ContextMem = {Start = 0x7fe2000, End = 0x7fea000,
    Size = 0x8000, Physical = 0x0, Offset = 0x7fe2000, Alignment = 0x1000,
    Key = 0x4, Pool = 0x0}, BackBuffer = {Start = 0x7c00000, End = 0x7d80000,
    Size = 0x180000, Physical = 0x0, Offset = 0x7c00000, Alignment = 0x200000,
    Key = 0x5, Pool = 0x0}, DepthBuffer = {Start = 0x7a00000, End = 0x7b80000,
    Size = 0x180000, Physical = 0x0, Offset = 0x7a00000, Alignment = 0x200000,
    Key = 0x6, Pool = 0x0}, TexMem = {Start = 0x3a0000, End = 0x3ce0000,
    Size = 0x3940000, Physical = 0x0, Offset = 0x0, Alignment = 0x1000,
    Key = 0xffffffff, Pool = 0x81fe604}, TexGranularity = 0x12,
  drmMinor = 0x5, have3DWindows = 0x0, front_tiled = 0x0, back_tiled = 0x1,
  depth_tiled = 0x2, rotated_tiled = 0x0, rotated2_tiled = 0x0,
  NeedRingBufferLow = 0x1, allowPageFlip = 0x0, disableTiling = 0x0,
  backPitch = 0x0, CursorNeedsPhysical = 0x1, CursorIsARGB = 0x1,
  pCurs = 0x8391ae0, MonType1 = 0x9, MonType2 = 0x0, specifiedMonitor = 0x0,
  DGAModes = 0x822ce38, numDGAModes = 0x4, DGAactive = 0x0,
  DGAViewportStatus = 0x0, Chipset = 0x0, LinearAddr = 0xf0000000,
  MMIOAddr = 0xe7800000, ioBase = 0x0, pEnt = 0x81fdb40, PciInfo = 0x81f8188,
  PciTag = 0x1000, variant = 0x0, BR = {0x0 <repeats 13 times>, 0x1f00800,
    0x0, 0x0, 0xffff, 0x77ddbbee, 0xffff, 0x0}, GttBound = 0x1,
  ScanlineColorExpandBuffers = 0x822f538,
  NumScanlineColorExpandBuffers = 0x200, nextColorExpandBuf = 0x0, SavedReg = {
    Fence = {0x0 <repeats 32 times>}}, ModeReg = {Fence = {0x7c00241,
      0x7a00241, 0x0 <repeats 30 times>}}, noAccel = 0x0, SWCursor = 0x0,
  cursorOn = 0x1, AccelInfoRec = 0x0, CursorInfoRec = 0x8240ad0,
  CloseScreen = 0xb7c52e40, writeControl = 0xb7ba44c0,
  readControl = 0xb7ba4500, writeStandard = 0xb7ba4530,
  readStandard = 0xb7ba4550, XvDisabled = 0x0, XvEnabled = 0x1,
  colorKey = 0x83e, adaptor = 0x8243fa0, BlockHandler = 0x811a810,
  overlayOn = 0x81ff598, directRenderingDisabled = 0x0,
  directRenderingEnabled = 0x1, directRenderingOpen = 0x1, LockHeld = 0x1,
  pDRIInfo = 0x8201660, drmSubFD = 0xa, numVisualConfigs = 0x8,
  pVisualConfigs = 0x8202c48, pVisualConfigsPriv = 0x8201628,
  buffer_map = 0x0, ring_map = 0xf0000000, Options = 0x81fec68,
  StolenOnly = 0x0, pVbe = 0x8201200, vbeInfo = 0x81ff290, vesa = 0x81fde20,
  overrideBIOSMemSize = 0x1, saveBIOSMemSize = 0x7d0000,
  newBIOSMemSize = 0xc00000, useSWF1 = 0x1, saveSWF1 = 0x8, swfSaved = 0x1,
  saveSWF0 = 0x9, saveSWF4 = 0x0, useExtendedRefresh = 0x0,
  checkDevices = 0x1, monitorSwitch = 0x9, operatingDevices = 0x9,
  toggleDevices = 0x9, savedDevices = 0x9, lastDevice0 = 0x0,
  lastDevice1 = 0x0, lastDevice2 = 0x0, displayAttached = {0x0, 0x0, 0x0, 0x1,
    0x0, 0x0, 0x0, 0x0}, displayPresent = {0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0,
    0x0}, displaySize = {{x1 = 0x0, y1 = 0x0, x2 = 0x320, y2 = 0x258}, {
      x1 = 0x0, y1 = 0x0, x2 = 0x320, y2 = 0x258}, {x1 = 0x0, y1 = 0x0,
      x2 = 0x0, y2 = 0x0}, {x1 = 0x0, y1 = 0x0, x2 = 0x400, y2 = 0x300}, {
      x1 = 0x0, y1 = 0x0, x2 = 0x0, y2 = 0x0}, {x1 = 0x0, y1 = 0x0, x2 = 0x0,
      y2 = 0x0}, {x1 = 0x0, y1 = 0x0, x2 = 0x0, y2 = 0x0}, {x1 = 0x0,
      y1 = 0x0, x2 = 0x0, y2 = 0x0}}, availablePipes = 0x2, pipeDevices = {
    0x0, 0x0}, pipeEnabled = {0x1, 0x0}, pipeDisplaySize = {{x1 = 0x0,
      y1 = 0x0, x2 = 0x400, y2 = 0x300}, {x1 = 0x0, y1 = 0x0, x2 = 0x0,
      y2 = 0x0}}, planeEnabled = {0x1, 0x0}, preinit = 0x0, starting = 0x0,
  closing = 0x0, suspended = 0x0, leaving = 0x0, xoffset = 0x0,
  yoffset = 0x40, SaveGeneration = 0x1, vbeRestoreWorkaround = 0x1,
  displayInfo = 0x1, devicePresence = 0x0, devicesTimer = 0x8200040,
  savedAsurf = 0x0, savedBsurf = 0x0}
(gdb) p /x *ring
$29 = {tail_mask = 0x1, mem = {Start = 0xf000ef6f, End = 0xf000e2c3,
    Size = 0xf000ef6f, Physical = 0xf000ef6f, Offset = 0xf000ff54,
    Alignment = 0xf0008008, Key = 0xf000ef6f, Pool = 0xf000fea5},
  virtual_start = 0xf000e987, head = 0xf000ef6f, tail = 0xf000ef6f,
  space = 0xf000ef6f}
(gdb) p n
$33 = 131064
(gdb) up
#16 0xb7b90092 in I830Sync (pScrn=0x81fd0d8) at ../../src/i830_accel.c:166
166        I830WaitLpRing(pScrn, pI830->LpRing->mem.Size - 8, 0);
(gdb) up
#17 0xb79c6502 in XAACopyAreaFallback () from /usr/lib/xorg/modules/libxaa.so
(gdb) up
#18 0xb79c77f7 in XAACopyArea () from /usr/lib/xorg/modules/libxaa.so
(gdb) up
#19 0x081566cd in damageCopyArea (pSrc=0x8397af8, pDst=0x8393b60,
    pGC=0x8391e28, srcx=0, srcy=0, width=280, height=20, dstx=0, dsty=0)
    at ../../../miext/damage/damage.c:790
790         ret = (*pGC->ops->CopyArea)(pSrc, pDst,
(gdb) p pSrc
$35 = (DrawablePtr) 0x8397af8
(gdb) p pDst
$36 = (DrawablePtr) 0x8393b60
$38 = 0
(gdb) p srcx
$39 = 0
(gdb) p srcy
$40 = 0
(gdb) p width
$41 = 280
(gdb) p height
$42 = 20
(gdb) p dstx
$43 = 0
(gdb) p dsty
$44 = 0


(I have no idea why the debug info from /usr/lib/xorg/modules/libxaa.so
 doesn't show, it's build with debug symbols too. I can look at this if
you think it's contains something intereseting.)



Kurt




Reply to: