GNU bug report logs - #20802
Segfault when showing non-GTK+ tooltip

Previous Next

Package: emacs;

Reported by: Tobias Getzner <tobias.getzner <at> gmx.de>

Date: Sat, 13 Jun 2015 09:19:02 UTC

Severity: normal

Tags: moreinfo

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: martin rudalics <rudalics <at> gmx.at>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: tobias.getzner <at> gmx.de, 20802 <at> debbugs.gnu.org
Subject: bug#20802: Segfault when showing non-GTK+ tooltip
Date: Sat, 13 Jun 2015 16:28:47 +0200
> So FRAME_IMAGE_CACHE returns a NULL pointer, I guess.  But how did
> that happen?  We allocate the cache in xfaces.c:init_frame_faces.  I
> could understand why init_frame_faces was not yet called for the tip
> frame we were trying to create, but the crash happens because of a
> different frame.  Look:
>
>    #37 0x000000000054c091 in x_decode_color (f=0x24d2c30, color_name=..., mono_color=16777215) at ../../src/xfns.c:495
>    #38 0x000000000054c566 in x_set_background_color (f=0x24d2c30, arg=..., oldval=...) at ../../src/xfns.c:638
>    #39 0x000000000042d45d in x_set_frame_parameters (f=0x24d2c30, alist=...) at ../../src/frame.c:3152
>    #40 0x0000000000431ce6 in x_default_parameter (f=0x24d2c30, alist=..., prop=..., deflt=..., xprop=0x6fd49d "background", xclass=0x6fd908 "Background", type=RES_TYPE_STRING) at ../../src/frame.c:4374
>    #41 0x000000000055549d in x_create_tip_frame (dpyinfo=0x1621ee0, parms=..., text=...) at ../../src/xfns.c:5173
>
> This is the tip frame we are creating, its pointer is 0x24d2c30.  But
> when we crash, it's for a different frame, whose pointer is 0x13a7e00:
>
>    #0  0x00000000006c9b5c in cache_image (f=0x13a7e00, img=0x249e010) at ../../src/image.c:1775
>    #1  0x00000000006c96e3 in lookup_image (f=0x13a7e00, spec=...) at ../../src/image.c:1686

As I mentioned earlier this seems to be due to the fact that the
debugger intervenes in some recursive fashion.  The crash happens after
the backtrace window popped up and when I try to ‘switch-to-prev-buffer’
in the window where the tooltip should have appeared.  Without that I'm
_not_ able to reproduce the crash.

> Can you see what is that frame, and why we didn't call
> init_frame_faces for it?

What makes you think this is not my normal frame in the first place and
why init_frame_faces was not called for it?  Hmmm, I see, nothing can
stop make_image_cache apparently.  I'll look into this later - sounds
like a thunderstorm approaching and I'll rather switch off my machine.

> Also, which image are we trying to display
> here?

How would I know?  I never see one because I build without image
support.

> Something on the toolbar, perhaps?  Did you move mouse pointer
> over a tool-bar button to trigger a tooltip that failed?

The toolbar is disabled with my customizations.

martin





This bug report was last modified 3 years and 32 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.