I'm running the XTS (http://cgit.freedesktop.org/xorg/test/xts/) test suite against Xvnc. The XDrawArc crashes the server every time. This happens with both our own build (using xserver 1.5), as well with the Xvnc shipped with Fedora 14. For some unknown reason, I'm not getting any core dumps from the F14 Xvnc, but from our build, I've retrieved this backtrace:

The core dump problem was caused by abrt, see https://bugzilla.redhat.com/show_bug.cgi?id=583407 .

The actual problem seems to be this function in vncHooks.cc:


static void vncHooksFillSpans(DrawablePtr pDrawable, GCPtr pGC, int nInit,
                              DDXPointPtr pptInit, int *pwidthInit,
                              int fSorted)
{
  GC_OP_UNWRAPPER(pDrawable, pGC, FillSpans);

  RegionHelper changed(pScreen, &((WindowPtr)pDrawable)->borderClip);

  (*pGC->ops->FillSpans) (pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted);

  vncHooksScreen->desktop->add_changed(changed.reg);
}

We are casting pDrawable, but with the XDrawArc case, the drawable is not a window but a pixmap. Pixmap structures doesn't have a borderClip member.

Why do we need to deal with pixmaps at all? In revision r2452, we started hooking them:

------------------------------------------------------------------------
r2452 | atkac | 2008-03-26 19:59:58 +0100 (ons, 26 mar 2008) | 3 lines

PaintWindowBackground and PaintWindowBorder hooks are no longer used.
PolyFillRect hook is used instead and it needs modified ValidateGC hook.

------------------------------------------------------------------------

Adam, can you explain the reasoning behind this?


Regards, ---
Peter Åstrand           ThinLinc Chief Developer
Cendio AB               http://www.cendio.com
Wallenbergs gata 4
583 30 Linköping        Phone: +46-13-21 46 00
------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to