OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
Re: X crashes with snapshot

From: LEVAI Daniel (levaecentrum.hu)
Date: Mon Sep 14 2009 - 05:06:48 CDT


On Monday 14 September 2009 11.00.49 you wrote:
> On Sun, Sep 13, 2009 at 11:32 PM, LEVAI Daniel <levaecentrum.hu> wrote:
> > On Tuesday 08 September 2009 15.27.01 you wrote:
> >> On Monday 07 September 2009 18.44.42 Owain Ainsworth wrote:
> >> > On Mon, Sep 07, 2009 at 11:27:31AM +0200, LEVAI Daniel wrote:
> >> > > Fatal server error:
> >> > > Caught signal 11. Server aborting
> >> >
> >> > Please checkout the xenocara tree and follow the instructions in
> >> > README in order to provide a gdb backtrace with debug symbols.
> >> >
> >> > I have no idea why people think that X is different in this respect to
> >> > other applications...
> >>
> >> Thanks for the pointer, I got it. Here is the output of bt full:
> >
> > [...]
> >
> > Can I be of more assistance with this? Is there a suspicion about what
>
> could
>
> > this be?
>
> From your gdb backtrace:
>
> #0 0x1c0b7db0 in xf86_reload_cursors (screen=0x7ec3b000)
> at /usr/xenocara/xserver/hw/xfree86/modes/xf86Cursors.c:615
> 615 if (!cursor_screen_priv->isUp)
> #0 0x1c0b7db0 in xf86_reload_cursors (screen=0x7ec3b000)
> at /usr/xenocara/xserver/hw/xfree86/modes/xf86Cursors.c:615
> scrn = 0x88c64800
> xf86_config = 0x891b25b0
> cursor_info = 0x875c7300
> cursor = 0x8a28c000
> x = -1994706896
> y = 2126768128
> cursor_screen_priv = 0x0
>
>
> this is a null-pointer dereference crash:
>
> /usr/xenocara/xserver/hw/xfree86/modes/xf86Cursors.c
> 612 cursor_screen_priv = dixLookupPrivate(&screen->devPrivates,
> 613 xf86CursorScreenKey);
> 614 /* return if HW cursor is inactive, to avoid displaying two
> cursors
> 615 if (!cursor_screen_priv->isUp)
> 616 return;
>
>
> I'm stating the obvious here, of course. Whether it's OK for
> dixLookupPrivate() to return NULL or if that points to further
> problems is /way/ beyond my grasp of knowledge. If it is acceptable
> for a NULL to be returned, a simple check for a NULL pointer before
> the dereference could fix the crash.
>
> But, wait for someone more qualified to chime in :-)
Thank you for the information! This gave me the idea, if this has anything to
do with my Option "SWCursor" "on" setting, after all, the file in question is
xf86Cursors.c. Disabling SWCursor solves the crash ( yay! ), but
unfortunatelly with hardware cursor and Virtual Display setting, the mouse
cursor tranforms into weird artifacts during its motion. Well, it is better
than the crash :)

Daniel

--
LIVAI Daniel
PGP key ID = 0x4AC0A4B1
Key fingerprint = D037 03B9 C12D D338 4412 2D83 1373 917A 4AC0 A4B1