* bug#10035: Crash in check_x_frame in w32fns.c
@ 2011-11-13 15:29 Christoph Scholtes
2011-11-13 17:18 ` Eli Zaretskii
0 siblings, 1 reply; 36+ messages in thread
From: Christoph Scholtes @ 2011-11-13 15:29 UTC (permalink / raw
To: 10035
Emacs crashed while editing a Changelog.
Crashed session is still running under gdb. I can provide more details
if necessary.
Full backtrace:
#0 0x7557280d in KERNELBASE!DeleteAce ()
from C:\Windows\syswow64\KernelBase.dll
No symbol table info available.
#1 0x0115050f in w32_abort () at w32fns.c:233
button = 6
#2 0x010ee0d5 in row_equal_p (a=0x10dc2158, b=0x10d97158, mouse_face_p=1)
at dispnew.c:398
No locals.
#3 0x010f490f in scrolling_window (w=0x10d96000, header_line_p=0)
at dispnew.c:398
d = (struct glyph_row *) 0x10d97158
c = (struct glyph_row *) 0x10dc2158
desired_matrix = (struct glyph_matrix *) 0x10d6c900
current_matrix = (struct glyph_matrix *) 0x10d03200
yb = 252
i = 2
j = 282865180
first_old = 282689052
first_new = 282865180
last_old = 83
last_new = 283016440
nruns = 282689052
run_idx = 21981248
n = 17764412
entry = (struct row_entry *) 0x10d97e1c
rif = (struct redisplay_interface *) 0x14f6840
#4 0x010f30fe in update_window (w=0x10d96000, force_p=1) at dispnew.c:398
rc = -1
end = (struct glyph_row *) 0x10d97e1c
mode_line_row = (struct glyph_row *) 0x10d97e1c
header_line_row = (struct glyph_row *) 0x0
changed_p = 0
mouse_face_overwritten_p = 0
row = (struct glyph_row *) 0x10d97000
yb = 252
desired_matrix = (struct glyph_matrix *) 0x10d6c900
paused_p = 18876060
rif = (struct redisplay_interface *) 0x14f6840
#5 0x010f27fe in update_window_tree (w=0x10d96000, force_p=1)
at dispnew.c:398
paused_p = 0
#6 0x010f27d7 in update_window_tree (w=0x10d72200, force_p=1)
at dispnew.c:398
paused_p = 0
#7 0x010f254d in update_frame (f=0x3a24e00, force_p=1,
inhibit_hairy_id_p=0)
at dispnew.c:398
paused_p = 0
root_window = (struct window *) 0x10d72200
#8 0x011ff16e in redisplay_internal () at character.h:566
mini_window = 0
mini_frame = (struct frame *) 0x10bdf856
w = (struct window *) 0x10d96000
sw = (struct window *) 0x10d96000
fr = (struct frame *) 0x3a24e00
pending = 0
must_finish = 1
tlbufpos = {charpos = 62, bytepos = 62}
tlendpos = {charpos = 314156, bytepos = 314255}
number_of_visible_frames = 1
count = 2
count1 = 4
sf = (struct frame *) 0x3a24e00
polling_stopped_here = 1
old_frame = 60968453
consider_all_windows_p = 0
#9 0x011fbb1a in redisplay () at character.h:566
No locals.
#10 0x01008990 in read_char (commandflag=1, nmaps=5, maps=0x88f960,
prev_event=54765594, used_mouse_menu=0x88fa48, end_time=0x0)
at buffer.h:1045
echo_current = 1
c = 54765594
jmpcount = 8976696
local_getcjmp = {0, 17706273, 21888768, 8976547, 8976504, 16999231,
1, 32, 0, 17706212, 19943633, 54765594, 283464134, 54765594, 1, 32}
save_jump = {8976408, 19276185, 283352830, 54809442, 0, 1, 0,
54809442, 8976680, 17823167, 404, 54809442, 282042885, 20499101,
17703639,
32}
key_already_recorded = 0
tem = 283380534
save = 54765594
previous_echo_area_message = 54765594
also_record = 54765594
reread = 0
gcpro1 = {next = 0x12d0111, var = 0x10e39efe, nvars = 54809442}
gcpro2 = {next = 0x66, var = 0x0, nvars = 8976376}
polling_stopped_here = 0
orig_kboard = (struct kboard *) 0x38fc500
#11 0x0101c241 in read_key_sequence (keybuf=0x88fbd0, bufsize=30,
prompt=54765594, dont_downcase_last=0, can_return_switch_frame=1,
fix_current_buffer=1) at buffer.h:1045
interrupted_kboard = (KBOARD *) 0x38fc500
interrupted_frame = (struct frame *) 0x3a24e00
key = 404
used_mouse_menu = 0
echo_local_start = 0
last_real_key_start = 0
keys_local_start = 0
local_first_binding = 0
from_string = 54765594
count = 2
t = 0
echo_start = 0
keys_start = 0
nmaps = 5
nmaps_allocated = 5
defs = (Lisp_Object *) 0x88f930
submaps = (Lisp_Object *) 0x88f960
orig_local_map = 282935006
orig_keymap = 54765594
localized_local_map = 0
first_binding = 0
first_unbound = 31
mock_input = 0
fkey = {parent = 59280334, map = 59280334, start = 0, end = 0}
keytran = {parent = 54755014, map = 54755014, start = 0, end = 0}
indec = {parent = 59280342, map = 59280342, start = 0, end = 0}
shift_translated = 0
delayed_switch_frame = 54765594
original_uppercase = 404
original_uppercase_position = -1
dummyflag = 0
starting_buffer = (struct buffer *) 0x10cfa200
fake_prefixed_keys = 54765594
outer_gcpro1 = {next = 0x10d1ac38, var = 0x343a81a, nvars = 283380590}
#12 0x01005bf4 in command_loop_1 () at buffer.h:1045
cmd = 54993114
keybuf = {54907458, 208, 388, 2130567168, 0, 0, 8977432, 16798076,
282593638, 54765618, 8977471, 54885546, 0, 0, 8977464, 60968448,
54870858,
2130567168, 8977544, 16797445, 282593654, 8977471, 0, 2130567168, 0, 0,
8977512, 214704, 2, 54743622}
i = 1
prev_modiff = 89
prev_buffer = (struct buffer *) 0x10cfa200
already_adjusted = 0
#13 0x01032de7 in internal_condition_case (bfun=0x10055fc <command_loop_1>,
handlers=54823322, hfun=0x1004e1b <cmd_error>) at eval.c:169
val = 54743622
c = {tag = 54765594, val = 54765594, next = 0x88fd74, gcpro = 0x0,
jmp = {8977720, 0, 0, 0, 8977548, 16985492, 8978372, 0, 12456104,
8977684,
1968608529, 12456104, 1, 1958752824, 0, 1033}, backlist = 0x0,
handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2,
poll_suppress_count = 0, interrupt_input_blocked = 0, byte_stack = 0x0}
h = {handler = 54823322, var = 54765594, chosen_clause = 54765618,
tag = 0x88fcc0, next = 0x0}
#14 0x01005258 in command_loop_2 (ignore=54765594) at buffer.h:1045
val = 0
#15 0x0103280a in internal_catch (tag=54821346,
func=0x1005234 <command_loop_2>, arg=54765594) at eval.c:169
c = {tag = 54821346, val = 54765594, next = 0x0, gcpro = 0x0, jmp = {
8977896, 2130567168, 0, 0, 8977756, 16984059, 8978372, 0, 54765594,
54804480, 1958754112, 1958754175, 2130567168, 23257352, 54804480,
23257352}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0,
pdlcount = 2, poll_suppress_count = 0, interrupt_input_blocked = 0,
byte_stack = 0x0}
#16 0x01005214 in command_loop () at buffer.h:1045
No locals.
#17 0x034481e2 in _Jv_RegisterClasses ()
No symbol table info available.
#18 0x01005234 in command_loop () at buffer.h:1045
No locals.
#19 0x0343a81a in _Jv_RegisterClasses ()
No symbol table info available.
#20 0x00000001 in ?? ()
No symbol table info available.
#21 0x00000000 in ?? ()
No symbol table info available.
In GNU Emacs 24.0.91.1 (i386-mingw-nt6.1.7601)
of 2011-11-13 on MARVIN
Windowing system distributor `Microsoft Corp.', version 6.1.7601
configured using `configure --with-gcc (4.6) --no-opt --cflags
-I"D:/devel/emacs/libs/libXpm-3.5.8/include"
-I"D:/devel/emacs/libs/libXpm-3.5.8/src"
-I"D:/devel/emacs/libs/libpng-dev_1.4.3-1/include"
-I"D:/devel/emacs/libs/zlib-dev_1.2.5-2/include"
-I"D:/devel/emacs/libs/giflib-4.1.4-1/include"
-I"D:/devel/emacs/libs/jpeg-6b-4/include"
-I"D:/devel/emacs/libs/tiff-3.8.2-1/include"
-I"D:/devel/emacs/libs/gnutls-2.10.1/include" --ldflags
-L"D:/devel/emacs/libs/gnutls-2.10.1/lib"'
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-13 15:29 bug#10035: Crash in check_x_frame in w32fns.c Christoph Scholtes
@ 2011-11-13 17:18 ` Eli Zaretskii
2011-11-13 20:04 ` Christoph Scholtes
0 siblings, 1 reply; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-13 17:18 UTC (permalink / raw
To: Christoph Scholtes; +Cc: 10035
> Date: Sun, 13 Nov 2011 08:29:34 -0700
> From: Christoph Scholtes <cschol2112@googlemail.com>
>
> Emacs crashed while editing a Changelog.
>
> Crashed session is still running under gdb. I can provide more details
> if necessary.
>
> Full backtrace:
>
> #0 0x7557280d in KERNELBASE!DeleteAce ()
> from C:\Windows\syswow64\KernelBase.dll
> No symbol table info available.
> #1 0x0115050f in w32_abort () at w32fns.c:233
> button = 6
> #2 0x010ee0d5 in row_equal_p (a=0x10dc2158, b=0x10d97158, mouse_face_p=1)
> at dispnew.c:398
The beast entered the trap. Please show what this produces:
(gdb) p a->enabled_p
(gdb) p b->enabled_p
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-13 17:18 ` Eli Zaretskii
@ 2011-11-13 20:04 ` Christoph Scholtes
2011-11-13 20:21 ` Eli Zaretskii
0 siblings, 1 reply; 36+ messages in thread
From: Christoph Scholtes @ 2011-11-13 20:04 UTC (permalink / raw
To: Eli Zaretskii; +Cc: 10035
On 11/13/2011 10:18 AM, Eli Zaretskii wrote:
> The beast entered the trap. Please show what this produces:
>
> (gdb) p a->enabled_p
> (gdb) p b->enabled_p
No symbol "a" in current context.
No symbol "b" in current context.
Emacs crashed and I hooked up with gdb after the crash. Then issued
continue and closed the dialog box. Then produced the backtrace. That's
where it is sitting now.
Anything else I am missing?
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-13 20:04 ` Christoph Scholtes
@ 2011-11-13 20:21 ` Eli Zaretskii
2011-11-13 20:42 ` Juanma Barranquero
2011-11-13 20:55 ` Christoph Scholtes
0 siblings, 2 replies; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-13 20:21 UTC (permalink / raw
To: Christoph Scholtes; +Cc: 10035
> Date: Sun, 13 Nov 2011 13:04:59 -0700
> From: Christoph Scholtes <cschol2112@googlemail.com>
> CC: 10035@debbugs.gnu.org
>
> On 11/13/2011 10:18 AM, Eli Zaretskii wrote:
>
> > The beast entered the trap. Please show what this produces:
> >
> > (gdb) p a->enabled_p
> > (gdb) p b->enabled_p
>
> No symbol "a" in current context.
> No symbol "b" in current context.
Sorry, I meant to type this in frame #2, where a and be are arguments
of the function row_equal_p:
> #2 0x010ee0d5 in row_equal_p (a=0x10dc2158, b=0x10d97158, mouse_face_p=1)
> at dispnew.c:398
Btw, what's up with the messed up line numbers in dispnew.c? Observe:
#2 0x010ee0d5 in row_equal_p (a=0x10dc2158, b=0x10d97158, mouse_face_p=1)
at dispnew.c:398
#3 0x010f490f in scrolling_window (w=0x10d96000, header_line_p=0)
at dispnew.c:398
#4 0x010f30fe in update_window (w=0x10d96000, force_p=1) at dispnew.c:398
#5 0x010f27fe in update_window_tree (w=0x10d96000, force_p=1)
at dispnew.c:398
#6 0x010f27d7 in update_window_tree (w=0x10d72200, force_p=1)
at dispnew.c:398
#7 0x010f254d in update_frame (f=0x3a24e00, force_p=1, inhibit_hairy_id_p=0)
at dispnew.c:398
We are obviously very smart if we succeeded to squeeze all these
functions into a single source line ;-)
What version of GCC is that?
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-13 20:21 ` Eli Zaretskii
@ 2011-11-13 20:42 ` Juanma Barranquero
2011-11-14 3:56 ` Eli Zaretskii
2011-11-13 20:55 ` Christoph Scholtes
1 sibling, 1 reply; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-13 20:42 UTC (permalink / raw
To: Eli Zaretskii; +Cc: Christoph Scholtes, 10035
I'm hitting which I think is the same bug:
Breakpoint 1, w32_abort () at w32fns.c:7190
7190 button = MessageBox (NULL,(gdb) bt
#0 w32_abort () at w32fns.c:7190
#1 0x010ee13d in row_equal_p (a=0x508a158, b=0x4fcd158,
mouse_face_p=1) at dispnew.c:1294
#2 0x010f498b in scrolling_window (w=0x3974800, header_line_p=0) at
dispnew.c:4305
#3 0x010f317a in update_window (w=0x3974800, force_p=1) at dispnew.c:3605
#4 0x010f287a in update_window_tree (w=0x3974800, force_p=1) at dispnew.c:3349
#5 0x010f2853 in update_window_tree (w=0x3974c00, force_p=1) at dispnew.c:3347
#6 0x010f25c9 in update_frame (f=0x3a2ce00, force_p=1,
inhibit_hairy_id_p=0) at dispnew.c:3276
#7 0x011fec83 in redisplay_internal () at xdisp.c:13175
#8 0x011ffb84 in redisplay_preserve_echo_area (from_where=12) at xdisp.c:13389
#9 0x0104c131 in wait_reading_process_output (time_limit=300,
microsecs=0, read_kbd=-1, do_display=1, wait_for_cell=54720538,
wait_proc=0x0,
just_wait_proc=0) at process.c:4822
#10 0x010f99d9 in sit_for (timeout=1200, reading=1, do_display=1) at
dispnew.c:5994
#11 0x01009253 in read_char (commandflag=1, nmaps=4, maps=0x88f970,
prev_event=54720538, used_mouse_menu=0x88fa48, end_time=0x0) at
keyboard.c:2687
#12 0x0101c2bd in read_key_sequence (keybuf=0x88fbd0, bufsize=30,
prompt=54720538, dont_downcase_last=0, can_return_switch_frame=1,
fix_current_buffer=1) at keyboard.c:9290
#13 0x01005c70 in command_loop_1 () at keyboard.c:1447
#14 0x01032e63 in internal_condition_case (bfun=0x1005678
<command_loop_1>, handlers=54778266, hfun=0x1004e97 <cmd_error>) at
eval.c:1499
#15 0x010052d4 in command_loop_2 (ignore=54720538) at keyboard.c:1158
#16 0x01032886 in internal_catch (tag=54776290, func=0x10052b0
<command_loop_2>, arg=54720538) at eval.c:1256
#17 0x01005290 in command_loop () at keyboard.c:1137
#18 0x0100486c in recursive_edit_1 () at keyboard.c:757
#19 0x01004b87 in Frecursive_edit () at keyboard.c:821
#20 0x010028b5 in main (argc=1, argv=0xa72c68) at emacs.c:1707
> Sorry, I meant to type this in frame #2, where a and be are arguments
> of the function row_equal_p:
(gdb) frame 1
#1 0x010ee13d in row_equal_p (a=0x508a158, b=0x4fcd158,
mouse_face_p=1) at dispnew.c:1294
1294 xassert (verify_row_hash (a));
(gdb) p a->enabled_p
$3 = 1
(gdb) p b->enabled_p
$4 = 1
(gdb)
I can reproduce it at will, but not from "emacs -Q". It happens for me
when trying to run slime + sbcl.
Output of "bt full" follows.
Juanma
(gdb) bt full
#0 w32_abort () at w32fns.c:7190
button = 0
#1 0x010ee13d in row_equal_p (a=0x508a158, b=0x4fcd158,
mouse_face_p=1) at dispnew.c:1294
No locals.
#2 0x010f498b in scrolling_window (w=0x3974800, header_line_p=0) at
dispnew.c:4305
d = 0x4fcd158
c = 0x508a158
desired_matrix = 0x5330380
current_matrix = 0x52ffc00
yb = 465
i = 2
j = 84461132
first_old = 83686988
first_new = 84461132
last_old = 124
last_new = 87995232
nruns = 83686988
run_idx = 21981248
n = 17764536
entry = 0x4fcf64c
rif = 0x14f6840
#3 0x010f317a in update_window (w=0x3974800, force_p=1) at dispnew.c:3605
rc = -1
end = 0x4fcf64c
mode_line_row = 0x4fcf64c
header_line_row = 0x0
changed_p = 0
mouse_face_overwritten_p = 0
row = 0x4fcd000
yb = 465
desired_matrix = 0x5330380
paused_p = 0
rif = 0x14f6840
#4 0x010f287a in update_window_tree (w=0x3974800, force_p=1) at dispnew.c:3349
paused_p = 0
#5 0x010f2853 in update_window_tree (w=0x3974c00, force_p=1) at dispnew.c:3347
paused_p = 0
#6 0x010f25c9 in update_frame (f=0x3a2ce00, force_p=1,
inhibit_hairy_id_p=0) at dispnew.c:3276
paused_p = 0
root_window = 0x3974c00
#7 0x011fec83 in redisplay_internal () at xdisp.c:13175
f = 0x3a2ce00
tail = 59282974
frame = 61001221
w = 0x3974800
sw = 0x3974800
fr = 0x3a2ce00
pending = 0
must_finish = 1
tlbufpos = {
charpos = 342,
bytepos = 342
}
tlendpos = {
charpos = 0,
bytepos = 0
}
number_of_visible_frames = 1
count = 3
count1 = 5
sf = 0x3a2ce00
polling_stopped_here = 1
old_frame = 61001221
consider_all_windows_p = 1
#8 0x011ffb84 in redisplay_preserve_echo_area (from_where=12) at xdisp.c:13389
No locals.
#9 0x0104c131 in wait_reading_process_output (time_limit=300,
microsecs=0, read_kbd=-1, do_display=1, wait_for_cell=54720538,
wait_proc=0x0,
just_wait_proc=0) at process.c:4822
nread = 261
timeout_reduced_for_timers = 1
channel = 3
nfds = 1
Available = {
bits = {0, 0}
}
Writeok = {
bits = {0, 0}
}
check_write = 0
check_delay = 1
no_avail = 0
xerrno = 22
proc = 60705797
timeout = {
tv_sec = 0,
tv_usec = 179000
}
end_time = {
tv_sec = 1321216849,
tv_usec = 259000
}
wait_channel = -1
got_some_input = 1
count = 2
#10 0x010f99d9 in sit_for (timeout=1200, reading=1, do_display=1) at
dispnew.c:5994
sec = 300
usec = 0
#11 0x01009253 in read_char (commandflag=1, nmaps=4, maps=0x88f970,
prev_event=54720538, used_mouse_menu=0x88fa48, end_time=0x0) at
keyboard.c:2687
tem0 = 8976680
timeout = 300
delay_level = 4
buffer_size = 2
c = 54720538
jmpcount = 2
local_getcjmp = {8976680, 60417664, 8976760, 60417672,
8976300, 16812939, 8978372, 0, 101, 0, 0, 60417664, 8976568, 16939745,
56133544,
56297856}
save_jump = {0 <repeats 16 times>}
key_already_recorded = 0
tem = 82319702
save = 342
previous_echo_area_message = 54720538
also_record = 54720538
reread = 0
gcpro1 = {
next = 0x1262215,
var = 0x53ae98e,
nvars = 54764386
}
gcpro2 = {
next = 0x343a362,
var = 0x10f,
nvars = 8976408
}
polling_stopped_here = 0
orig_kboard = 0x38ea980
#12 0x0101c2bd in read_key_sequence (keybuf=0x88fbd0, bufsize=30,
prompt=54720538, dont_downcase_last=0, can_return_switch_frame=1,
fix_current_buffer=1) at keyboard.c:9290
interrupted_kboard = 0x38ea980
interrupted_frame = 0x3a2ce00
key = 83529221
used_mouse_menu = 0
echo_local_start = 0
last_real_key_start = 0
keys_local_start = 0
local_first_binding = 0
from_string = 54720538
count = 2
t = 0
echo_start = 0
keys_start = 0
nmaps = 4
nmaps_allocated = 4
defs = 0x88f950
submaps = 0x88f970
orig_local_map = 86338862
orig_keymap = 54720538
localized_local_map = 0
first_binding = 0
first_unbound = 31
mock_input = 0
fkey = {
parent = 59285670,
map = 59285670,
start = 0,
end = 0
}
keytran = {
parent = 54709958,
map = 54709958,
start = 0,
end = 0
}
indec = {
parent = 59285678,
map = 59285678,
start = 0,
end = 0
}
shift_translated = 0
delayed_switch_frame = 54720538
original_uppercase = 54825298
original_uppercase_position = -1
dummyflag = 0
starting_buffer = 0x4fa8e00
fake_prefixed_keys = 54720538
outer_gcpro1 = {
next = 0x162f5e4,
var = 0x342f81a,
nvars = 83529216
}
#13 0x01005c70 in command_loop_1 () at keyboard.c:1447
cmd = 54776506
keybuf = {536871392, 196, 8977388, 8977120, 0, 0, 54720538,
54825802, 54720538, 0, 0, 2130567168, 0, 0, 8977464, 17009385,
54825802,
54720538, 54698478, 54720538, 0, 54720538, 0, 2130567168, 0,
0, 8977512, 16992044, 2, 54698478}
i = 1
prev_modiff = 16
prev_buffer = 0x4fa8400
already_adjusted = 0
#14 0x01032e63 in internal_condition_case (bfun=0x1005678
<command_loop_1>, handlers=54778266, hfun=0x1004e97 <cmd_error>) at
eval.c:1499
val = 54698478
c = {
tag = 54720538,
val = 54720538,
next = 0x88fd74,
gcpro = 0x0,
jmp = {8977720, 2130567168, 0, 0, 8977548, 16985616,
8978372, 0, 11291440, 8977684, 1968346385, 11291440, 1, 1973563960, 0,
3082},
backlist = 0x0,
handlerlist = 0x0,
lisp_eval_depth = 0,
pdlcount = 2,
poll_suppress_count = 0,
interrupt_input_blocked = 0,
byte_stack = 0x0
}
h = {
handler = 54778266,
var = 54720538,
chosen_clause = 1996562125,
tag = 0x88fcc0,
next = 0x0
}
#15 0x010052d4 in command_loop_2 (ignore=54720538) at keyboard.c:1158
val = 2130567168
#16 0x01032886 in internal_catch (tag=54776290, func=0x10052b0
<command_loop_2>, arg=54720538) at eval.c:1256
c = {
tag = 54776290,
val = 54720538,
next = 0x0,
gcpro = 0x0,
jmp = {8977896, 2130567168, 0, 0, 8977756, 16984183,
8978372, 0, 54720538, 54759424, 1973565248, 1973565311, 2130567168,
23404840,
54759424, 23404840},
backlist = 0x0,
handlerlist = 0x0,
lisp_eval_depth = 0,
pdlcount = 2,
poll_suppress_count = 0,
interrupt_input_blocked = 0,
byte_stack = 0x0
}
#17 0x01005290 in command_loop () at keyboard.c:1137
No locals.
#18 0x0100486c in recursive_edit_1 () at keyboard.c:757
count = 1
val = 1972937794
#19 0x01004b87 in Frecursive_edit () at keyboard.c:821
count = 0
buffer = 54720538
#20 0x010028b5 in main (argc=1, argv=0xa72c68) at emacs.c:1707
dummy = 8978372
stack_bottom_variable = 0 '\000'
do_initial_setlocale = 1
skip_args = 0
no_loadup = 0
junk = 0x0
dname_arg = 0x0
ch_to_dir = 0x0
(gdb)
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-13 20:21 ` Eli Zaretskii
2011-11-13 20:42 ` Juanma Barranquero
@ 2011-11-13 20:55 ` Christoph Scholtes
2011-11-14 3:55 ` Eli Zaretskii
1 sibling, 1 reply; 36+ messages in thread
From: Christoph Scholtes @ 2011-11-13 20:55 UTC (permalink / raw
To: Eli Zaretskii; +Cc: 10035
On 11/13/2011 1:21 PM, Eli Zaretskii wrote:
> Sorry, I meant to type this in frame #2, where a and be are arguments
> of the function row_equal_p:
>
>> #2 0x010ee0d5 in row_equal_p (a=0x10dc2158, b=0x10d97158, mouse_face_p=1)
>> at dispnew.c:398
(gdb) p a->enabled_p
$2 = 1
(gdb) p b->enabled_p
$3 = 1
> Btw, what's up with the messed up line numbers in dispnew.c? Observe:
>
> #2 0x010ee0d5 in row_equal_p (a=0x10dc2158, b=0x10d97158, mouse_face_p=1)
> at dispnew.c:398
> #3 0x010f490f in scrolling_window (w=0x10d96000, header_line_p=0)
> at dispnew.c:398
> #4 0x010f30fe in update_window (w=0x10d96000, force_p=1) at dispnew.c:398
> #5 0x010f27fe in update_window_tree (w=0x10d96000, force_p=1)
> at dispnew.c:398
> #6 0x010f27d7 in update_window_tree (w=0x10d72200, force_p=1)
> at dispnew.c:398
> #7 0x010f254d in update_frame (f=0x3a24e00, force_p=1, inhibit_hairy_id_p=0)
> at dispnew.c:398
>
> We are obviously very smart if we succeeded to squeeze all these
> functions into a single source line ;-)
Interesting. I didn't notice that.
> What version of GCC is that?
tdm-gcc 4.6.1
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-13 20:55 ` Christoph Scholtes
@ 2011-11-14 3:55 ` Eli Zaretskii
0 siblings, 0 replies; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-14 3:55 UTC (permalink / raw
To: Christoph Scholtes; +Cc: 10035
> Date: Sun, 13 Nov 2011 13:55:30 -0700
> From: Christoph Scholtes <cschol2112@googlemail.com>
> CC: 10035@debbugs.gnu.org
>
> On 11/13/2011 1:21 PM, Eli Zaretskii wrote:
>
> > Sorry, I meant to type this in frame #2, where a and be are arguments
> > of the function row_equal_p:
> >
> >> #2 0x010ee0d5 in row_equal_p (a=0x10dc2158, b=0x10d97158, mouse_face_p=1)
> >> at dispnew.c:398
>
> (gdb) p a->enabled_p
> $2 = 1
> (gdb) p b->enabled_p
> $3 = 1
Good. Now let's see what are these two glyph rows:
(gdb) prowx a
(gdb) prowx b
(gdb) pgrowx a
(gdb) pgrowx b
The last two commands will display all the display elements
(characters, references to images and display strings, etc.) in each
glyph row. Assuming it is not a total garbage, please try to describe
what happened on the screen around these glyph rows (== screen lines).
A bit of a background: scrolling_window, the function that called
row_equal_p, is comparing the previous and the new contents of a
window, trying to figure out which screen lines need to be redrawn and
which can be reused from the previous redisplay cycle. row_equal_p is
the comparison function. So one of the glyph rows should be from the
window before some update, the other glyph row is from the new
contents of the window. They could be identical or they could be
different.
> > #2 0x010ee0d5 in row_equal_p (a=0x10dc2158, b=0x10d97158, mouse_face_p=1)
> > at dispnew.c:398
> > #3 0x010f490f in scrolling_window (w=0x10d96000, header_line_p=0)
> > at dispnew.c:398
> > #4 0x010f30fe in update_window (w=0x10d96000, force_p=1) at dispnew.c:398
> > #5 0x010f27fe in update_window_tree (w=0x10d96000, force_p=1)
> > at dispnew.c:398
> > #6 0x010f27d7 in update_window_tree (w=0x10d72200, force_p=1)
> > at dispnew.c:398
> > #7 0x010f254d in update_frame (f=0x3a24e00, force_p=1, inhibit_hairy_id_p=0)
> > at dispnew.c:398
> >
> > We are obviously very smart if we succeeded to squeeze all these
> > functions into a single source line ;-)
>
> Interesting. I didn't notice that.
>
> > What version of GCC is that?
>
> tdm-gcc 4.6.1
If this is an unoptimized build, this shouldn't happen, and perhaps
it's a compiler bug. Or maybe GCC 4.6 does some optimizations even
with -O0.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-13 20:42 ` Juanma Barranquero
@ 2011-11-14 3:56 ` Eli Zaretskii
2011-11-14 8:57 ` Juanma Barranquero
0 siblings, 1 reply; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-14 3:56 UTC (permalink / raw
To: Juanma Barranquero; +Cc: cschol2112, 10035
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Sun, 13 Nov 2011 21:42:58 +0100
> Cc: Christoph Scholtes <cschol2112@googlemail.com>, 10035@debbugs.gnu.org
>
> I'm hitting which I think is the same bug:
>
> Breakpoint 1, w32_abort () at w32fns.c:7190
> 7190 button = MessageBox (NULL,(gdb) bt
> #0 w32_abort () at w32fns.c:7190
> #1 0x010ee13d in row_equal_p (a=0x508a158, b=0x4fcd158,
> mouse_face_p=1) at dispnew.c:1294
> #2 0x010f498b in scrolling_window (w=0x3974800, header_line_p=0) at
> dispnew.c:4305
Please show the info I asked Christoph to provide.
It would help if you could provide a minimal recipe starting with
"emacs -Q", even if that involves installing add-on packages.
Thanks.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 3:56 ` Eli Zaretskii
@ 2011-11-14 8:57 ` Juanma Barranquero
2011-11-14 11:23 ` Eli Zaretskii
0 siblings, 1 reply; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-14 8:57 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
[-- Attachment #1: Type: text/plain, Size: 5297 bytes --]
On Mon, Nov 14, 2011 at 04:56, Eli Zaretskii <eliz@gnu.org> wrote:
> Please show the info I asked Christoph to provide.
(gdb) p a->enabled_p
$1 = 1
(gdb) p b->enabled_p
$2 = 1
(gdb) prowx a
y=75 x=0 pwid=320 a+d=12+3=15 phys=12+3=15 vis=15 L=0 T=40 R=0
start=419 end=459 ENA DISP
(gdb) prowx b
y=75 x=0 pwid=320 a+d=12+3=15 phys=12+3=15 vis=15 L=0 T=40 R=0
start=419 end=459 ENA DISP
(gdb) pgrowx a
TEXT: 40 glyphs
0 0: CHAR[ ] pos=419 blev=0,btyp=L w=8 a+d=12+3 MB
1 8: CHAR[ ] pos=420 blev=0,btyp=L w=8 a+d=12+3 MB
2 16: CHAR[ ] pos=421 blev=0,btyp=L w=8 a+d=12+3 MB
3 24: CHAR[ ] pos=422 blev=0,btyp=L w=8 a+d=12+3 MB
4 32: CHAR[ ] pos=423 blev=0,btyp=L w=8 a+d=12+3 MB
5 40: CHAR[=] pos=424 blev=0,btyp=L w=8 a+d=12+3 MB
6 48: CHAR[=] pos=425 blev=0,btyp=L w=8 a+d=12+3 MB
7 56: CHAR[=] pos=426 blev=0,btyp=L w=8 a+d=12+3 MB
8 64: CHAR[>] pos=427 blev=0,btyp=L w=8 a+d=12+3 MB
9 72: CHAR[ ] pos=428 blev=0,btyp=L w=8 a+d=12+3 MB
10 80: CHAR[r] pos=429 blev=0,btyp=L w=8 a+d=12+3 MB
11 88: CHAR[e] pos=430 blev=0,btyp=L w=8 a+d=12+3 MB
12 96: CHAR[t] pos=431 blev=0,btyp=L w=8 a+d=12+3 MB
13 104: CHAR[u] pos=432 blev=0,btyp=L w=8 a+d=12+3 MB
14 112: CHAR[r] pos=433 blev=0,btyp=L w=8 a+d=12+3 MB
15 120: CHAR[n] pos=434 blev=0,btyp=L w=8 a+d=12+3 MB
16 128: CHAR[e] pos=435 blev=0,btyp=L w=8 a+d=12+3 MB
17 136: CHAR[d] pos=436 blev=0,btyp=L w=8 a+d=12+3 MB
18 144: CHAR[ ] pos=437 blev=0,btyp=L w=8 a+d=12+3 MB
19 152: CHAR[#] pos=438 blev=0,btyp=L w=8 a+d=12+3 MB
20 160: CHAR[X] pos=439 blev=0,btyp=L w=8 a+d=12+3 MB
21 168: CHAR[0] pos=440 blev=0,btyp=L w=8 a+d=12+3 MB
22 176: CHAR[0] pos=441 blev=0,btyp=L w=8 a+d=12+3 MB
23 184: CHAR[0] pos=442 blev=0,btyp=L w=8 a+d=12+3 MB
24 192: CHAR[0] pos=443 blev=0,btyp=L w=8 a+d=12+3 MB
25 200: CHAR[0] pos=444 blev=0,btyp=L w=8 a+d=12+3 MB
26 208: CHAR[0] pos=445 blev=0,btyp=L w=8 a+d=12+3 MB
27 216: CHAR[0] pos=446 blev=0,btyp=L w=8 a+d=12+3 MB
28 224: CHAR[0] pos=447 blev=0,btyp=L w=8 a+d=12+3 MB
29 232: CHAR[0] pos=448 blev=0,btyp=L w=8 a+d=12+3 MB
30 240: CHAR[0] pos=449 blev=0,btyp=L w=8 a+d=12+3 MB
31 248: CHAR[0] pos=450 blev=0,btyp=L w=8 a+d=12+3 MB
32 256: CHAR[0] pos=451 blev=0,btyp=L w=8 a+d=12+3 MB
33 264: CHAR[0] pos=452 blev=0,btyp=L w=8 a+d=12+3 MB
34 272: CHAR[0] pos=453 blev=0,btyp=L w=8 a+d=12+3 MB
35 280: CHAR[0] pos=454 blev=0,btyp=L w=8 a+d=12+3 MB
36 288: CHAR[0] pos=455 blev=0,btyp=L w=8 a+d=12+3 MB
37 296: CHAR[,] pos=456 blev=0,btyp=L w=8 a+d=12+3 MB
38 304: CHAR[ ] pos=457 blev=0,btyp=L w=8 a+d=12+3 face=38 MB
39 312: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=12+3 MB
(gdb) pgrowx b
TEXT: 40 glyphs
0 0: CHAR[ ] pos=419 blev=0,btyp=L w=8 a+d=12+3 MB
1 8: CHAR[ ] pos=420 blev=0,btyp=L w=8 a+d=12+3 MB
2 16: CHAR[ ] pos=421 blev=0,btyp=L w=8 a+d=12+3 MB
3 24: CHAR[ ] pos=422 blev=0,btyp=L w=8 a+d=12+3 MB
4 32: CHAR[ ] pos=423 blev=0,btyp=L w=8 a+d=12+3 MB
5 40: CHAR[=] pos=424 blev=0,btyp=L w=8 a+d=12+3 MB
6 48: CHAR[=] pos=425 blev=0,btyp=L w=8 a+d=12+3 MB
7 56: CHAR[=] pos=426 blev=0,btyp=L w=8 a+d=12+3 MB
8 64: CHAR[>] pos=427 blev=0,btyp=L w=8 a+d=12+3 MB
9 72: CHAR[ ] pos=428 blev=0,btyp=L w=8 a+d=12+3 MB
10 80: CHAR[r] pos=429 blev=0,btyp=L w=8 a+d=12+3 MB
11 88: CHAR[e] pos=430 blev=0,btyp=L w=8 a+d=12+3 MB
12 96: CHAR[t] pos=431 blev=0,btyp=L w=8 a+d=12+3 MB
13 104: CHAR[u] pos=432 blev=0,btyp=L w=8 a+d=12+3 MB
14 112: CHAR[r] pos=433 blev=0,btyp=L w=8 a+d=12+3 MB
15 120: CHAR[n] pos=434 blev=0,btyp=L w=8 a+d=12+3 MB
16 128: CHAR[e] pos=435 blev=0,btyp=L w=8 a+d=12+3 MB
17 136: CHAR[d] pos=436 blev=0,btyp=L w=8 a+d=12+3 MB
18 144: CHAR[ ] pos=437 blev=0,btyp=L w=8 a+d=12+3 MB
19 152: CHAR[#] pos=438 blev=0,btyp=L w=8 a+d=12+3 MB
20 160: CHAR[X] pos=439 blev=0,btyp=L w=8 a+d=12+3 MB
21 168: CHAR[0] pos=440 blev=0,btyp=L w=8 a+d=12+3 MB
22 176: CHAR[0] pos=441 blev=0,btyp=L w=8 a+d=12+3 MB
23 184: CHAR[0] pos=442 blev=0,btyp=L w=8 a+d=12+3 MB
24 192: CHAR[0] pos=443 blev=0,btyp=L w=8 a+d=12+3 MB
25 200: CHAR[0] pos=444 blev=0,btyp=L w=8 a+d=12+3 MB
26 208: CHAR[0] pos=445 blev=0,btyp=L w=8 a+d=12+3 MB
27 216: CHAR[0] pos=446 blev=0,btyp=L w=8 a+d=12+3 MB
28 224: CHAR[0] pos=447 blev=0,btyp=L w=8 a+d=12+3 MB
29 232: CHAR[0] pos=448 blev=0,btyp=L w=8 a+d=12+3 MB
30 240: CHAR[0] pos=449 blev=0,btyp=L w=8 a+d=12+3 MB
31 248: CHAR[0] pos=450 blev=0,btyp=L w=8 a+d=12+3 MB
32 256: CHAR[0] pos=451 blev=0,btyp=L w=8 a+d=12+3 MB
33 264: CHAR[0] pos=452 blev=0,btyp=L w=8 a+d=12+3 MB
34 272: CHAR[0] pos=453 blev=0,btyp=L w=8 a+d=12+3 MB
35 280: CHAR[0] pos=454 blev=0,btyp=L w=8 a+d=12+3 MB
36 288: CHAR[0] pos=455 blev=0,btyp=L w=8 a+d=12+3 MB
37 296: CHAR[,] pos=456 blev=0,btyp=L w=8 a+d=12+3 MB
38 304: CHAR[ ] pos=457 blev=0,btyp=L w=8 a+d=12+3 face=38 MB
39 312: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=12+3 MB
(gdb)
I'm attaching a printscreen of the Emacs session.
> It would help if you could provide a minimal recipe starting with
> "emacs -Q", even if that involves installing add-on packages.
I'll try, but I suspect it won't be easy.
Juanma
[-- Attachment #2: bug.png --]
[-- Type: image/png, Size: 88280 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 8:57 ` Juanma Barranquero
@ 2011-11-14 11:23 ` Eli Zaretskii
2011-11-14 11:44 ` Juanma Barranquero
0 siblings, 1 reply; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-14 11:23 UTC (permalink / raw
To: Juanma Barranquero; +Cc: cschol2112, 10035
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Mon, 14 Nov 2011 09:57:17 +0100
> Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
>
>
> [1:text/plain Hide]
>
> On Mon, Nov 14, 2011 at 04:56, Eli Zaretskii <eliz@gnu.org> wrote:
>
> > Please show the info I asked Christoph to provide.
>
> (gdb) p a->enabled_p
> $1 = 1
> (gdb) p b->enabled_p
> $2 = 1
> (gdb) prowx a
> y=75 x=0 pwid=320 a+d=12+3=15 phys=12+3=15 vis=15 L=0 T=40 R=0
> start=419 end=459 ENA DISP
> (gdb) prowx b
> y=75 x=0 pwid=320 a+d=12+3=15 phys=12+3=15 vis=15 L=0 T=40 R=0
> start=419 end=459 ENA DISP
> (gdb) pgrowx a
> TEXT: 40 glyphs
Thanks. The 2 glyph rows are identical, AFAICS. The last (I hope ;-)
piece of the puzzle is this:
(gdb) p a->hash
(gdb) p b->hash
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 11:23 ` Eli Zaretskii
@ 2011-11-14 11:44 ` Juanma Barranquero
2011-11-14 13:35 ` Eli Zaretskii
0 siblings, 1 reply; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-14 11:44 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
On Mon, Nov 14, 2011 at 12:23, Eli Zaretskii <eliz@gnu.org> wrote:
> Thanks. The 2 glyph rows are identical, AFAICS. The last (I hope ;-)
> piece of the puzzle is this:
>
> (gdb) p a->hash
> (gdb) p b->hash
(gdb) p a->hash
$3 = 202770841
(gdb) p b->hash
$4 = 202770841
(gdb) xtype
Lisp_String
(gdb) xstring
$5 = (struct Lisp_String *) 0xc160998
Cannot access memory at address 0xc1609a4
Juanma
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 11:44 ` Juanma Barranquero
@ 2011-11-14 13:35 ` Eli Zaretskii
2011-11-14 14:29 ` Juanma Barranquero
0 siblings, 1 reply; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-14 13:35 UTC (permalink / raw
To: Juanma Barranquero; +Cc: cschol2112, 10035
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Mon, 14 Nov 2011 12:44:04 +0100
> Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
>
> (gdb) p a->hash
> $3 = 202770841
> (gdb) p b->hash
> $4 = 202770841
Hmm... identical, but both wrong.
Do you get these same values every time you reproduce the assertion
violation, or are the hashes different each time?
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 13:35 ` Eli Zaretskii
@ 2011-11-14 14:29 ` Juanma Barranquero
2011-11-14 15:46 ` Juanma Barranquero
2011-11-14 17:08 ` Eli Zaretskii
0 siblings, 2 replies; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-14 14:29 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
On Mon, Nov 14, 2011 at 14:35, Eli Zaretskii <eliz@gnu.org> wrote:
> Do you get these same values every time you reproduce the assertion
> violation, or are the hashes different each time?
No, I get the same values every time.
Juanma
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 14:29 ` Juanma Barranquero
@ 2011-11-14 15:46 ` Juanma Barranquero
2011-11-14 17:19 ` Eli Zaretskii
2011-11-14 17:08 ` Eli Zaretskii
1 sibling, 1 reply; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-14 15:46 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
Another example, with a different recipe. I get this one by doing
emacs w32proc.c ;; it has changes, so the diff is not empty
C-x v =
and, in the diff buffer,
C-x h
but not from -Q, alas.
Breakpoint 1, w32_abort () at w32fns.c:7190
7190 button = MessageBox (NULL,
(gdb) bt
#0 w32_abort () at w32fns.c:7190
#1 0x010ee13d in row_equal_p (a=0x542a6b8, b=0x53776b8,
mouse_face_p=1) at dispnew.c:1294
#2 0x010f498b in scrolling_window (w=0x39e1e00, header_line_p=0) at
dispnew.c:4305
#3 0x010f317a in update_window (w=0x39e1e00, force_p=1) at dispnew.c:3605
#4 0x010f287a in update_window_tree (w=0x39e1e00, force_p=1) at dispnew.c:3349
#5 0x010f2853 in update_window_tree (w=0x39af200, force_p=1) at dispnew.c:3347
#6 0x010f25c9 in update_frame (f=0x3a2de00, force_p=1,
inhibit_hairy_id_p=0) at dispnew.c:3276
#7 0x011ff1ea in redisplay_internal () at xdisp.c:13238
#8 0x011ffb84 in redisplay_preserve_echo_area (from_where=8) at xdisp.c:13389
#9 0x010205b7 in detect_input_pending_run_timers (do_display=1) at
keyboard.c:10474
#10 0x0104bd45 in wait_reading_process_output (time_limit=300,
microsecs=0, read_kbd=-1, do_display=1, wait_for_cell=54720538,
wait_proc=0x0,
just_wait_proc=0) at process.c:4701
#11 0x010f99d9 in sit_for (timeout=1200, reading=1, do_display=1) at
dispnew.c:5994
#12 0x01009253 in read_char (commandflag=1, nmaps=6, maps=0x88f960,
prev_event=54720538, used_mouse_menu=0x88fa48, end_time=0x0) at
keyboard.c:2687
#13 0x0101c2bd in read_key_sequence (keybuf=0x88fbd0, bufsize=30,
prompt=54720538, dont_downcase_last=0, can_return_switch_frame=1,
fix_current_buffer=1) at keyboard.c:9290
#14 0x01005c70 in command_loop_1 () at keyboard.c:1447
#15 0x01032e63 in internal_condition_case (bfun=0x1005678
<command_loop_1>, handlers=54778266, hfun=0x1004e97 <cmd_error>) at
eval.c:1499
#16 0x010052d4 in command_loop_2 (ignore=54720538) at keyboard.c:1158
#17 0x01032886 in internal_catch (tag=54776290, func=0x10052b0
<command_loop_2>, arg=54720538) at eval.c:1256
#18 0x01005290 in command_loop () at keyboard.c:1137
#19 0x0100486c in recursive_edit_1 () at keyboard.c:757
#20 0x01004b87 in Frecursive_edit () at keyboard.c:821
#21 0x010028b5 in main (argc=1, argv=0xc32c68) at emacs.c:1707
(gdb) frame 1
#1 0x010ee13d in row_equal_p (a=0x542a6b8, b=0x53776b8,
mouse_face_p=1) at dispnew.c:1294
1294 xassert (verify_row_hash (a));
(gdb) p a->enabled_p
$1 = 1
(gdb) p b->enabled_p
$2 = 1
(gdb) prowx a
y=150 x=0 pwid=16 a+d=12+3=15 phys=12+3=15 vis=15 L=0 T=2 R=0
start=415 end=417 ENA DISP
(gdb) prowx b
y=150 x=0 pwid=16 a+d=12+3=15 phys=12+3=15 vis=15 L=0 T=2 R=0
start=415 end=417 ENA DISP
(gdb) pgrowx a
TEXT: 2 glyphs
0 0: CHAR[ ] pos=415 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
1 8: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=12+3 face=43 MB
(gdb) pgrowx b
TEXT: 2 glyphs
0 0: CHAR[ ] pos=415 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
1 8: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=12+3 face=43 MB
(gdb) p a->hash
$3 = 1275
(gdb) p b->hash
$4 = 1275
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 14:29 ` Juanma Barranquero
2011-11-14 15:46 ` Juanma Barranquero
@ 2011-11-14 17:08 ` Eli Zaretskii
2011-11-14 17:20 ` Juanma Barranquero
2011-11-14 17:41 ` Juanma Barranquero
1 sibling, 2 replies; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-14 17:08 UTC (permalink / raw
To: Juanma Barranquero; +Cc: cschol2112, 10035
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Mon, 14 Nov 2011 15:29:00 +0100
> Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
>
> On Mon, Nov 14, 2011 at 14:35, Eli Zaretskii <eliz@gnu.org> wrote:
>
> > Do you get these same values every time you reproduce the assertion
> > violation, or are the hashes different each time?
>
> No, I get the same values every time.
Aha. And what is that red block the size of a cursor (but evidently
not a cursor) at the end of the line which causes the abort? Where
did that come from -- a buffer position with a special face?
I'm past the line where debugging by asking questions stops being
efficient. A reproducible test case would help tremendously, assuming
it is feasible for you to come up with one. Or maybe I will see the
light and either find the problem by code inspection or find some
clever way to catch it and yet simple enough to ask you to do it.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 15:46 ` Juanma Barranquero
@ 2011-11-14 17:19 ` Eli Zaretskii
0 siblings, 0 replies; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-14 17:19 UTC (permalink / raw
To: Juanma Barranquero; +Cc: cschol2112, 10035
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Mon, 14 Nov 2011 16:46:29 +0100
> Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
>
> (gdb) pgrowx a
> TEXT: 2 glyphs
> 0 0: CHAR[ ] pos=415 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
> 1 8: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=12+3 face=43 MB
> (gdb) pgrowx b
> TEXT: 2 glyphs
> 0 0: CHAR[ ] pos=415 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
> 1 8: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=12+3 face=43 MB
Can you try to find out which faces are those (face IDs 39 and 43)?
Also, what was face 38 in the previous crash?
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 17:08 ` Eli Zaretskii
@ 2011-11-14 17:20 ` Juanma Barranquero
2011-11-14 17:32 ` Juanma Barranquero
2011-11-14 17:41 ` Juanma Barranquero
1 sibling, 1 reply; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-14 17:20 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
On Mon, Nov 14, 2011 at 18:08, Eli Zaretskii <eliz@gnu.org> wrote:
> Aha. And what is that red block the size of a cursor (but evidently
> not a cursor) at the end of the line which causes the abort? Where
> did that come from -- a buffer position with a special face?
I think another cursor, because I only set red at this:
(setq cua-normal-cursor-color '(box . "black")
cua-overwrite-cursor-color '(box . "red")
cua-read-only-cursor-color '(hollow . "red")))
and a few places in the modeline.
> A reproducible test case would help tremendously, assuming
> it is feasible for you to come up with one.
I'm trying, but the way my .emacs is structured, bisecting is hard.
I'll eventually get a recipe, but it will take a while.
Juanma
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 17:20 ` Juanma Barranquero
@ 2011-11-14 17:32 ` Juanma Barranquero
0 siblings, 0 replies; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-14 17:32 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
> I think another cursor, because I only set red at this:
No, I think is trailing whitespace.
I get the crash in the diffs when there's trailing whitespace, too,
and I just got the crash by inserting a trailing whitespace...
Juanma
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 17:08 ` Eli Zaretskii
2011-11-14 17:20 ` Juanma Barranquero
@ 2011-11-14 17:41 ` Juanma Barranquero
2011-11-14 19:43 ` Eli Zaretskii
1 sibling, 1 reply; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-14 17:41 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
On Mon, Nov 14, 2011 at 18:08, Eli Zaretskii <eliz@gnu.org> wrote:
> A reproducible test case would help tremendously, assuming
> it is feasible for you to come up with one.
Here is one recipe that works for me:
cd src
gdb ..\bin\emacs.exe
run -Q ChangeLog
C-o
C-a
Juanma
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 17:41 ` Juanma Barranquero
@ 2011-11-14 19:43 ` Eli Zaretskii
2011-11-14 20:18 ` Eli Zaretskii
0 siblings, 1 reply; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-14 19:43 UTC (permalink / raw
To: Juanma Barranquero; +Cc: cschol2112, 10035
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Mon, 14 Nov 2011 18:41:54 +0100
> Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
>
> On Mon, Nov 14, 2011 at 18:08, Eli Zaretskii <eliz@gnu.org> wrote:
>
> > A reproducible test case would help tremendously, assuming
> > it is feasible for you to come up with one.
>
> Here is one recipe that works for me:
>
> cd src
> gdb ..\bin\emacs.exe
> run -Q ChangeLog
> C-o
> C-a
Great, thanks. It looks like some code is adding a face, but does not
update the row's hash value, and trailing-whitespace is the key.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 19:43 ` Eli Zaretskii
@ 2011-11-14 20:18 ` Eli Zaretskii
2011-11-14 21:07 ` Juanma Barranquero
0 siblings, 1 reply; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-14 20:18 UTC (permalink / raw
To: lekktu, cschol2112, 10035
> Date: Mon, 14 Nov 2011 21:43:35 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
>
> > From: Juanma Barranquero <lekktu@gmail.com>
> > Date: Mon, 14 Nov 2011 18:41:54 +0100
> > Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
> >
> > On Mon, Nov 14, 2011 at 18:08, Eli Zaretskii <eliz@gnu.org> wrote:
> >
> > > A reproducible test case would help tremendously, assuming
> > > it is feasible for you to come up with one.
> >
> > Here is one recipe that works for me:
> >
> > cd src
> > gdb ..\bin\emacs.exe
> > run -Q ChangeLog
> > C-o
> > C-a
>
> Great, thanks. It looks like some code is adding a face, but does not
> update the row's hash value, and trailing-whitespace is the key.
This one is fixed (revision 106372 on the trunk). Please check the
other recipes.
Thanks.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 20:18 ` Eli Zaretskii
@ 2011-11-14 21:07 ` Juanma Barranquero
2011-11-15 0:43 ` Christoph Scholtes
0 siblings, 1 reply; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-14 21:07 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
On Mon, Nov 14, 2011 at 21:18, Eli Zaretskii <eliz@gnu.org> wrote:
> This one is fixed (revision 106372 on the trunk). Please check the
> other recipes.
They are all fixed too.
Juanma
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-14 21:07 ` Juanma Barranquero
@ 2011-11-15 0:43 ` Christoph Scholtes
2011-11-15 3:48 ` Eli Zaretskii
0 siblings, 1 reply; 36+ messages in thread
From: Christoph Scholtes @ 2011-11-15 0:43 UTC (permalink / raw
To: Juanma Barranquero; +Cc: 10035
On 11/14/2011 2:07 PM, Juanma Barranquero wrote:
> On Mon, Nov 14, 2011 at 21:18, Eli Zaretskii<eliz@gnu.org> wrote:
>
>> This one is fixed (revision 106372 on the trunk). Please check the
>> other recipes.
>
> They are all fixed too.
My recipe was similar:
emacs -Q
C-x 4 a
Press `left arrow' key
-> Crash
and this is fixed too in the latest trunk.
Thanks!
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-15 0:43 ` Christoph Scholtes
@ 2011-11-15 3:48 ` Eli Zaretskii
2011-11-15 17:12 ` Juanma Barranquero
0 siblings, 1 reply; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-15 3:48 UTC (permalink / raw
To: Christoph Scholtes; +Cc: lekktu, 10035-done
> Date: Mon, 14 Nov 2011 17:43:13 -0700
> From: Christoph Scholtes <cschol2112@googlemail.com>
> CC: Eli Zaretskii <eliz@gnu.org>, 10035@debbugs.gnu.org
>
> On 11/14/2011 2:07 PM, Juanma Barranquero wrote:
> > On Mon, Nov 14, 2011 at 21:18, Eli Zaretskii<eliz@gnu.org> wrote:
> >
> >> This one is fixed (revision 106372 on the trunk). Please check the
> >> other recipes.
> >
> > They are all fixed too.
>
> My recipe was similar:
>
> emacs -Q
> C-x 4 a
> Press `left arrow' key
> -> Crash
>
> and this is fixed too in the latest trunk.
>
> Thanks!
Thanks; closing.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-15 3:48 ` Eli Zaretskii
@ 2011-11-15 17:12 ` Juanma Barranquero
2011-11-15 18:00 ` Eli Zaretskii
0 siblings, 1 reply; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-15 17:12 UTC (permalink / raw
To: Eli Zaretskii; +Cc: Christoph Scholtes, 10035
I just had another assertion failure in row_equal_p, which seems a
variant of the bug you fixed. In this case, "pgrowx a" and "pgrowx b"
do not show the same content, but a->hash == b->hash.
I was just editing elisp code, and the assertion failure happened
during an isearch for "lets".
I'm keeping the gdb session open, in case you need more info.
Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 4268.0xa18]
0x7708280d in KERNELBASE!DeleteAce () from C:\Windows\syswow64\KernelBase.dll
(gdb) bt
#0 0x7708280d in KERNELBASE!DeleteAce () from
C:\Windows\syswow64\KernelBase.dll
#1 0x010fd40c in w32_abort () at w32fns.c:7204
#2 0x0107bb11 in row_equal_p (b=0x373e968, a=0x5d4f968,
mouse_face_p=<optimized out>) at dispnew.c:1294
#3 scrolling_window (header_line_p=0, w=0x3ae5800) at dispnew.c:4305
#4 update_window (w=0x3ae5800, force_p=1) at dispnew.c:3605
#5 0x0107bd68 in update_window_tree (w=0x3ae5800, force_p=1) at dispnew.c:3349
#6 0x0107e92f in update_frame (f=0x3ae5e00, force_p=1,
inhibit_hairy_id_p=0) at dispnew.c:3276
#7 0x01131466 in redisplay_internal () at xdisp.c:13238
#8 0x01131d82 in redisplay_preserve_echo_area (from_where=8) at xdisp.c:13389
#9 0x010315ca in detect_input_pending_run_timers (do_display=1) at
keyboard.c:10474
#10 0x0101d296 in wait_reading_process_output (time_limit=600,
microsecs=0, read_kbd=-1, do_display=1, wait_for_cell=55470106,
wait_proc=0x0,
just_wait_proc=0) at process.c:4701
#11 0x010802f6 in sit_for (timeout=2400, reading=1, do_display=1) at
dispnew.c:5994
#12 0x01033f82 in read_char (commandflag=1, nmaps=2, maps=0x88fae0,
prev_event=55470106, used_mouse_menu=0x88fbd8, end_time=0x0) at
keyboard.c:2687
#13 0x0103576d in read_key_sequence (keybuf=0x88fc48, prompt=55470106,
dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1,
bufsize=30) at keyboard.c:9290
#14 0x01037cf9 in command_loop_1 () at keyboard.c:1447
#15 0x0101183b in internal_condition_case (bfun=0x1037aa0
<command_loop_1>, handlers=55527834, hfun=0x102a870 <cmd_error>) at
eval.c:1499
#16 0x01028c2d in command_loop_2 (ignore=55470106) at keyboard.c:1158
#17 0x01011779 in internal_catch (tag=55525858, func=0x1028c00
<command_loop_2>, arg=55470106) at eval.c:1256
#18 0x0102a230 in command_loop () at keyboard.c:1137
#19 recursive_edit_1 () at keyboard.c:757
#20 0x0102a5a5 in Frecursive_edit () at keyboard.c:821
#21 0x01258e57 in main (argc=<optimized out>, argv=0x9b2cc0) at emacs.c:1707
(gdb) frame 2
#2 0x0107bb11 in row_equal_p (b=0x373e968, a=0x5d4f968,
mouse_face_p=<optimized out>) at dispnew.c:1294
1294 xassert (verify_row_hash (a));
(gdb) p a->enabled_p
$1 = 1
(gdb) p b->enabled_p
$2 = 1
(gdb) prowx a
y=210 x=0 pwid=128 a+d=12+3=15 phys=12+3=15 vis=15 L=0 T=16 R=0
start=60162 end=60178 ENA DISP
(gdb) prowx b
y=210 x=0 pwid=128 a+d=12+3=15 phys=12+3=15 vis=15 L=0 T=16 R=0
start=60162 end=60178 ENA DISP
(gdb) pgrowx a
TEXT: 16 glyphs
0 0: CHAR[S] pos=57996 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
1 8: CHAR[l] pos=57997 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
2 16: CHAR[o] pos=57998 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
3 24: CHAR[t] pos=57999 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
4 32: CHAR[ ] pos=58000 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
5 40: CHAR[i] pos=58001 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
6 48: CHAR[s] pos=58002 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
7 56: CHAR[ ] pos=58003 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
8 64: CHAR[t] pos=58004 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
9 72: CHAR[h] pos=58005 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
10 80: CHAR[e] pos=58006 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
11 88: CHAR[ ] pos=58007 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
12 96: CHAR[n] pos=58008 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
13 104: CHAR[a] pos=58009 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
14 112: CHAR[m] pos=58010 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
15 120: CHAR[e] pos=58011 blev=0,btyp=L w=8 a+d=12+3 face=39 MB
(gdb) pgrowx b
TEXT: 16 glyphs
0 0: CHAR[ ] pos=60162 blev=0,btyp=L w=8 a+d=12+3 MB
1 8: CHAR[ ] pos=60163 blev=0,btyp=L w=8 a+d=12+3 MB
2 16: CHAR[ ] pos=60164 blev=0,btyp=L w=8 a+d=12+3 MB
3 24: CHAR[ ] pos=60165 blev=0,btyp=L w=8 a+d=12+3 MB
4 32: CHAR[(] pos=60166 blev=0,btyp=L w=8 a+d=12+3 MB
5 40: CHAR[i] pos=60167 blev=0,btyp=L w=8 a+d=12+3 face=26 MB
6 48: CHAR[f] pos=60168 blev=0,btyp=L w=8 a+d=12+3 face=26 MB
7 56: CHAR[ ] pos=60169 blev=0,btyp=L w=8 a+d=12+3 MB
8 64: CHAR[(] pos=60170 blev=0,btyp=L w=8 a+d=12+3 MB
9 72: CHAR[n] pos=60171 blev=0,btyp=L w=8 a+d=12+3 MB
10 80: CHAR[o] pos=60172 blev=0,btyp=L w=8 a+d=12+3 MB
11 88: CHAR[t] pos=60173 blev=0,btyp=L w=8 a+d=12+3 MB
12 96: CHAR[ ] pos=60174 blev=0,btyp=L w=8 a+d=12+3 MB
13 104: CHAR[c] pos=60175 blev=0,btyp=L w=8 a+d=12+3 MB
14 112: CHAR[)] pos=60176 blev=0,btyp=L w=8 a+d=12+3 MB
15 120: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=12+3 MB
(gdb) p a->hash
$3 = 127343105
(gdb) p b->hash
$4 = 127343105
(gdb)
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-15 17:12 ` Juanma Barranquero
@ 2011-11-15 18:00 ` Eli Zaretskii
2011-11-15 19:19 ` Juanma Barranquero
0 siblings, 1 reply; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-15 18:00 UTC (permalink / raw
To: Juanma Barranquero; +Cc: cschol2112, 10035
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Tue, 15 Nov 2011 18:12:47 +0100
> Cc: Christoph Scholtes <cschol2112@googlemail.com>, 10035@debbugs.gnu.org
>
> I just had another assertion failure in row_equal_p, which seems a
> variant of the bug you fixed. In this case, "pgrowx a" and "pgrowx b"
> do not show the same content, but a->hash == b->hash.
Two different rows having the same hash is not a problem -- the hash
function isn't guaranteed to be perfect. The problem is that at least
one of the hash values does not match the contents of its glyph row.
> I was just editing elisp code, and the assertion failure happened
> during an isearch for "lets".
The offending row is `a'. Is the text it shows ("Slot is the name") a
comment, displayed in font-lock-comment-face? Can you show a
screenshot?
> #2 0x0107bb11 in row_equal_p (b=0x373e968, a=0x5d4f968,
> mouse_face_p=<optimized out>) at dispnew.c:1294
^^^^^^^^^^^^^^^
??? Does GCC now optimizes even under -O0?
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-15 18:00 ` Eli Zaretskii
@ 2011-11-15 19:19 ` Juanma Barranquero
2011-11-15 20:20 ` Eli Zaretskii
0 siblings, 1 reply; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-15 19:19 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
[-- Attachment #1: Type: text/plain, Size: 351 bytes --]
On Tue, Nov 15, 2011 at 19:00, Eli Zaretskii <eliz@gnu.org> wrote:
> The offending row is `a'. Is the text it shows ("Slot is the name") a
> comment, displayed in font-lock-comment-face? Can you show a
> screenshot?
Attached.
> ??? Does GCC now optimizes even under -O0?
This happened with an optimized build, alas.
Juanma
[-- Attachment #2: bug.png --]
[-- Type: image/png, Size: 151238 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-15 19:19 ` Juanma Barranquero
@ 2011-11-15 20:20 ` Eli Zaretskii
2011-11-15 20:28 ` Juanma Barranquero
0 siblings, 1 reply; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-15 20:20 UTC (permalink / raw
To: Juanma Barranquero; +Cc: cschol2112, 10035
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Tue, 15 Nov 2011 20:19:52 +0100
> Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
>
> On Tue, Nov 15, 2011 at 19:00, Eli Zaretskii <eliz@gnu.org> wrote:
>
> > The offending row is `a'. Is the text it shows ("Slot is the name") a
> > comment, displayed in font-lock-comment-face? Can you show a
> > screenshot?
>
> Attached.
Thanks. So row `a' is a part of this line:
Slot is the name of the slot when created by `defclass' or the label
truncated to have the same number of glyphs as row `b'. Hmm...
Is this crash easily reproducible? I tried I-searching eieio.el in
"emacs -Q", after setting scroll-conservatively to a large value, but
Emacs didn't crash.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-15 20:20 ` Eli Zaretskii
@ 2011-11-15 20:28 ` Juanma Barranquero
2011-11-16 3:45 ` Eli Zaretskii
2011-11-16 23:13 ` Juanma Barranquero
0 siblings, 2 replies; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-15 20:28 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
On Tue, Nov 15, 2011 at 21:20, Eli Zaretskii <eliz@gnu.org> wrote:
> Is this crash easily reproducible?
I don't think so. I was editing elisp files and using isearch for at
least one hour or so before it crashed. I'll switch to run the
non-optimized build under gdb, and hope for a bit of luck.
Do you need the running session or can I close it?
Juanma
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-15 20:28 ` Juanma Barranquero
@ 2011-11-16 3:45 ` Eli Zaretskii
2011-11-16 23:13 ` Juanma Barranquero
1 sibling, 0 replies; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-16 3:45 UTC (permalink / raw
To: Juanma Barranquero; +Cc: cschol2112, 10035
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Tue, 15 Nov 2011 21:28:23 +0100
> Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
>
> Do you need the running session or can I close it?
You can close it.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-15 20:28 ` Juanma Barranquero
2011-11-16 3:45 ` Eli Zaretskii
@ 2011-11-16 23:13 ` Juanma Barranquero
2011-11-17 3:56 ` Eli Zaretskii
1 sibling, 1 reply; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-16 23:13 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
On Tue, Nov 15, 2011 at 21:28, Juanma Barranquero <lekktu@gmail.com> wrote:
> I'll switch to run the
> non-optimized build under gdb, and hope for a bit of luck.
A bit of luck. I can reproduce it. Let's see whether you can, too.
File test.el contains this (not including bracketing lines):
--------------------------------------------------------------------------------
(require 'bs)
(global-set-key [s-f9] 'bs-cycle-previous)
(global-set-key [f9] 'bs-cycle-next)
--------------------------------------------------------------------------------
and from the src/ directory I run
gdb -ex run --args ..\bin\emacs.exe -Q -l test.el blockinput.h
w32term.c w32inevt.c
then
C-x 1 ; to remove the buffer list window
<f9> <s-f9> ; or <s-f9> <f9>
Juanma
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-16 23:13 ` Juanma Barranquero
@ 2011-11-17 3:56 ` Eli Zaretskii
2011-11-18 4:17 ` Christoph Scholtes
2011-11-18 12:27 ` Eli Zaretskii
0 siblings, 2 replies; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-17 3:56 UTC (permalink / raw
To: Juanma Barranquero; +Cc: cschol2112, 10035
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Thu, 17 Nov 2011 00:13:56 +0100
> Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
>
> (require 'bs)
> (global-set-key [s-f9] 'bs-cycle-previous)
> (global-set-key [f9] 'bs-cycle-next)
> --------------------------------------------------------------------------------
>
> and from the src/ directory I run
>
> gdb -ex run --args ..\bin\emacs.exe -Q -l test.el blockinput.h
> w32term.c w32inevt.c
>
> then
>
> C-x 1 ; to remove the buffer list window
> <f9> <s-f9> ; or <s-f9> <f9>
Reproduced, thanks.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-17 3:56 ` Eli Zaretskii
@ 2011-11-18 4:17 ` Christoph Scholtes
2011-11-18 7:08 ` Eli Zaretskii
2011-11-18 12:27 ` Eli Zaretskii
1 sibling, 1 reply; 36+ messages in thread
From: Christoph Scholtes @ 2011-11-18 4:17 UTC (permalink / raw
To: Eli Zaretskii; +Cc: Juanma Barranquero, 10035
I had two more `row_equal_p' crashes today when browsing C code.
This is with Mondays build r106380. I can provide backtraces tomorrow,
but I don't have a debug setup on this machine.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-18 4:17 ` Christoph Scholtes
@ 2011-11-18 7:08 ` Eli Zaretskii
0 siblings, 0 replies; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-18 7:08 UTC (permalink / raw
To: Christoph Scholtes; +Cc: lekktu, 10035
> Date: Thu, 17 Nov 2011 21:17:47 -0700
> From: Christoph Scholtes <cschol2112@googlemail.com>
> CC: Juanma Barranquero <lekktu@gmail.com>, 10035@debbugs.gnu.org
>
> I had two more `row_equal_p' crashes today when browsing C code.
>
> This is with Mondays build r106380. I can provide backtraces tomorrow,
> but I don't have a debug setup on this machine.
Please provide backtraces, and also how to reproduce, if you know
that.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-17 3:56 ` Eli Zaretskii
2011-11-18 4:17 ` Christoph Scholtes
@ 2011-11-18 12:27 ` Eli Zaretskii
2011-11-18 13:00 ` Juanma Barranquero
1 sibling, 1 reply; 36+ messages in thread
From: Eli Zaretskii @ 2011-11-18 12:27 UTC (permalink / raw
To: lekktu, cschol2112; +Cc: 10035
> Date: Thu, 17 Nov 2011 05:56:25 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
>
> > From: Juanma Barranquero <lekktu@gmail.com>
> > Date: Thu, 17 Nov 2011 00:13:56 +0100
> > Cc: cschol2112@googlemail.com, 10035@debbugs.gnu.org
> >
> > (require 'bs)
> > (global-set-key [s-f9] 'bs-cycle-previous)
> > (global-set-key [f9] 'bs-cycle-next)
> > --------------------------------------------------------------------------------
> >
> > and from the src/ directory I run
> >
> > gdb -ex run --args ..\bin\emacs.exe -Q -l test.el blockinput.h
> > w32term.c w32inevt.c
> >
> > then
> >
> > C-x 1 ; to remove the buffer list window
> > <f9> <s-f9> ; or <s-f9> <f9>
>
> Reproduced, thanks.
I fixed the bug that caused this recipe to crash (revision 106411 on
the trunk). I hope it also fixes the crashes experienced by
Christoph.
Note that the crash Juanma reported in
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10035#79
shows a call-stack that is different from the one produced by the
above recipe. So I hope that, too, is fixed.
^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#10035: Crash in check_x_frame in w32fns.c
2011-11-18 12:27 ` Eli Zaretskii
@ 2011-11-18 13:00 ` Juanma Barranquero
0 siblings, 0 replies; 36+ messages in thread
From: Juanma Barranquero @ 2011-11-18 13:00 UTC (permalink / raw
To: Eli Zaretskii; +Cc: cschol2112, 10035
On Fri, Nov 18, 2011 at 13:27, Eli Zaretskii <eliz@gnu.org> wrote:
> Note that the crash Juanma reported in
>
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10035#79
>
> shows a call-stack that is different from the one produced by the
> above recipe. So I hope that, too, is fixed.
Well, the crash in #79 is not reproducible, so if it is a different
bug, we'll know sooner or later.
Thanks,
Juanma
^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2011-11-18 13:00 UTC | newest]
Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-13 15:29 bug#10035: Crash in check_x_frame in w32fns.c Christoph Scholtes
2011-11-13 17:18 ` Eli Zaretskii
2011-11-13 20:04 ` Christoph Scholtes
2011-11-13 20:21 ` Eli Zaretskii
2011-11-13 20:42 ` Juanma Barranquero
2011-11-14 3:56 ` Eli Zaretskii
2011-11-14 8:57 ` Juanma Barranquero
2011-11-14 11:23 ` Eli Zaretskii
2011-11-14 11:44 ` Juanma Barranquero
2011-11-14 13:35 ` Eli Zaretskii
2011-11-14 14:29 ` Juanma Barranquero
2011-11-14 15:46 ` Juanma Barranquero
2011-11-14 17:19 ` Eli Zaretskii
2011-11-14 17:08 ` Eli Zaretskii
2011-11-14 17:20 ` Juanma Barranquero
2011-11-14 17:32 ` Juanma Barranquero
2011-11-14 17:41 ` Juanma Barranquero
2011-11-14 19:43 ` Eli Zaretskii
2011-11-14 20:18 ` Eli Zaretskii
2011-11-14 21:07 ` Juanma Barranquero
2011-11-15 0:43 ` Christoph Scholtes
2011-11-15 3:48 ` Eli Zaretskii
2011-11-15 17:12 ` Juanma Barranquero
2011-11-15 18:00 ` Eli Zaretskii
2011-11-15 19:19 ` Juanma Barranquero
2011-11-15 20:20 ` Eli Zaretskii
2011-11-15 20:28 ` Juanma Barranquero
2011-11-16 3:45 ` Eli Zaretskii
2011-11-16 23:13 ` Juanma Barranquero
2011-11-17 3:56 ` Eli Zaretskii
2011-11-18 4:17 ` Christoph Scholtes
2011-11-18 7:08 ` Eli Zaretskii
2011-11-18 12:27 ` Eli Zaretskii
2011-11-18 13:00 ` Juanma Barranquero
2011-11-13 20:55 ` Christoph Scholtes
2011-11-14 3:55 ` Eli Zaretskii
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.