* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
@ 2012-11-07 23:47 Stephen Powell
2012-11-08 3:46 ` Eli Zaretskii
` (5 more replies)
0 siblings, 6 replies; 20+ messages in thread
From: Stephen Powell @ 2012-11-07 23:47 UTC (permalink / raw)
To: 12829
While reading mail in gnus I got an emacs abort. The gdb session is
stull live.
(gdb) bt full
#0 0x762a321a in KERNELBASE!DeleteAce () from C:\Windows\syswow64\KernelBa=
se.dll
No symbol table info available.
#1 0x010edcba in emacs_abort () at w32fns.c:7739
button =3D 6
#2 0x010229c9 in sys_wait (status=3D0x88f264) at w32proc.c:1128
active =3D 0
retval =3D 256
nh =3D 0
pid =3D 3744
cp =3D 0x144ab28
cps =3D {0x144ab28, 0x88f1a8, 0x960000, 0x77c871d5 <ntdll!AlpcMaxAl=
lowedMessageLength+36229>, 0x19ebf3, 0xfffffffe, 0x77c4389a <ntdll!RtlRelea=
sePebLock+937>, 0x77c43492 <ntdll!LdrLoadAlternateResourceModuleEx+1317>, 0=
xa0c510, 0xa0c518, 0x9, 0x88f1e4, 0xa0c518, 0x4, 0x88f210, 0x762a161b <Wait=
ForMultipleObjectsEx+306>, 0x960000, 0x0, 0x762a1654 <WaitForMultipleObject=
sEx+363>, 0xd5339ce7, 0x9, 0xa0ca00, 0xa0c9e0, 0x24, 0x1, 0x0, 0x0, 0x0, 0x=
0, 0x0, 0x0, 0x0}
wait_hnd =3D {0x0, 0x960138, 0x77ce1704 <ntdll!RtlDisableThreadProf=
iling+49>, 0x7752d2a7, 0x960000, 0x960000, 0x0, 0x960000, 0x0, 0x101f200 <p=
rocess_status_retrieved+20>, 0x88f0d0, 0x19ebd3, 0x88f1e8, 0x77c871d5 <ntdl=
l!AlpcMaxAllowedMessageLength+36229>, 0x19f333, 0xfffffffe, 0x77ce1704 <ntd=
ll!RtlDisableThreadProfiling+49>, 0x77c9ab9a <ntdll!AlpcMaxAllowedMessageLe=
ngth+116554>, 0x960000, 0x50000063, 0x77c4389a <ntdll!RtlReleasePebLock+937=
>, 0x7752d25b, 0x0, 0x960000, 0xa0c9e0, 0x0, 0x100f1c0 <unbind_to+353>, 0x0=
, 0x1000000, 0xa0c510, 0x0, 0x0}
#3 0x0101f203 in process_status_retrieved (desired=3D5412, have=3D-1, stat=
us=3D0x88f264) at process.c:6274
No locals.
#4 0x0101f2c6 in record_child_status_change (pid=3D-1, w=3D256) at process=
.c:6344
deleted_pid =3D 5412
all_pids_are_fixnums =3D false
xpid =3D 21648
record_at_most_one_child =3D true
tail =3D 91890086
#5 0x0101f565 in handle_child_signal (sig=3D18) at process.c:6417
No locals.
#6 0x010e0d88 in deliver_process_signal (sig=3D18, handler=3D0x101f54b <ha=
ndle_child_signal>) at sysdep.c:1580
old_errno =3D 0
on_main_thread =3D true
#7 0x0101f580 in deliver_child_signal (sig=3D18) at process.c:6423
No locals.
#8 0x01023c25 in sys_select (nfds=3D7, rfds=3D0x88f6b4, wfds=3D0x0, efds=
=3D0x0, timeout=3D0x88f6a4, ignored=3D0x0) at w32proc.c:1991
orfds =3D {
bits =3D {121, 0}
}
timeout_ms =3D 347
start_time =3D 5965431
i =3D 7
nh =3D 6
nc =3D 2
nr =3D 1
active =3D 6
cp =3D 0x144ab28
cps =3D {0x144ab28, 0x144aa78, 0x6f1, 0x31975000, 0x0, 0x14aeccc0, =
0x0, 0x3627ba0 <__register_frame_info+56785824>, 0x7, 0x1, 0x88f5f8, 0x102f=
1f7 <gobble_input+294>, 0x3620440 <__register_frame_info+56755264>, 0x88f5b=
4, 0x24, 0x16, 0xa037a00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x55=
9aee5, 0x0, 0x0, 0x0, 0x0, 0x0}
wait_hnd =3D {0x1e8, 0x1e4, 0x340, 0x3914, 0x56a0, 0x5718, 0x5728, =
0x3934, 0x7, 0x1, 0x88f458, 0x11d8919 <get_next_msg+550>, 0x144df80, 0xa0c5=
18, 0x30, 0x0, 0x606f6a0, 0x88f44c, 0x88f458, 0x102f60f <unblock_input+22>,=
0x0, 0xd6beda33, 0x88f478, 0x0, 0x708, 0x0, 0x88f598, 0x11c3423 <w32_read_=
socket+5933>, 0x88f4f8, 0x0, 0xa7, 0x1040001 <choose_write_coding_system+49=
2>, 0x18, 0x330f81a <__register_frame_info+53540890>, 0x88f4a8, 0x0, 0x0, 0=
x0, 0x708, 0x0, 0x0, 0x88f510, 0x88f4d8, 0x102b51a <decode_timer+156>, 0x6f=
1, 0x31975000, 0xf5fc8600, 0x75c07193 <msvcrt!_itoa_s+1347>, 0xd6bedaa3, 0x=
0, 0x88f5c4, 0x7, 0x88f5c4, 0xd6bedab3, 0x88f4f8, 0x10584ce <gettimeofday+1=
7>, 0x708, 0x0, 0x88f518, 0x10acc6f <decode_time_components+543>, 0x708, 0x=
0, 0xa7, 0x1040001 <choose_write_coding_system+492>, 0x18, 0x330f81a <__reg=
ister_frame_info+53540890>, 0x88f528, 0x0, 0x0, 0x0, 0x708, 0x0, 0x0, 0x88f=
590, 0x88f558, 0x102b51a <decode_timer+156>, 0x6f1, 0x31975000, 0xf5fc8600,=
0x31975000, 0x16, 0x6f1, 0x88f558, 0x10dffbc <EMACS_TIME_LT+38>, 0x0, 0x14=
aeccc0, 0x6f1, 0x31975000, 0x7, 0x1, 0x88f5e8, 0x102b85d <timer_check_2+828=
>, 0x0, 0x14aeccc0, 0x6f1, 0x144dee0}
fdindex =3D {-1, 0, 3, 4, 5, 6, 10536216, 10536208, 16777216, 89750=
96, 2009737722, 8975208, 2009625045, 1697843, -2, 2009560091, 4, 9830400, 1=
342179425, 10536216, 8975356, 2009995313, 2001916123, 1975546259, -69213465=
3, 0, 8975460, 7, 8975460, -1245137027, 1975617770, -1245137027, 3148641, 1=
0000000, 0, 7, 64, 1975617787, 216613415, -1962461315, 30260544, 0, 8975056=
, 9830400, 8975368, 2009625045, 1698803, -2, 2009348250, 2009347218, 105362=
08, 10536216, 1, 64, 0, 1975546259, -692134525, 0, 8975588, 7, 8975588, -12=
45137027, 1975617770, -1245137027}
#9 0x0101cb6d in wait_reading_process_output (time_limit=3D28, nsecs=3D0, =
read_kbd=3D-1, do_display=3Dtrue, wait_for_cell=3D53540890, wait_proc=3D0x0=
, just_wait_proc=3D0) at process.c:4619
timeout_reduced_for_timers =3D 1
channel =3D 7
nfds =3D 1
Available =3D {
bits =3D {64, 0}
}
Writeok =3D {
bits =3D {0, 0}
}
check_write =3D 0
check_delay =3D 2
no_avail =3D 0
xerrno =3D 0
proc =3D 89392373
timeout =3D {
tv_sec =3D 0,=20
tv_nsec =3D 347000000
}
end_time =3D {
tv_sec =3D 1352331322,=20
tv_nsec =3D 999000000
}
wait_channel =3D -1
got_some_input =3D 1
count =3D 2
#10 0x010a7636 in sit_for (timeout=3D112, reading=3Dtrue, display_option=3D=
1) at dispnew.c:5959
sec =3D 28
nsec =3D 0
do_display =3D true
#11 0x01028d00 in read_char (commandflag=3D1, nmaps=3D8, maps=3D0x88f960, p=
rev_event=3D53540890, used_mouse_menu=3D0x88fa53, end_time=3D0x0) at keyboa=
rd.c:2668
tem0 =3D 53540890
timeout =3D 28
delay_level =3D 4
buffer_size =3D 1
c =3D 53540890
jmpcount =3D 2
local_getcjmp =3D {8976632, 0, 0, 0, 8976268, 16943134, 8978372, 0,=
0, 0, 0, 0, 0, 0, 0, 0}
save_jump =3D {0 <repeats 16 times>}
tem =3D 0
save =3D 0
previous_echo_area_message =3D 53540890
also_record =3D 53540890
reread =3D false
gcpro1 =3D {
next =3D 0x88f800,=20
var =3D 0x3316762 <__register_frame_info+53569378>,=20
nvars =3D 8976376
}
gcpro2 =3D {
next =3D 0x332f81a <__register_frame_info+53671962>,=20
var =3D 0x330f81a <__register_frame_info+53540890>,=20
nvars =3D 53540890
}
polling_stopped_here =3D false
orig_kboard =3D 0x3312580 <__register_frame_info+53552512>
#12 0x01032d8d in read_key_sequence (keybuf=3D0x88fbd0, bufsize=3D30, promp=
t=3D53540890, dont_downcase_last=3Dfalse, can_return_switch_frame=3Dtrue, f=
ix_current_buffer=3Dtrue) at keyboard.c:9223
interrupted_kboard =3D 0x3312580 <__register_frame_info+53552512>
interrupted_frame =3D 0x3627ba0 <__register_frame_info+56785824>
key =3D 53540890
used_mouse_menu =3D false
echo_local_start =3D 0
last_real_key_start =3D 0
keys_local_start =3D 0
local_first_binding =3D 0
from_string =3D 53540890
count =3D 2
t =3D 0
echo_start =3D 0
keys_start =3D 0
nmaps =3D 8
nmaps_allocated =3D 8
defs =3D 0x88f920
submaps =3D 0x88f960
orig_local_map =3D 81051542
orig_keymap =3D 53540890
localized_local_map =3D 0
first_binding =3D 0
first_unbound =3D 31
mock_input =3D 0
fkey =3D {
parent =3D 56682582,=20
map =3D 56682582,=20
start =3D 0,=20
end =3D 0
}
keytran =3D {
parent =3D 53530310,=20
map =3D 53530310,=20
start =3D 0,=20
end =3D 0
}
indec =3D {
parent =3D 56682590,=20
map =3D 56682590,=20
start =3D 0,=20
end =3D 0
}
shift_translated =3D false
delayed_switch_frame =3D 53540890
original_uppercase =3D 53644986
original_uppercase_position =3D -1
dummyflag =3D false
starting_buffer =3D 0x5bb9000
fake_prefixed_keys =3D 53540890
gcpro1 =3D {
next =3D 0x88faa8,=20
var =3D 0x100572b <set_internal+945>,=20
nvars =3D 20976012
}
#13 0x01026b8b in command_loop_1 () at keyboard.c:1458
cmd =3D 87713202
keybuf =3D {440, 196, 432, 16839104, 53643434, 53540890, 20976092, =
53566976, 8977624, 8977628, 0, 53643434, 53540890, 0, 0, 16838655, 53643434=
, 53540890, 55233262, 19204973, 0, 53540890, 0, 53540890, 0, 0, 8977512, 16=
829676, 2, 55233262}
i =3D 1
prev_modiff =3D 15
prev_buffer =3D 0x5b54c00
already_adjusted =3D false
#14 0x0100bb6e in internal_condition_case (bfun=3D0x1026828 <command_loop_1=
>, handlers=3D53591450, hfun=3D0x10261f7 <cmd_error>) at eval.c:1288
val =3D 55233262
c =3D {
tag =3D 53540890,=20
val =3D 53540890,=20
next =3D 0x88fd74,=20
gcpro =3D 0x0,=20
jmp =3D {8977720, 2130567168, 0, 0, 8977548, 16825115, 8978372, 0=
, 2, 2, 1975561736, 8977624, 8977704, 8977768, 1975570187, 8977704},=20
backlist =3D 0x0,=20
handlerlist =3D 0x0,=20
lisp_eval_depth =3D 0,=20
pdlcount =3D 2,=20
poll_suppress_count =3D 0,=20
interrupt_input_blocked =3D 0,=20
byte_stack =3D 0x0
}
h =3D {
handler =3D 53591450,=20
var =3D 53540890,=20
chosen_clause =3D 8977688,=20
tag =3D 0x88fcc0,=20
next =3D 0x0
}
#15 0x010265a0 in command_loop_2 (ignore=3D53540890) at keyboard.c:1167
val =3D 2130567168
#16 0x0100b6e5 in internal_catch (tag=3D53581306, func=3D0x102657c <command=
_loop_2>, arg=3D53540890) at eval.c:1059
c =3D {
tag =3D 53581306,=20
val =3D 53540890,=20
next =3D 0x0,=20
gcpro =3D 0x0,=20
jmp =3D {8977896, 2130567168, 0, 0, 8977756, 16824022, 8978372, 0=
, 53540890, 53566976, 11934152, 11929568, 2130567168, 8977896, 16798209, 21=
265788},=20
backlist =3D 0x0,=20
handlerlist =3D 0x0,=20
lisp_eval_depth =3D 0,=20
pdlcount =3D 2,=20
poll_suppress_count =3D 0,=20
interrupt_input_blocked =3D 0,=20
byte_stack =3D 0x0
}
#17 0x01026558 in command_loop () at keyboard.c:1146
No locals.
#18 0x01025e3c in recursive_edit_1 () at keyboard.c:778
count =3D 1
val =3D 1975493698
#19 0x01025f8d in Frecursive_edit () at keyboard.c:842
count =3D 0
buffer =3D 53540890
#20 0x01002827 in main (argc=3D2, argv=3D0xb62f10) at emacs.c:1564
dummy =3D 8978152
stack_bottom_variable =3D 0 '\000'
do_initial_setlocale =3D true
dumping =3D false
skip_args =3D 0
no_loadup =3D false
junk =3D 0x0
dname_arg =3D 0x0
ch_to_dir =3D 0x0
(gdb) xbacktrace
In GNU Emacs 24.3.50.1 (i386-mingw-nt6.1.7601)
of 2012-11-07 on 88RCB2S
Bzr revision: 104356 stevep@127.0.0.1-20121107153831-o03lxl5sex5hbgre
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --with-gcc (4.7)'
Important settings:
value of $LC_ALL: en_AU.UTF8
value of $LANG: en_AU.UTF8
locale-coding-system: cp1252
default enable-multibyte-characters: t
Major mode: Org
Minor modes in effect:
flyspell-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
global-semanticdb-minor-mode: t
global-semantic-idle-scheduler-mode: t
semantic-mode: t
minibuffer-depth-indicate-mode: t
show-paren-mode: t
ido-everywhere: t
global-whitespace-mode: t
global-ede-mode: t
ede-minor-mode: t
display-time-mode: t
cua-mode: t
auto-insert-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
size-indication-mode: t
column-number-mode: t
line-number-mode: t
auto-fill-function: org-auto-fill-function
transient-mark-mode: t
Recent input:
<help-echo> M-x e m a c s SPC r e p o r t <tab> <backspace>=20
<backspace> <backspace> <backspace> <backspace> <backspace>=20
<backspace> <backspace> <backspace> <backspace> <backspace>=20
<backspace> <backspace> <backspace> r e p o r t SPC=20
e m <tab> b <tab> <return>
Recent messages:
Loading whitespace...done
Loading gnus...done
Loading ido...done
Loading avoid...done
Loading paren...done
Loading vc-git...done
Loading c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/.customize...done
End of=20
Starting new Ispell process [c:/cygwin/bin/aspell.exe::default] ...
delete-backward-char: Text is read-only [2 times]
Load-path shadows:
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-xoxo hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-xoxo
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-wl hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-wl
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-w3m hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-w3m
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-vm hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-vm
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-version hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-ver=
sion
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-timer hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-timer
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-taskjuggler hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org=
-taskjuggler
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-table hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-table
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-src hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-src
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-special-blocks hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/=
org-special-blocks
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-rmail hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-rmail
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-remember hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-re=
member
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-publish hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-pub=
lish
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-protocol hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-pr=
otocol
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-plot hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-plot
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-pcomplete hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-p=
complete
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-odt hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-odt
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-mouse hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-mouse
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-mobile hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-mobi=
le
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-mks hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-mks
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-mhe hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-mhe
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-mew hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-mew
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-macs hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-macs
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-mac-message hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org=
-mac-message
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-lparse hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-lpar=
se
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-loaddefs hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-lo=
addefs
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-list hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-list
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-latex hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-latex
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-jsinfo hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-jsin=
fo
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-irc hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-irc
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-install hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-ins=
tall
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-inlinetask hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-=
inlinetask
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-info hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-info
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-indent hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-inde=
nt
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-id hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-id
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-icalendar hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-i=
calendar
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-html hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-html
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-habit hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-habit
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-gnus hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-gnus
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-freemind hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-fr=
eemind
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-footnote hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-fo=
otnote
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-feed hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-feed
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-faces hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-faces
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-exp hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-exp
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-exp-blocks hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-=
exp-blocks
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-eshell hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-eshe=
ll
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-entities hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-en=
tities
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-element hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-ele=
ment
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-docview hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-doc=
view
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-docbook hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-doc=
book
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-datetree hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-da=
tetree
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-ctags hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-ctags
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-crypt hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-crypt
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-compat hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-comp=
at
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-colview hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-col=
view
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-clock hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-clock
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-capture hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-cap=
ture
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-bibtex hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-bibt=
ex
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-beamer hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-beam=
er
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-bbdb hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-bbdb
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-attach hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-atta=
ch
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-ascii hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-ascii
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-archive hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-arc=
hive
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/org-agenda hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/org-agen=
da
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-tangle hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-tangle
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-table hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-table
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-sqlite hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-sqlite
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-sql hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-sql
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-shen hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-shen
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-sh hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-sh
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-screen hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-screen
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-scheme hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-scheme
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-scala hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-scala
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-sass hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-sass
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-ruby hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-ruby
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-ref hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-ref
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-R hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-R
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-python hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-python
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-plantuml hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-plan=
tuml
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-picolisp hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-pico=
lisp
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-perl hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-perl
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-org hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-org
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-octave hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-octave
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-ocaml hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-ocaml
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-mscgen hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-mscgen
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-maxima hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-maxima
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-matlab hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-matlab
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-lob hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-lob
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-lisp hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-lisp
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-lilypond hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-lily=
pond
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-ledger hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-ledger
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-latex hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-latex
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-keys hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-keys
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-js hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-js
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-java hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-java
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-io hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-io
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-haskell hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-haske=
ll
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-gnuplot hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-gnupl=
ot
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-fortran hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-fortr=
an
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-exp hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-exp
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-eval hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-eval
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-emacs-lisp hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-em=
acs-lisp
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-dot hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-dot
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-ditaa hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-ditaa
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-css hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-css
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-comint hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-comint
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-clojure hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-cloju=
re
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-calc hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-calc
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-C hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-C
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-awk hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-awk
c:/Users/stevep/AppData/Roaming/cygwin/.emacs.d/elpa/org-plus-contrib-20121=
029/ob-asymptote hides c:/mirror/bzr.sv.gnu.org/emacs/MinGW/lisp/org/ob-asy=
mptote
c:/gnu/share/emacs/site-lisp/el-get/.dir-locals hides c:/mirror/bzr.sv.gnu.=
org/emacs/MinGW/lisp/gnus/.dir-locals
Features:
(shadow sort mail-extr gnus-msg gnus-art mm-uu mml2015 epg-config
mm-view mml-smime smime password-cache mailcap emacsbug sendmail
thingatpt flyspell ispell org-wl org-w3m org-vm org-rmail org-mhe
org-mew org-irc org-jsinfo org-infojs org-html org-exp ob-exp
org-exp-blocks org-agenda org-info org-gnus org-docview org-bibtex
bibtex org-bbdb org derived ob-tangle ob-ref ob-lob ob-table
org-footnote org-src ob-keys org-pcomplete pcomplete org-list org-faces
org-entities noutline outline easy-mmode org-version ob-emacs-lisp
ob-comint comint ansi-color ring ob org-compat org-macs ob-eval
org-loaddefs find-func cal-menu calendar cal-loaddefs gnus-sum nnoo
gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int
gnus-range message format-spec rfc822 mml mml-sec mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev
gmm-utils mailheader gnus-win undo-tree diff tempbuf w3m browse-url
doc-view jka-compr image-mode timezone w3m-hist w3m-fb bookmark-w3m
w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util w3m-load
semantic/db-mode semantic/db semantic/idle semantic/format
semantic/tag-ls semantic/find semantic/ctxt semantic/util-modes
semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local
hamster-mode rexx-mode generic-x ediff-merg ediff-diff ediff-wind
ediff-help ediff-util ediff-mult ediff-init ediff boxquote rect
auctex-autoloads tex-site back-button-autoloads
browse-kill-ring-autoloads crontab-mode-autoloads edit-list-autoloads
guru-mode-autoloads httpcode-autoloads ido-ubiquitous-autoloads
log4j-mode-autoloads markdown-mode+-autoloads markdown-mode-autoloads
memory-usage-autoloads nav-flash-autoloads num3-mode-autoloads
org-plus-contrib-autoloads info powershell-autoloads
powershell-mode-autoloads rw-language-and-country-codes-autoloads
s-autoloads smartrep-autoloads tea-time-autoloads ucs-utils-autoloads
persistent-soft-autoloads list-utils-autoloads cl-macs cl cl-lib
pcache-autoloads finder-inf undo-tree-autoloads package skeleton view
wdired DiredSortBySizeAndExtension dired-aux dired-x dired edmacro
kmacro windmove dig net-utils proced mb-depth server vc-git ede/cpp-root
ede/emacs midnight saveplace uniquify warnings advice help-fns
advice-preload paren avoid ido gnus gnus-ems nnheader gnus-util
mail-utils mm-util mail-prsvr whitespace ede/speedbar ede/files ede
loaddefs ede/base gv ede/auto ede/source eieio-base eieio-speedbar
speedbar sb-image ezimage dframe easymenu eieio-custom wid-edit eieio
byte-opt bytecomp byte-compile cconv cedet time cua-base autoinsert
cus-start cus-load time-date tooltip ediff-hook vc-hooks lisp-float-type
mwheel dos-w32 ls-lisp w32-common-fns disp-table w32-win w32-vars
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process w32 multi-tty
emacs)
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-07 23:47 bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128 Stephen Powell
@ 2012-11-08 3:46 ` Eli Zaretskii
2012-11-08 15:48 ` Stephen Powell
` (4 subsequent siblings)
5 siblings, 0 replies; 20+ messages in thread
From: Eli Zaretskii @ 2012-11-08 3:46 UTC (permalink / raw)
To: Stephen Powell; +Cc: 12829
> Date: Wed, 07 Nov 2012 23:47:27 +0000
> From: Stephen Powell <stephen_powell@optusnet.com.au>
>
> While reading mail in gnus I got an emacs abort. The gdb session is
> stull live.
>
> (gdb) bt full
>
> #0 0x762a321a in KERNELBASE!DeleteAce () from C:\Windows\syswow64\KernelBa=
> se.dll
> No symbol table info available.
> #1 0x010edcba in emacs_abort () at w32fns.c:7739
> button = 6
> #2 0x010229c9 in sys_wait (status=0x88f264) at w32proc.c:1128
> active = 0
> retval = 256
> nh = 0
> pid = 3744
> cp = 0x144ab28
Can you show the values of dead_child's members?
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-07 23:47 bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128 Stephen Powell
2012-11-08 3:46 ` Eli Zaretskii
@ 2012-11-08 15:48 ` Stephen Powell
2012-11-09 9:41 ` Eli Zaretskii
2012-11-09 18:59 ` Stephen Powell
` (3 subsequent siblings)
5 siblings, 1 reply; 20+ messages in thread
From: Stephen Powell @ 2012-11-08 15:48 UTC (permalink / raw)
To: 12829
(gdb) p *dead_child
$2 = {
fd = 6,
pid = 3744,
char_avail = 0x5718,
char_consumed = 0x571c,
thrd = 0x5720,
hwnd = 0x0,
procinfo = {
hProcess = 0x0,
hThread = 0x0,
dwProcessId = 3744,
dwThreadId = 3964
},
status = 2,
chr = 42 '*',
ovl_read = {
Internal = 0,
InternalHigh = 0,
{
{
Offset = 0,
OffsetHigh = 0
},
Pointer = 0x0
},
hEvent = 0x0
},
ovl_write = {
Internal = 0,
InternalHigh = 0,
{
{
Offset = 0,
OffsetHigh = 0
},
Pointer = 0x0
},
hEvent = 0x0
}
}
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-08 15:48 ` Stephen Powell
@ 2012-11-09 9:41 ` Eli Zaretskii
0 siblings, 0 replies; 20+ messages in thread
From: Eli Zaretskii @ 2012-11-09 9:41 UTC (permalink / raw)
To: Stephen Powell; +Cc: 12829
> Date: Thu, 08 Nov 2012 15:48:54 +0000
> From: Stephen Powell <stephen_powell@optusnet.com.au>
>
> (gdb) p *dead_child
> $2 = {
> fd = 6,
> pid = 3744,
> char_avail = 0x5718,
> char_consumed = 0x571c,
> thrd = 0x5720,
> hwnd = 0x0,
> procinfo = {
> hProcess = 0x0,
> hThread = 0x0,
> dwProcessId = 3744,
> dwThreadId = 3964
> },
> status = 2,
It looks like Emacs was trying to reap a wrong process. dead_child
says its PID is 3744, but record_child_status_change, up above it in
the call stack, thinks its PID was 5412:
> #4 0x0101f2c6 in record_child_status_change (pid=-1, w=256) at process.c:6344
> deleted_pid = 5412
> all_pids_are_fixnums = false
> xpid = 21648
> record_at_most_one_child = true
> tail = 91890086
If that GDB session is still active, can you show the entire list in
deleted_pid_list? The 'pp' command should be able to display it in a
human-readable format.
Did this problem happen again since the original report? If it does
happen from time to time, I might ask you to run Emacs under GDB with
a couple of breakpoints in strategic places, because usually when
dead_child's handle is NULL, it is too late: the evidence of the crime
is already forgotten.
Thanks.
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-07 23:47 bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128 Stephen Powell
2012-11-08 3:46 ` Eli Zaretskii
2012-11-08 15:48 ` Stephen Powell
@ 2012-11-09 18:59 ` Stephen Powell
2012-11-09 19:38 ` Eli Zaretskii
2012-11-10 15:45 ` Stephen Powell
` (2 subsequent siblings)
5 siblings, 1 reply; 20+ messages in thread
From: Stephen Powell @ 2012-11-09 18:59 UTC (permalink / raw)
To: 12829, Eli Zaretskii
> Did this problem happen again since the original report? If it does
> happen from time to time, I might ask you to run Emacs under GDB
> with a couple of breakpoints in strategic places, because usually
> when dead_child's handle is NULL, it is too late: the evidence of
> the crime is already forgotten.
Sure. It happens frequently but not always.
> If that GDB session is still active, can you show the entire list in
> deleted_pid_list? The 'pp' command should be able to display it in
> a human-readable format.
(gdb) pp deleted_pid_list
(5144 5412)
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-09 18:59 ` Stephen Powell
@ 2012-11-09 19:38 ` Eli Zaretskii
2012-11-09 20:16 ` Stephen Powell
0 siblings, 1 reply; 20+ messages in thread
From: Eli Zaretskii @ 2012-11-09 19:38 UTC (permalink / raw)
To: Stephen Powell; +Cc: 12829
> Date: Fri, 09 Nov 2012 18:59:43 +0000
> From: Stephen Powell <stephen_powell@optusnet.com.au>
>
> > Did this problem happen again since the original report? If it does
> > happen from time to time, I might ask you to run Emacs under GDB
> > with a couple of breakpoints in strategic places, because usually
> > when dead_child's handle is NULL, it is too late: the evidence of
> > the crime is already forgotten.
>
> Sure. It happens frequently but not always.
OK. There;s only 1 place where the handle of the process is set to
NULL. Here:
static void
reap_subprocess (child_process *cp)
{
if (cp->procinfo.hProcess)
{
/* Reap the process */
#ifdef FULL_DEBUG
/* Process should have already died before we are called. */
if (WaitForSingleObject (cp->procinfo.hProcess, 0) != WAIT_OBJECT_0)
DebPrint (("reap_subprocess: child fpr fd %d has not died yet!", cp->fd));
#endif
CloseHandle (cp->procinfo.hProcess); <<<<<<<<<<<<<<<<<<<<<<<
cp->procinfo.hProcess = NULL;
(One other place is when the process is launched, but I don't think
this is our case.)
So please put a breakpoint on this line, like this:
(gdb) break w32proc.c:1096
(gdb) commands
> bt 6
> p cp->pid
> continue
> end
In addition, please put a breakpoint here:
static bool
process_status_retrieved (pid_t desired, pid_t have, int *status)
{
if (have < 0)
{
/* Invoke waitpid only with a known process ID; do not invoke
waitpid with a nonpositive argument. Otherwise, Emacs might
reap an unwanted process by mistake. For example, invoking
waitpid (-1, ...) can mess up glib by reaping glib's subprocesses,
so that another thread running glib won't find them. */
do
have = waitpid (desired, status, WNOHANG | WUNTRACED);
while (have < 0 && errno == EINTR);
}
return have == desired; <<<<<<<<<<<<<<<<<<<<<<<<<<
}
Like this:
(gdb) process.c:6278 if have != desired
(gdb) commands
> p have
> p desired
> p status
> continue
> end
Then run Emacs as you normally would, and tell if these breakpoints
ever break, and if so, what do you see there. The breakpoint commands
arrange for GDB to continue Emacs after it reports the values as
specified in the breakpoint commands.
Thanks.
> > If that GDB session is still active, can you show the entire list in
> > deleted_pid_list? The 'pp' command should be able to display it in
> > a human-readable format.
>
> (gdb) pp deleted_pid_list
> (5144 5412)
Interesting. I need to think...
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-09 19:38 ` Eli Zaretskii
@ 2012-11-09 20:16 ` Stephen Powell
2012-11-10 8:27 ` Eli Zaretskii
0 siblings, 1 reply; 20+ messages in thread
From: Stephen Powell @ 2012-11-09 20:16 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 12829
Ok this breakpoint 4 seems to have triggered just before the crash
(gdb) break process.c:6278 if have != desired
Breakpoint 4 at 0x101f310: file process.c, line 6278.
(gdb) commands
Type commands for breakpoint(s) 4, one per line.
End with a line saying just "end".
>p have
>p desired
>p status
>continue
>end
[New Thread 2900.0x1b98]
Breakpoint 3, reap_subprocess (cp=0x144aa98) at w32proc.c:1096
1096 cp->procinfo.hProcess = NULL;
#0 reap_subprocess (cp=0x144aa98) at w32proc.c:1096
#1 0x01022d1b in sys_wait (status=0x0) at w32proc.c:1233
#2 0x010e03ab in wait_for_termination_1 (pid=8004, interruptible=0) at
sysdep.c:293
#3 0x010e03c7 in wait_for_termination (pid=8004) at sysdep.c:321
#4 0x0108a3a5 in Fcall_process (nargs=7, args=0x88b7c4) at callproc.c:854
#5 0x0100e1e9 in Ffuncall (nargs=8, args=0x88b7c0) at eval.c:2755
Lisp Backtrace:
"call-process" (0x88b7c4)
"apply" (0x88b908)
"process-file" (0x88bc24)
"apply" (0x88bd74)
"vc-git--call" (0x88c088)
"vc-git--empty-db-p" (0x88c3b0)
"vc-git-state" (0x88c7cc)
"apply" (0x88c7c8)
"vc-call-backend" (0x88cac8)
"vc-default-state-heuristic" (0x88ceec)
"apply" (0x88cee8)
"vc-call-backend" (0x88d1f4)
"vc-state-refresh" (0x88d508)
"vc-state" (0x88d808)
"vc-default-mode-line-string" (0x88db30)
"vc-git-mode-line-string" (0x88df4c)
"apply" (0x88df48)
"vc-call-backend" (0x88e248)
"vc-mode-line" (0x88e568)
"vc-find-file-hook" (0x88e8fc)
"run-hooks" (0x88e9c8)
"after-find-file" (0x88ece8)
"find-file-noselect-1" (0x88efe8)
"find-file-noselect" (0x88f30c)
"view-file" (0x88f60c)
"dired-view-file" (0x88f924)
"call-interactively" (0x88fb34)
$25 = 8004
[New Thread 2900.0x1268]
[New Thread 2900.0x7dc]
[New Thread 2900.0x63c]
[New Thread 2900.0x17a0]
[New Thread 2900.0x820]
[New Thread 2900.0xb4c]
[New Thread 2900.0x220]
[New Thread 2900.0x8b8]
Breakpoint 3, reap_subprocess (cp=0x144aaf0) at w32proc.c:1096
1096 cp->procinfo.hProcess = NULL;
#0 reap_subprocess (cp=0x144aaf0) at w32proc.c:1096
#1 0x01022d26 in sys_wait (status=0x88f264) at w32proc.c:1236
#2 0x0101f2fb in process_status_retrieved (desired=8032, have=-1,
status=0x88f264) at process.c:6274
#3 0x0101f3be in record_child_status_change (pid=-1, w=256) at
process.c:6344
#4 0x0101f65d in handle_child_signal (sig=18) at process.c:6417
#5 0x010e0f64 in deliver_process_signal (sig=18, handler=0x101f643
<handle_child_signal>) at sysdep.c:1580
$26 = 7176
Breakpoint 4, process_status_retrieved (desired=8032, have=7176,
status=0x88f264) at process.c:6278
6278 return have == desired;
$27 = 7176
$28 = 8032
$29 = (int *) 0x88f264
Program received signal SIGTRAP, Trace/breakpoint trap.
0x762a321a in KERNELBASE!DeleteAce () from
C:\Windows\syswow64\KernelBase.dll
(gdb)
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-09 20:16 ` Stephen Powell
@ 2012-11-10 8:27 ` Eli Zaretskii
2012-11-10 14:56 ` Eli Zaretskii
2012-11-10 21:44 ` Paul Eggert
0 siblings, 2 replies; 20+ messages in thread
From: Eli Zaretskii @ 2012-11-10 8:27 UTC (permalink / raw)
To: Stephen Powell, Paul Eggert; +Cc: 12829
> Date: Fri, 09 Nov 2012 20:16:36 +0000
> From: Stephen Powell <stephen_powell@optusnet.com.au>
> CC: 12829@debbugs.gnu.org
>
> Ok this breakpoint 4 seems to have triggered just before the crash
>
> (gdb) break process.c:6278 if have != desired
> Breakpoint 4 at 0x101f310: file process.c, line 6278.
> (gdb) commands
> Type commands for breakpoint(s) 4, one per line.
> End with a line saying just "end".
> >p have
> >p desired
> >p status
> >continue
> >end
Thanks, that figures. Basically, the modified code that handles
demise of child processes is incompatible with the emulated 'wait'
function, because it does not support waiting for a process by its
PID. I think we will have to rewrite 'sys_wait' to emulate 'waitpid',
although I'll try first to come up with a simpler band-aid.
Paul, are there other supported platforms that use 'wait' here? If
there are, they are in danger of the same problem, because the new
record_child_status_change assumes 'waitpid' functionality with the
first argument non-negative.
> Breakpoint 3, reap_subprocess (cp=0x144aaf0) at w32proc.c:1096
> 1096 cp->procinfo.hProcess = NULL;
> #0 reap_subprocess (cp=0x144aaf0) at w32proc.c:1096
> #1 0x01022d26 in sys_wait (status=0x88f264) at w32proc.c:1236
> #2 0x0101f2fb in process_status_retrieved (desired=8032, have=-1,
> status=0x88f264) at process.c:6274
> #3 0x0101f3be in record_child_status_change (pid=-1, w=256) at
> process.c:6344
> #4 0x0101f65d in handle_child_signal (sig=18) at process.c:6417
> #5 0x010e0f64 in deliver_process_signal (sig=18, handler=0x101f643
> <handle_child_signal>) at sysdep.c:1580
> $26 = 7176
>
> Breakpoint 4, process_status_retrieved (desired=8032, have=7176,
> status=0x88f264) at process.c:6278
> 6278 return have == desired;
> $27 = 7176
> $28 = 8032
> $29 = (int *) 0x88f264
Just so my understanding of the exact scenario is better, could you
please add "bt 10" to the commands of breakpoint 4, the one set in
process_status_retrieved, and again post the full transcript of the
GDB session leading to the crash?
Thanks.
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-10 8:27 ` Eli Zaretskii
@ 2012-11-10 14:56 ` Eli Zaretskii
2012-11-10 21:44 ` Paul Eggert
1 sibling, 0 replies; 20+ messages in thread
From: Eli Zaretskii @ 2012-11-10 14:56 UTC (permalink / raw)
To: stephen_powell; +Cc: eggert, 12829
> Date: Sat, 10 Nov 2012 10:27:10 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 12829@debbugs.gnu.org
>
> Thanks, that figures. Basically, the modified code that handles
> demise of child processes is incompatible with the emulated 'wait'
> function, because it does not support waiting for a process by its
> PID. I think we will have to rewrite 'sys_wait' to emulate 'waitpid',
> although I'll try first to come up with a simpler band-aid.
I'd still like to have the details as requested here (with the current
trunk code):
> Just so my understanding of the exact scenario is better, could you
> please add "bt 10" to the commands of breakpoint 4, the one set in
> process_status_retrieved, and again post the full transcript of the
> GDB session leading to the crash?
However in the meantime, I came up with the changes below, which seem
to work in my limited testing, and should fix the fundamental problem
that caused your crashes. Could you please try these changes for a
while, and see if they give good results? (You will have to re-run
configure.bat before compiling.) If they do, I will then commit this
to the trunk. TIA.
=== modified file 'nt/config.nt'
--- nt/config.nt 2012-11-05 14:30:32 +0000
+++ nt/config.nt 2012-11-10 12:02:26 +0000
@@ -959,7 +959,7 @@ along with GNU Emacs. If not, see <http
#undef HAVE_SYS_VLIMIT_H
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
-#undef HAVE_SYS_WAIT_H
+#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <term.h> header file. */
#undef HAVE_TERM_H
=== modified file 'nt/inc/ms-w32.h'
--- nt/inc/ms-w32.h 2012-10-19 19:25:18 +0000
+++ nt/inc/ms-w32.h 2012-11-10 12:06:16 +0000
@@ -185,15 +185,12 @@ extern char *getenv ();
/* Subprocess calls that are emulated. */
#define spawnve sys_spawnve
-#define wait sys_wait
#define kill sys_kill
#define signal sys_signal
/* Internal signals. */
#define emacs_raise(sig) emacs_abort()
-extern int sys_wait (int *);
-
/* termcap.c calls that are emulated. */
#define tputs sys_tputs
#define tgetstr sys_tgetstr
=== added file 'nt/inc/sys/wait.h'
--- nt/inc/sys/wait.h 1970-01-01 00:00:00 +0000
+++ nt/inc/sys/wait.h 2012-11-10 12:05:45 +0000
@@ -0,0 +1,33 @@
+/* A limited emulation of sys/wait.h on Posix systems.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef INC_SYS_WAIT_H_
+#define INC_SYS_WAIT_H_
+
+#define WNOHANG 1
+#define WUNTRACED 2
+#define WSTOPPED 2 /* same as WUNTRACED */
+#define WEXITED 4
+#define WCONTINUED 8
+
+/* The various WIF* macros are defined in src/syswait.h. */
+
+extern pid_t waitpid (pid_t, int *, int);
+
+#endif /* INC_SYS_WAIT_H_ */
=== modified file 'src/sysdep.c'
--- src/sysdep.c 2012-11-05 03:18:32 +0000
+++ src/sysdep.c 2012-11-10 13:58:31 +0000
@@ -290,7 +290,7 @@ wait_for_termination_1 (pid_t pid, int i
while (1)
{
#ifdef WINDOWSNT
- wait (0);
+ waitpid (pid, NULL, 0);
break;
#else /* not WINDOWSNT */
int status;
=== modified file 'src/w32proc.c'
--- src/w32proc.c 2012-11-05 03:18:32 +0000
+++ src/w32proc.c 2012-11-10 14:04:54 +0000
@@ -775,7 +775,6 @@ alarm (int seconds)
/* Child process management list. */
int child_proc_count = 0;
child_process child_procs[ MAX_CHILDREN ];
-child_process *dead_child = NULL;
static DWORD WINAPI reader_thread (void *arg);
@@ -1028,9 +1027,6 @@ create_child (char *exe, char *cmdline,
if (cp->pid < 0)
cp->pid = -cp->pid;
- /* pid must fit in a Lisp_Int */
- cp->pid = cp->pid & INTMASK;
-
*pPid = cp->pid;
return TRUE;
@@ -1106,55 +1102,110 @@ reap_subprocess (child_process *cp)
delete_child (cp);
}
-/* Wait for any of our existing child processes to die
- When it does, close its handle
- Return the pid and fill in the status if non-NULL. */
+/* Wait for a child process specified by PID, or for any of our
+ existing child processes (if PID is nonpositive) to die. When it
+ does, close its handle. Return the pid of the process that died
+ and fill in STATUS if non-NULL. */
-int
-sys_wait (int *status)
+pid_t
+waitpid (pid_t pid, int *status, int options)
{
DWORD active, retval;
int nh;
- int pid;
child_process *cp, *cps[MAX_CHILDREN];
HANDLE wait_hnd[MAX_CHILDREN];
+ DWORD timeout_ms;
+ int dont_wait = (options & WNOHANG) != 0;
nh = 0;
- if (dead_child != NULL)
+ /* According to Posix:
+
+ PID = -1 means status is requested for any child process.
+
+ PID > 0 means status is requested for a single child process
+ whose pid is PID.
+
+ PID = 0 means status is requested for any child process whose
+ process group ID is equal to that of the calling process. But
+ since Windows has only a limited support for process groups (only
+ for console processes and only for the purposes of passing
+ Ctrl-BREAK signal to them), and since we have no documented way
+ of determining whether a given process belongs to our group, we
+ treat 0 as -1.
+
+ PID < -1 means status is requested for any child process whose
+ process group ID is equal to the absolute value of PID. Again,
+ since we don't support process groups, we treat that as -1. */
+ if (pid > 0)
{
- /* We want to wait for a specific child */
- wait_hnd[nh] = dead_child->procinfo.hProcess;
- cps[nh] = dead_child;
- if (!wait_hnd[nh]) emacs_abort ();
- nh++;
- active = 0;
- goto get_result;
+ int our_child = 0;
+
+ /* We are requested to wait for a specific child. */
+ for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--)
+ {
+ /* Some child_procs might be sockets; ignore them. Also
+ ignore subprocesses whose output is not yet completely
+ read. */
+ if (CHILD_ACTIVE (cp)
+ && cp->procinfo.hProcess
+ && cp->pid == pid)
+ {
+ our_child = 1;
+ break;
+ }
+ }
+ if (our_child)
+ {
+ if (cp->fd < 0 || (fd_info[cp->fd].flags & FILE_AT_EOF) != 0)
+ {
+ wait_hnd[nh] = cp->procinfo.hProcess;
+ cps[nh] = cp;
+ nh++;
+ }
+ else if (dont_wait)
+ {
+ /* PID specifies our subprocess, but its status is not
+ yet available. */
+ return 0;
+ }
+ }
+ if (nh == 0)
+ {
+ /* No such child process, or nothing to wait for, so fail. */
+ errno = ECHILD;
+ return -1;
+ }
}
else
{
for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--)
- /* some child_procs might be sockets; ignore them */
- if (CHILD_ACTIVE (cp) && cp->procinfo.hProcess
- && (cp->fd < 0 || (fd_info[cp->fd].flags & FILE_AT_EOF) != 0))
- {
- wait_hnd[nh] = cp->procinfo.hProcess;
- cps[nh] = cp;
- nh++;
- }
+ {
+ if (CHILD_ACTIVE (cp)
+ && cp->procinfo.hProcess
+ && (cp->fd < 0 || (fd_info[cp->fd].flags & FILE_AT_EOF) != 0))
+ {
+ wait_hnd[nh] = cp->procinfo.hProcess;
+ cps[nh] = cp;
+ nh++;
+ }
+ }
+ if (nh == 0)
+ {
+ /* Nothing to wait on, so fail. */
+ errno = ECHILD;
+ return -1;
+ }
}
- if (nh == 0)
- {
- /* Nothing to wait on, so fail */
- errno = ECHILD;
- return -1;
- }
+ if (dont_wait)
+ timeout_ms = 0;
+ else
+ timeout_ms = 1000; /* check for quit about once a second. */
do
{
- /* Check for quit about once a second. */
QUIT;
- active = WaitForMultipleObjects (nh, wait_hnd, FALSE, 1000);
+ active = WaitForMultipleObjects (nh, wait_hnd, FALSE, timeout_ms);
} while (active == WAIT_TIMEOUT);
if (active == WAIT_FAILED)
@@ -1184,8 +1235,10 @@ get_result:
}
if (retval == STILL_ACTIVE)
{
- /* Should never happen */
+ /* Should never happen. */
DebPrint (("Wait.WaitForMultipleObjects returned an active process\n"));
+ if (pid > 0 && dont_wait)
+ return 0;
errno = EINVAL;
return -1;
}
@@ -1199,6 +1252,8 @@ get_result:
else
retval <<= 8;
+ if (pid > 0 && active != 0)
+ emacs_abort ();
cp = cps[active];
pid = cp->pid;
#ifdef FULL_DEBUG
@@ -1987,9 +2042,7 @@ count_children:
DebPrint (("select calling SIGCHLD handler for pid %d\n",
cp->pid));
#endif
- dead_child = cp;
sig_handlers[SIGCHLD] (SIGCHLD);
- dead_child = NULL;
}
}
else if (fdindex[active] == -1)
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-10 8:27 ` Eli Zaretskii
2012-11-10 14:56 ` Eli Zaretskii
@ 2012-11-10 21:44 ` Paul Eggert
2012-11-11 3:50 ` Eli Zaretskii
1 sibling, 1 reply; 20+ messages in thread
From: Paul Eggert @ 2012-11-10 21:44 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Stephen Powell, 12829
On 11/10/2012 12:27 AM, Eli Zaretskii wrote:
> Paul, are there other supported platforms that use 'wait' here?
No, waitpid is required by POSIX.1-1988 and has
been present on all GNUish and POSIXish platform
versions released since ~1990. Nowadays we can
safely assume that waitpid is on every supported
platform other than bare Microsoft platforms
such as MSVC and mingw.
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-10 21:44 ` Paul Eggert
@ 2012-11-11 3:50 ` Eli Zaretskii
0 siblings, 0 replies; 20+ messages in thread
From: Eli Zaretskii @ 2012-11-11 3:50 UTC (permalink / raw)
To: Paul Eggert; +Cc: stephen_powell, 12829
> Date: Sat, 10 Nov 2012 13:44:36 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> CC: Stephen Powell <stephen_powell@optusnet.com.au>,
> 12829@debbugs.gnu.org
>
> Nowadays we can safely assume that waitpid is on every supported
> platform other than bare Microsoft platforms such as MSVC and mingw.
Not for long.
Thanks, this means I can safely remove all the stuff for the case that
WNOHANG is not defined, when waitpid is available for Windows.
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-07 23:47 bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128 Stephen Powell
` (2 preceding siblings ...)
2012-11-09 18:59 ` Stephen Powell
@ 2012-11-10 15:45 ` Stephen Powell
2012-11-10 16:09 ` Eli Zaretskii
2012-11-10 18:03 ` Stephen Powell
2012-11-17 15:32 ` Stephen Powell
5 siblings, 1 reply; 20+ messages in thread
From: Stephen Powell @ 2012-11-10 15:45 UTC (permalink / raw)
To: Eli Zaretskii, eggert, 12829
Start emacs, `M-x gnus', `RET' to select the first group, and then `SPC'
and `n' to page through messages. Read about 20 before the crash.
[New Thread 5588.0x1f10]
Breakpoint 3, reap_subprocess (cp=0x144aa98) at w32proc.c:1096
1096 cp->procinfo.hProcess = NULL;
#0 reap_subprocess (cp=0x144aa98) at w32proc.c:1096
#1 0x01022d1b in sys_wait (status=0x0) at w32proc.c:1233
#2 0x010e03ab in wait_for_termination_1 (pid=8148, interruptible=0) at
sysdep.c:293
#3 0x010e03c7 in wait_for_termination (pid=8148) at sysdep.c:321
#4 0x0108a3a5 in Fcall_process (nargs=5, args=0x88a160) at callproc.c:854
#5 0x0100d0d1 in eval_sub (form=93146150) at eval.c:2111
Lisp Backtrace:
"call-process" (0x88a160)
"eq" (0x88a324)
"condition-case" (0x88a504)
"and" (0x88a634)
"eval" (0x88a7b0)
"custom-initialize-reset" (0x88aac8)
"custom-declare-variable" (0x88adc8)
"byte-code" (0x88b05c)
"require" (0x88b808)
"byte-code" (0x88ba8c)
"require" (0x88c248)
"byte-code" (0x88c4dc)
"require" (0x88cc88)
"byte-code" (0x88cf3c)
"require" (0x88d6e8)
"byte-code" (0x88d96c)
"require" (0x88e128)
"byte-code" (0x88e3ac)
"gnus-agentize" (0x88eb28)
"gnus-1" (0x88ee48)
"gnus" (0x88f1c4)
"call-interactively" (0x88f404)
"command-execute" (0x88f568)
"execute-extended-command" (0x88f864)
"call-interactively" (0x88fb34)
$19 = 8148
[New Thread 5588.0x15c8]
Breakpoint 3, reap_subprocess (cp=0x144aa98) at w32proc.c:1096
1096 cp->procinfo.hProcess = NULL;
#0 reap_subprocess (cp=0x144aa98) at w32proc.c:1096
#1 0x01022d1b in sys_wait (status=0x0) at w32proc.c:1233
#2 0x010e03ab in wait_for_termination_1 (pid=6076, interruptible=0) at
sysdep.c:293
#3 0x010e03c7 in wait_for_termination (pid=6076) at sysdep.c:321
#4 0x0108a3a5 in Fcall_process (nargs=6, args=0x88a444) at callproc.c:854
#5 0x0100e1e9 in Ffuncall (nargs=7, args=0x88a440) at eval.c:2755
Lisp Backtrace:
"call-process" (0x88a444)
"apply" (0x88a588)
"epg-configuration" (0x88a8ac)
"byte-code" (0x88ab0c)
"byte-code" (0x88af0c)
"defvar" (0x88b0a4)
"require" (0x88b808)
"byte-code" (0x88ba8c)
"require" (0x88c248)
"byte-code" (0x88c4dc)
"require" (0x88cc88)
"byte-code" (0x88cf3c)
"require" (0x88d6e8)
"byte-code" (0x88d96c)
"require" (0x88e128)
"byte-code" (0x88e3ac)
"gnus-agentize" (0x88eb28)
"gnus-1" (0x88ee48)
"gnus" (0x88f1c4)
"call-interactively" (0x88f404)
"command-execute" (0x88f568)
"execute-extended-command" (0x88f864)
"call-interactively" (0x88fb34)
$20 = 6076
[New Thread 5588.0xa54]
Breakpoint 3, reap_subprocess (cp=0x144aa98) at w32proc.c:1096
1096 cp->procinfo.hProcess = NULL;
#0 reap_subprocess (cp=0x144aa98) at w32proc.c:1096
#1 0x01022d1b in sys_wait (status=0x0) at w32proc.c:1233
#2 0x010e03ab in wait_for_termination_1 (pid=7660, interruptible=0) at
sysdep.c:293
#3 0x010e03c7 in wait_for_termination (pid=7660) at sysdep.c:321
#4 0x0108a3a5 in Fcall_process (nargs=6, args=0x88ac04) at callproc.c:854
#5 0x0100e1e9 in Ffuncall (nargs=7, args=0x88ac00) at eval.c:2755
Lisp Backtrace:
"call-process" (0x88ac04)
"apply" (0x88ad48)
"process-file" (0x88b068)
"shell-command-to-string" (0x88b2c0)
"string-match" (0x88b4f4)
"and" (0x88b624)
"condition-case" (0x88b804)
"if" (0x88b964)
"and" (0x88ba94)
"eval" (0x88bc10)
"custom-initialize-reset" (0x88bf28)
"custom-declare-variable" (0x88c228)
"byte-code" (0x88c4dc)
"require" (0x88cc88)
"byte-code" (0x88cf3c)
"require" (0x88d6e8)
"byte-code" (0x88d96c)
"require" (0x88e128)
"byte-code" (0x88e3ac)
"gnus-agentize" (0x88eb28)
"gnus-1" (0x88ee48)
"gnus" (0x88f1c4)
"call-interactively" (0x88f404)
"command-execute" (0x88f568)
"execute-extended-command" (0x88f864)
"call-interactively" (0x88fb34)
$21 = 7660
[New Thread 5588.0x1d80]
[New Thread 5588.0x1244]
[New Thread 5588.0x1d98]
[New Thread 5588.0x1d8c]
[New Thread 5588.0x6d0]
Breakpoint 3, reap_subprocess (cp=0x144aaf0) at w32proc.c:1096
1096 cp->procinfo.hProcess = NULL;
#0 reap_subprocess (cp=0x144aaf0) at w32proc.c:1096
#1 0x01022d26 in sys_wait (status=0x88f264) at w32proc.c:1236
#2 0x0101f2fb in process_status_retrieved (desired=5564, have=-1,
status=0x88f264) at process.c:6274
#3 0x0101f3be in record_child_status_change (pid=-1, w=256) at
process.c:6344
#4 0x0101f65d in handle_child_signal (sig=18) at process.c:6417
#5 0x010e0f64 in deliver_process_signal (sig=18, handler=0x101f643
<handle_child_signal>) at sysdep.c:1580
$22 = 820
Breakpoint 4, process_status_retrieved (desired=5564, have=820,
status=0x88f264) at process.c:6278
6278 return have == desired;
#0 process_status_retrieved (desired=5564, have=820, status=0x88f264)
at process.c:6278
#1 0x0101f3be in record_child_status_change (pid=-1, w=256) at
process.c:6344
#2 0x0101f65d in handle_child_signal (sig=18) at process.c:6417
#3 0x010e0f64 in deliver_process_signal (sig=18, handler=0x101f643
<handle_child_signal>) at sysdep.c:1580
#4 0x0101f678 in deliver_child_signal (sig=18) at process.c:6423
#5 0x01023d1d in sys_select (nfds=6, rfds=0x88f6b4, wfds=0x0, efds=0x0,
timeout=0x88f6a4, ignored=0x0) at w32proc.c:1991
#6 0x0101cc65 in wait_reading_process_output (time_limit=28, nsecs=0,
read_kbd=-1, do_display=true, wait_for_cell=53553178,
wait_proc=0x0, just_wait_proc=0) at process.c:4619
#7 0x010a786a in sit_for (timeout=112, reading=true, display_option=1)
at dispnew.c:5959
#8 0x01028df8 in read_char (commandflag=1, nmaps=8, maps=0x88f960,
prev_event=53553178, used_mouse_menu=0x88fa53, end_time=0x0)
at keyboard.c:2668
#9 0x01032ea0 in read_key_sequence (keybuf=0x88fbd0, bufsize=30,
prompt=53553178, dont_downcase_last=false,
can_return_switch_frame=true, fix_current_buffer=true) at
keyboard.c:9230
$23 = 820
$24 = 5564
$25 = (int *) 0x88f264
Program received signal SIGTRAP, Trace/breakpoint trap.
0x762a321a in KERNELBASE!DeleteAce () from
C:\Windows\syswow64\KernelBase.dll
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-10 15:45 ` Stephen Powell
@ 2012-11-10 16:09 ` Eli Zaretskii
0 siblings, 0 replies; 20+ messages in thread
From: Eli Zaretskii @ 2012-11-10 16:09 UTC (permalink / raw)
To: Stephen Powell; +Cc: eggert, 12829
> Date: Sat, 10 Nov 2012 15:45:43 +0000
> From: Stephen Powell <stephen_powell@optusnet.com.au>
>
> Start emacs, `M-x gnus', `RET' to select the first group, and then `SPC'
> and `n' to page through messages. Read about 20 before the crash.
OK, thanks. I think everything is clear now: this crash happens with
50% probability whenever there's more than one async subprocesses
monitored at the same time.
I think the changes I posted should fix that. If not, let me know
what happens, and I will take it from there.
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-07 23:47 bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128 Stephen Powell
` (3 preceding siblings ...)
2012-11-10 15:45 ` Stephen Powell
@ 2012-11-10 18:03 ` Stephen Powell
2012-11-10 18:34 ` Eli Zaretskii
2012-11-17 7:09 ` Eli Zaretskii
2012-11-17 15:32 ` Stephen Powell
5 siblings, 2 replies; 20+ messages in thread
From: Stephen Powell @ 2012-11-10 18:03 UTC (permalink / raw)
To: eliz; +Cc: eggert, stephen_powell, 12829
Eli Zaretskii <eliz@gnu.org> writes:
> I think the changes I posted should fix that.
Patch applied. I have been reading mail for an hour with the patched
version and no crashes.
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-10 18:03 ` Stephen Powell
@ 2012-11-10 18:34 ` Eli Zaretskii
2012-11-17 7:09 ` Eli Zaretskii
1 sibling, 0 replies; 20+ messages in thread
From: Eli Zaretskii @ 2012-11-10 18:34 UTC (permalink / raw)
To: Stephen Powell; +Cc: eggert, 12829
> Date: Sat, 10 Nov 2012 18:03:16 +0000
> From: Stephen Powell <stephen_powell@optusnet.com.au>
> CC: stephen_powell@optusnet.com.au, eggert@cs.ucla.edu, 12829@debbugs.gnu.org
>
> Patch applied. I have been reading mail for an hour with the patched
> version and no crashes.
Thanks, this is good news.
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-10 18:03 ` Stephen Powell
2012-11-10 18:34 ` Eli Zaretskii
@ 2012-11-17 7:09 ` Eli Zaretskii
2012-11-17 15:35 ` Paul Eggert
1 sibling, 1 reply; 20+ messages in thread
From: Eli Zaretskii @ 2012-11-17 7:09 UTC (permalink / raw)
To: Stephen Powell; +Cc: eggert, 12829
> Date: Sat, 10 Nov 2012 18:03:16 +0000
> From: Stephen Powell <stephen_powell@optusnet.com.au>
> CC: stephen_powell@optusnet.com.au, eggert@cs.ucla.edu, 12829@debbugs.gnu.org
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > I think the changes I posted should fix that.
>
> Patch applied. I have been reading mail for an hour with the patched
> version and no crashes.
Any news? Should I commit the changes?
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-17 7:09 ` Eli Zaretskii
@ 2012-11-17 15:35 ` Paul Eggert
2012-11-17 15:40 ` Eli Zaretskii
0 siblings, 1 reply; 20+ messages in thread
From: Paul Eggert @ 2012-11-17 15:35 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Stephen Powell, 12829
On 11/16/2012 11:09 PM, Eli Zaretskii wrote:
> Any news? Should I commit the changes?
I don't see anything about it that would break things,
though I'm looking only at the non-Windows part.
The following change to wait_for_termination_1
would be simpler, assuming the Windows waitpid emulation
is good enough now.
=== modified file 'src/sysdep.c'
--- src/sysdep.c 2012-11-14 04:55:41 +0000
+++ src/sysdep.c 2012-11-17 15:33:25 +0000
@@ -289,10 +289,6 @@ wait_for_termination_1 (pid_t pid, int i
{
while (1)
{
-#ifdef WINDOWSNT
- wait (0);
- break;
-#else /* not WINDOWSNT */
int status;
int wait_result = waitpid (pid, &status, 0);
if (wait_result < 0)
@@ -306,7 +302,6 @@ wait_for_termination_1 (pid_t pid, int i
break;
}
-#endif /* not WINDOWSNT */
if (interruptible)
QUIT;
}
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-17 15:35 ` Paul Eggert
@ 2012-11-17 15:40 ` Eli Zaretskii
2012-11-17 16:50 ` Eli Zaretskii
0 siblings, 1 reply; 20+ messages in thread
From: Eli Zaretskii @ 2012-11-17 15:40 UTC (permalink / raw)
To: Paul Eggert; +Cc: stephen_powell, 12829
> Date: Sat, 17 Nov 2012 07:35:54 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> CC: Stephen Powell <stephen_powell@optusnet.com.au>,
> 12829@debbugs.gnu.org
>
> On 11/16/2012 11:09 PM, Eli Zaretskii wrote:
> > Any news? Should I commit the changes?
>
> I don't see anything about it that would break things,
> though I'm looking only at the non-Windows part.
Thanks, I will install in a short while.
> The following change to wait_for_termination_1
> would be simpler, assuming the Windows waitpid emulation
> is good enough now.
>
> === modified file 'src/sysdep.c'
> --- src/sysdep.c 2012-11-14 04:55:41 +0000
> +++ src/sysdep.c 2012-11-17 15:33:25 +0000
> @@ -289,10 +289,6 @@ wait_for_termination_1 (pid_t pid, int i
> {
> while (1)
> {
> -#ifdef WINDOWSNT
> - wait (0);
> - break;
> -#else /* not WINDOWSNT */
> int status;
> int wait_result = waitpid (pid, &status, 0);
> if (wait_result < 0)
> @@ -306,7 +302,6 @@ wait_for_termination_1 (pid_t pid, int i
> break;
> }
>
> -#endif /* not WINDOWSNT */
> if (interruptible)
> QUIT;
> }
Yes, I plan to do that, given the discussion about the "interruptible"
wait here. The Windows emulation actually calls QUIT internally,
instead of returning with EINTR, but I don't think that matters in
this case.
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-17 15:40 ` Eli Zaretskii
@ 2012-11-17 16:50 ` Eli Zaretskii
0 siblings, 0 replies; 20+ messages in thread
From: Eli Zaretskii @ 2012-11-17 16:50 UTC (permalink / raw)
To: eggert, stephen_powell; +Cc: 12829-done
> Date: Sat, 17 Nov 2012 17:40:51 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: stephen_powell@optusnet.com.au, 12829@debbugs.gnu.org
>
> > Date: Sat, 17 Nov 2012 07:35:54 -0800
> > From: Paul Eggert <eggert@cs.ucla.edu>
> > CC: Stephen Powell <stephen_powell@optusnet.com.au>,
> > 12829@debbugs.gnu.org
> >
> > On 11/16/2012 11:09 PM, Eli Zaretskii wrote:
> > > Any news? Should I commit the changes?
> >
> > I don't see anything about it that would break things,
> > though I'm looking only at the non-Windows part.
>
> Thanks, I will install in a short while.
Done as trunk revision 110922. I'm closing the bug report.
> > The following change to wait_for_termination_1
> > would be simpler, assuming the Windows waitpid emulation
> > is good enough now.
> >
> > === modified file 'src/sysdep.c'
> > --- src/sysdep.c 2012-11-14 04:55:41 +0000
> > +++ src/sysdep.c 2012-11-17 15:33:25 +0000
> > @@ -289,10 +289,6 @@ wait_for_termination_1 (pid_t pid, int i
> > {
> > while (1)
> > {
> > -#ifdef WINDOWSNT
> > - wait (0);
> > - break;
> > -#else /* not WINDOWSNT */
> > int status;
> > int wait_result = waitpid (pid, &status, 0);
> > if (wait_result < 0)
> > @@ -306,7 +302,6 @@ wait_for_termination_1 (pid_t pid, int i
> > break;
> > }
> >
> > -#endif /* not WINDOWSNT */
> > if (interruptible)
> > QUIT;
> > }
>
> Yes, I plan to do that
Done as well. I also removed the remaining fragments that catered to
systems without WNOHANG, as there are no such system anymore.
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128
2012-11-07 23:47 bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128 Stephen Powell
` (4 preceding siblings ...)
2012-11-10 18:03 ` Stephen Powell
@ 2012-11-17 15:32 ` Stephen Powell
5 siblings, 0 replies; 20+ messages in thread
From: Stephen Powell @ 2012-11-17 15:32 UTC (permalink / raw)
To: eliz; +Cc: eggert, stephen_powell, 12829
Eli Zaretskii <eliz@gnu.org> writes:
> Any news? Should I commit the changes?
Sure, do it.
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2012-11-17 16:50 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-07 23:47 bug#12829: 24.3.50; emacs_abort () called from w32proc.c:1128 Stephen Powell
2012-11-08 3:46 ` Eli Zaretskii
2012-11-08 15:48 ` Stephen Powell
2012-11-09 9:41 ` Eli Zaretskii
2012-11-09 18:59 ` Stephen Powell
2012-11-09 19:38 ` Eli Zaretskii
2012-11-09 20:16 ` Stephen Powell
2012-11-10 8:27 ` Eli Zaretskii
2012-11-10 14:56 ` Eli Zaretskii
2012-11-10 21:44 ` Paul Eggert
2012-11-11 3:50 ` Eli Zaretskii
2012-11-10 15:45 ` Stephen Powell
2012-11-10 16:09 ` Eli Zaretskii
2012-11-10 18:03 ` Stephen Powell
2012-11-10 18:34 ` Eli Zaretskii
2012-11-17 7:09 ` Eli Zaretskii
2012-11-17 15:35 ` Paul Eggert
2012-11-17 15:40 ` Eli Zaretskii
2012-11-17 16:50 ` Eli Zaretskii
2012-11-17 15:32 ` Stephen Powell
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).