emacs-devel
[Top][All Lists]
Advanced

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

SIGSEGV after mouse-1 on toolbar


From: Pavel Janík
Subject: SIGSEGV after mouse-1 on toolbar
Date: Fri, 16 Nov 2001 23:45:26 +0100
User-agent: Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.1.50 (i386-suse-linux-gnu)

Hi,

I already reported this problem with attached image when the point of
click was marked with red point. Here is the analyse of the problem, but
I do not know the display engine of Emacs yet, so maybe this will trigger
some idea...

An analyse of SIGSEGV when clicking on bottom-left point of toolbar
-------------------------------------------------------------------

emacs -q, current CVS or 21.1 (does not matter)

I'm not able to reproduce that after emacs -q -ib 0 so it is probably
connected with internal border.

(gdb) where
#0  abort () at emacs.c:403
#1  0x0812d40f in Fsignal (error_symbol=405388252, data=1479444684)
    at eval.c:1437
#2  0x0811d968 in args_out_of_range (a1=268435455, a2=268435455) at data.c:149
#3  0x081665d3 in validate_interval_range (object=943701108, begin=0xbffd07a0, 
    end=0xbffd07a0, force=0) at textprop.c:164
#4  0x08166ed6 in Ftext_properties_at (position=268435455, object=943701108)
    at textprop.c:549
#5  0x08166f4d in Fget_text_property (position=268435455, prop=405470180, 
    object=943701108) at textprop.c:570
#6  0x08066b76 in tool_bar_item_info (f=0x8482fe0, glyph=0x84a1db8, 
    prop_idx=0xbffd086c) at xdisp.c:7942
#7  0x080b454c in x_tool_bar_item (f=0x8482fe0, x=-1, y=34, glyph=0xbffd0860, 
    hpos=0xbffd0864, vpos=0xbffd0868, prop_idx=0xbffd086c) at xterm.c:7298
#8  0x080b4617 in x_handle_tool_bar_click (f=0x8482fe0, 
    button_event=0xbffd0de4) at xterm.c:7335
#9  0x080b8036 in XTread_socket (sd=0, bufp=0xbffd1e84, numchars=4096, 
    expected=1) at xterm.c:10925
#10 0x080de54e in read_avail_input (expected=1) at keyboard.c:6168
#11 0x080de71e in input_available_signal (signo=29) at keyboard.c:6331
#12 <signal handler called>
#13 0x403e547e in select () from /lib/libc.so.6


It was aborted in Fsignal:

  if (gc_in_progress || waiting_for_input)
    abort ();

waiting_for_input is 1:

(gdb) p waiting_for_input 
$2 = 1


Fsignal was called from args_out_of_range:

void
args_out_of_range (a1, a2)
     Lisp_Object a1, a2;
{
  while (1)
    Fsignal (Qargs_out_of_range, Fcons (a1, Fcons (a2, Qnil)));
}

(gdb) xint a1
$7 = -1
(gdb) xint a2
$8 = -1

This function was called via validate_interval_range from
text-properties-at which was called from get-text-property.

It was called from tool_bar_item_info:

  prop = Fget_text_property (make_number (glyph->charpos),
                             Qmenu_item, f->current_tool_bar_string);


Where glyph has this contents:

(gdb) p *glyph
$15 = {
  charpos = 268435455, 
  object = 1479444708, 
  pixel_width = 17188, 
  voffset = 6184, 
  type = 0, 
  multibyte_p = 1, 
  left_box_line_p = 1, 
  right_box_line_p = 1, 
  overlaps_vertically_p = 0, 
  padding_p = 1, 
  glyph_not_available_p = 1, 
  face_id = 1584776, 
  u = {
    ch = 267249163, 
    cmp_id = 267249163, 
    img_id = 267249163, 
    stretch = {
      height = 58891, 
      ascent = 4077
    }, 
    val = 267249163
  }
}

So charpos is -1 here. Button event happened at:

(gdb) p x
$27 = -1
(gdb) p y
$28 = 34
(gdb) 

This is in function x_handle_tool_bar_click.

As I wrote, it happens when there is some internal border. The default is
1, but I can also reproduce that with -ib 2. But I was not able to
reproduce that with -ib 10 and also with -ib 0 (ie. without internal
border).

Do you see something strange here? Can you reproduce that?
-- 
Pavel Janík

panic("aha1740.c"); /* Goodbye */
                  -- 2.2.16 drivers/scsi/aha1740.c



reply via email to

[Prev in Thread] Current Thread [Next in Thread]