[Top][All Lists]
[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
- SIGSEGV after mouse-1 on toolbar,
Pavel Janík <=