From: "Basil L. Contovounesios" <contovob@tcd.ie>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 34655@debbugs.gnu.org, Philipp Stephani <p.stephani2@gmail.com>
Subject: bug#34655: 26.1.92; Segfault in module with --module-assertions
Date: Sun, 17 Mar 2019 16:38:58 +0000 [thread overview]
Message-ID: <87h8c1cv6l.fsf@tcd.ie> (raw)
In-Reply-To: <874l8r1t3a.fsf@tcd.ie>
[-- Attachment #1: gdb.txt --]
[-- Type: text/plain, Size: 43910 bytes --]
Starting program: /home/blc/.local/src/emacs26/src/emacs -Q --module-assertions
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff07c1700 (LWP 31458)]
[New Thread 0x7fffefe12700 (LWP 31459)]
[New Thread 0x7fffef481700 (LWP 31460)]
Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:364
364 signal (sig, SIG_DFL);
#0 0x0000000000584d53 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647)
at emacs.c:364
#1 0x000000000061bfdf in die
(msg=0x786cf2 "STRINGP (*p) && SSDATA (*p)", file=0x7869a0 "emacs-module.c", line=984) at alloc.c:7406
#2 0x00000000006854ce in value_to_lisp (v=0x3059c90) at emacs-module.c:984
p = 0x3059c90
values = XIL(0x2fb6243)
env = 0x3059b70
environments = XIL(0x2fb6353)
vptr = 0x3059c90
optr = 0x3059c90
num_environments = 0
num_values = 3
b = true
o = XIL(0x7fffffffb5b0)
#3 0x0000000000682ad6 in module_funcall
(env=0x3059b70, fun=0x2e52d60, nargs=1, args=0x7fffffffb728)
at emacs-module.c:480
i = 0
internal_handler_CONDITION_CASE = 0x2c802a0
internal_cleanup_CONDITION_CASE = 0x2c802a0
internal_handler_CATCHER_ALL = 0x2c7f9c0
internal_cleanup_CATCHER_ALL = 0x2c7f9c0
newargs = 0x7fffffffb5e0
sa_avail = 16368
sa_count = 23
sa_must_free = false
nargs1 = 2
result = 0x7fffffffb6a0
#4 0x00007fffee809263 in rp_funcall
(env=0x3059b70, value=0x7fffffffb728, name=0x7fffee80a02d "file-name-as-directory", nargs=1, args=0x7fffffffb728) at realpath.c:62
#5 0x00007fffee80951e in Frealpath_truename
(env=0x3059b70, nargs=1, args=0x7fffffffb750, data=0x0) at realpath.c:127
file = 0x3059c90
dir = 0x2e3db80
obuf = 0x3059c70 "/home/blc/.emacs.d/"
nbuf = 0x3059ce0 "/home/blc/.emacs.d"
#6 0x0000000000684eb8 in funcall_module
(function=XIL(0x2cd8fc5), nargs=1, arglist=0x7fffffffb990) at emacs-module.c:788
func = 0x2cd8fc0
pub = {
size = 140737488336824,
private_members = 0x7ffff6c43760,
make_global_ref = 0x2c85380,
free_global_ref = 0x0,
non_local_exit_check = 0x7fffffffb830,
non_local_exit_clear = 0x8ec8b95782e18b00,
non_local_exit_get = 0x2c85380,
non_local_exit_signal = 0x2c85380,
non_local_exit_throw = 0x7fffffffb840,
make_function = 0xc17f20 <lispsym+52896>,
funcall = 0x42,
intern = 0xcea0,
type_of = 0x7fffffffb820,
is_not_nil = 0x57e6cb <builtin_lisp_symbol+48>,
eq = 0x7fffffffb840,
extract_integer = 0x44e01043390,
make_integer = 0x7fffffffb860,
extract_float = 0x61f56e <Fsymbol_value+43>,
make_float = 0x7fffffffb840,
copy_string_contents = 0x438310 <x_figure_window_size+6133>,
make_string = 0x7fffffffb860,
make_user_ptr = 0x8096c4 <pure+130788>,
get_user_ptr = 0x580dca <FRAMEP+29>,
set_user_ptr = 0x0,
get_user_finalizer = 0x7fffffffb980,
set_user_finalizer = 0x642070 <eval_sub+210>,
vec_get = 0x7fffffffb890,
vec_set = 0x438310 <x_figure_window_size+6133>,
vec_size = 0x2d94b15,
should_quit = 0x7e4480 <x_redisplay_interface>
}
priv = {
pending_non_local_exit = emacs_funcall_exit_return,
non_local_exit_symbol = XIL(0),
non_local_exit_data = XIL(0),
values = XIL(0xc9a023)
}
env = 0x3059b70
count = 22
sa_avail = 16376
sa_count = 23
sa_must_free = false
args = 0x7fffffffb750
ret = 0x1100463791
#7 0x0000000000644baa in funcall_lambda (fun=XIL(0x2cd8fc5), nargs=1, arg_vector=0x7fffffffb990) at eval.c:2987
val = XIL(0x648c9c)
syms_left = XIL(0x7fffffffb990)
next = XIL(0x21055d0)
lexenv = XIL(0x580de9)
count = 22
i = 34624976
optional = false
rest = false
previous_optional_or_rest = false
#8 0x00000000006447f1 in apply_lambda (fun=XIL(0x2cd8fc5), args=XIL(0x1295563), count=21) at eval.c:2913
args_left = XIL(0)
i = 1
numargs = 1
arg_vector = 0x7fffffffb990
tem = XIL(0x8096c4)
sa_avail = 16376
sa_count = 22
sa_must_free = false
#9 0x00000000006429c9 in eval_sub (form=XIL(0x1295573)) at eval.c:2286
fun = XIL(0x2cd8fc5)
val = XIL(0x3057534)
original_fun = XIL(0x21055d0)
original_args = XIL(0x1295563)
funcar = XIL(0x2d6f6f1)
count = 21
argvals = {XIL(0x7fffffffbae0), XIL(0x1293903), XIL(0x2105600), XIL(0x2d4e000), XIL(0x41f2b0), make_number(0), XIL(0x10), make_number(2)}
#10 0x000000000063cef2 in Fprogn (body=XIL(0x129a7d3)) at eval.c:459
form = XIL(0x1295573)
val = XIL(0x3057534)
#11 0x000000000063cf24 in prog_ignore (body=XIL(0x129a773)) at eval.c:470
#12 0x000000000063f11c in Fwhile (args=XIL(0x129a6c3)) at eval.c:992
test = XIL(0x1293903)
body = XIL(0x129a773)
#13 0x0000000000642382 in eval_sub (form=XIL(0x129a663)) at eval.c:2193
args_left = XIL(0x129a6c3)
numargs = make_number(4)
fun = XIL(0xb90f45)
val = XIL(0x7fffffffbca0)
original_fun = XIL(0xae0a0)
original_args = XIL(0x129a6c3)
funcar = XIL(0xc0b080)
count = 20
argvals = {XIL(0), XIL(0), XIL(0x2e3dad0), XIL(0), XIL(0x7fffffffbde0), XIL(0x684c6c), XIL(0x7fffffffbc80), XIL(0x2e501b4)}
#14 0x000000000063cef2 in Fprogn (body=XIL(0)) at eval.c:459
form = XIL(0x129a663)
val = XIL(0)
#15 0x000000000063f03c in Flet (args=XIL(0x129a5d3)) at eval.c:973
temps = 0x7fffffffbd20
tem = make_number(0)
lexenv = XIL(0)
elt = XIL(0x1293a03)
varlist = XIL(0)
count = 18
argnum = 2
sa_avail = 16368
sa_count = 18
sa_must_free = false
varlist_len = 2
nvars = 2
#16 0x0000000000642382 in eval_sub (form=XIL(0x129a5c3)) at eval.c:2193
args_left = XIL(0x129a5d3)
numargs = make_number(2)
fun = XIL(0xb90f05)
val = XIL(0xc2a0)
original_fun = XIL(0x83a0)
original_args = XIL(0x129a5d3)
funcar = XIL(0x57e6cb)
count = 17
argvals = {XIL(0x2e501b4), XIL(0), make_number(0), XIL(0xc0a7a0), XIL(0x7fffffffbe80), XIL(0xc0b080), XIL(0x7fffffffbf00), XIL(0)}
#17 0x000000000063cef2 in Fprogn (body=XIL(0)) at eval.c:459
form = XIL(0x129a5c3)
val = XIL(0xc2a0)
#18 0x0000000000642382 in eval_sub (form=XIL(0x1299623)) at eval.c:2193
args_left = XIL(0x1299613)
numargs = make_number(2)
fun = XIL(0xb90bc5)
val = XIL(0x1105280)
original_fun = XIL(0xa920)
original_args = XIL(0x1299613)
funcar = make_number(1644217)
count = 16
argvals = {XIL(0x7fffffffbfb0), XIL(0xc0a7a0), XIL(0xc9e400), XIL(0), XIL(0x7fffffffbfd0), XIL(0xc12a90), XIL(0x580b87), XIL(0)}
#19 0x0000000000641d39 in Feval (form=XIL(0x1299623), lexical=XIL(0)) at eval.c:2061
count = 15
#20 0x0000000000644464 in funcall_subr (subr=0xb911c0 <Seval>, numargs=2, args=0x7fffffffc210) at eval.c:2853
internal_argbuf = {XIL(0xb911c0), XIL(0x7fffffffc0f8), make_number(1440909), XIL(0xa00c0b080), XIL(0xb911c5), XIL(0x7fffffffc118), XIL(0xb911c0), XIL(0x7fffffffc110)}
internal_args = 0x7fffffffc210
#21 0x0000000000643f75 in Ffuncall (nargs=3, args=0x7fffffffc208) at eval.c:2776
fun = XIL(0xb911c5)
original_fun = XIL(0x53a0)
funcar = make_number(1604955)
numargs = 2
val = XIL(0x7fffffffc190)
count = 14
#22 0x000000000069985f in exec_byte_code (bytestr=XIL(0x94686c), vector=XIL(0x94688d), maxdepth=make_number(16), args_template=make_number(257), nargs=1, args=0x7fffffffc6b0) at bytecode.c:630
op = 2
type = CATCHER
targets = {0x69c7ce <exec_byte_code+15689>, 0x69c7f3 <exec_byte_code+15726>, 0x69c7f5 <exec_byte_code+15728>, 0x69c7f7 <exec_byte_code+15730>, 0x69c7f9 <exec_byte_code+15732>, 0x69c7f9 <exec_byte_code+15732>, 0x69c85e <exec_byte_code+15833>, 0x69c8d2 <exec_byte_code+15949>, 0x698f99 <exec_byte_code+1300>, 0x698f9b <exec_byte_code+1302>, 0x698f9d <exec_byte_code+1304>, 0x698f9f <exec_byte_code+1306>, 0x698fa1 <exec_byte_code+1308>, 0x698fa1 <exec_byte_code+1308>, 0x698fa7 <exec_byte_code+1314>, 0x698f68 <exec_byte_code+1251>, 0x69946d <exec_byte_code+2536>, 0x69946f <exec_byte_code+2538>, 0x699471 <exec_byte_code+2540>, 0x699473 <exec_byte_code+2542>, 0x699475 <exec_byte_code+2544>, 0x699475 <exec_byte_code+2544>, 0x6994aa <exec_byte_code+2597>, 0x69947b <exec_byte_code+2550>, 0x69977c <exec_byte_code+3319>, 0x69977e <exec_byte_code+3321>, 0x699780 <exec_byte_code+3323>, 0x699782 <exec_byte_code+3325>, 0x699784 <exec_byte_code+3327>, 0x699784 <exec_byte_code+3327>, 0x699736 <exec_byte_code+3249>, 0x69974d <exec_byte_code+3272>, 0x69982c <exec_byte_code+3495>, 0x69982e <exec_byte_code+3497>, 0x699830 <exec_byte_code+3499>, 0x699832 <exec_byte_code+3501>, 0x699834 <exec_byte_code+3503>, 0x699834 <exec_byte_code+3503>, 0x6997e6 <exec_byte_code+3425>, 0x6997fd <exec_byte_code+3448>, 0x6998e1 <exec_byte_code+3676>, 0x6998e3 <exec_byte_code+3678>, 0x6998e5 <exec_byte_code+3680>, 0x6998e7 <exec_byte_code+3682>, 0x6998e9 <exec_byte_code+3684>, 0x6998e9 <exec_byte_code+3684>, 0x69989b <exec_byte_code+3606>, 0x6998b2 <exec_byte_code+3629>, 0x69a140 <exec_byte_code+5819>, 0x69a026 <exec_byte_code+5537>, 0x69a01d <exec_byte_code+5528>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69a371 <exec_byte_code+6380>, 0x69a490 <exec_byte_code+6667>, 0x69a4fa <exec_byte_code+6773>, 0x69a565 <exec_byte_code+6880>, 0x69a5d1 <exec_byte_code+6988>, 0x6992c0 <exec_byte_code+2107>, 0x699345 <exec_byte_code+2240>, 0x69a652 <exec_byte_code+7117>, 0x699201 <exec_byte_code+1916>, 0x6993ad <exec_byte_code+2344>, 0x69a6c4 <exec_byte_code+7231>, 0x69a72c <exec_byte_code+7335>, 0x69a774 <exec_byte_code+7407>, 0x69a7dc <exec_byte_code+7511>, 0x69a82e <exec_byte_code+7593>, 0x69a8ff <exec_byte_code+7802>, 0x69a947 <exec_byte_code+7874>, 0x69a9af <exec_byte_code+7978>, 0x69aa34 <exec_byte_code+8111>, 0x69aa7c <exec_byte_code+8183>, 0x69aac4 <exec_byte_code+8255>, 0x69ab2c <exec_byte_code+8359>, 0x69ab94 <exec_byte_code+8463>, 0x69abfc <exec_byte_code+8567>, 0x69ac81 <exec_byte_code+8700>, 0x69acd3 <exec_byte_code+8782>, 0x69ad25 <exec_byte_code+8864>, 0x69adf6 <exec_byte_code+9073>, 0x69ae70 <exec_byte_code+9195>, 0x69aeea <exec_byte_code+9317>, 0x69b0b6 <exec_byte_code+9777>, 0x69b123 <exec_byte_code+9886>, 0x69b190 <exec_byte_code+9995>, 0x69b1fd <exec_byte_code+10104>, 0x69b26a <exec_byte_code+10213>, 0x69b2bc <exec_byte_code+10295>, 0x69b33a <exec_byte_code+10421>, 0x69b38c <exec_byte_code+10503>, 0x69b3de <exec_byte_code+10585>, 0x69b430 <exec_byte_code+10667>, 0x69b53c <exec_byte_code+10935>, 0x699ea0 <exec_byte_code+5147>, 0x69b59a <exec_byte_code+11029>, 0x69b5e2 <exec_byte_code+11101>, 0x69b6ae <exec_byte_code+11305>, 0x69b717 <exec_byte_code+11410>, 0x69b775 <exec_byte_code+11504>, 0x69b7bd <exec_byte_code+11576>, 0x69b803 <exec_byte_code+11646>, 0x69b849 <exec_byte_code+11716>, 0x69b897 <exec_byte_code+11794>, 0x69c7ce <exec_byte_code+15689>, 0x69b8ef <exec_byte_code+11882>, 0x69b935 <exec_byte_code+11952>, 0x69b97b <exec_byte_code+12022>, 0x69b9c1 <exec_byte_code+12092>, 0x69ba07 <exec_byte_code+12162>, 0x69ba4d <exec_byte_code+12232>, 0x699ea0 <exec_byte_code+5147>, 0x69c7ce <exec_byte_code+15689>, 0x69ba95 <exec_byte_code+12304>, 0x69baea <exec_byte_code+12389>, 0x69bb32 <exec_byte_code+12461>, 0x69bb7a <exec_byte_code+12533>, 0x69bbe2 <exec_byte_code+12637>, 0x69bc4a <exec_byte_code+12741>, 0x69bc92 <exec_byte_code+12813>, 0x69bdac <exec_byte_code+13095>, 0x69be14 <exec_byte_code+13199>, 0x69be7c <exec_byte_code+13303>, 0x69bee4 <exec_byte_code+13407>, 0x69bf2a <exec_byte_code+13477>, 0x69c7ce <exec_byte_code+15689>, 0x699dd4 <exec_byte_code+4943>, 0x699998 <exec_byte_code+3859>, 0x699172 <exec_byte_code+1773>, 0x699a44 <exec_byte_code+4031>, 0x699ac5 <exec_byte_code+4160>, 0x699b43 <exec_byte_code+4286>, 0x699d88 <exec_byte_code+4867>, 0x699d9d <exec_byte_code+4888>, 0x6996e3 <exec_byte_code+3166>, 0x699e57 <exec_byte_code+5074>, 0x699ed7 <exec_byte_code+5202>, 0x699f65 <exec_byte_code+5344>, 0x699fae <exec_byte_code+5417>, 0x69a18c <exec_byte_code+5895>, 0x69a209 <exec_byte_code+6020>, 0x69a28e <exec_byte_code+6153>, 0x69a2ee <exec_byte_code+6249>, 0x69994a <exec_byte_code+3781>, 0x69bf72 <exec_byte_code+13549>, 0x69bff7 <exec_byte_code+13682>, 0x69c03f <exec_byte_code+13754>, 0x69c087 <exec_byte_code+13826>, 0x69c0cf <exec_byte_code+13898>, 0x69c117 <exec_byte_code+13970>, 0x69c17f <exec_byte_code+14074>, 0x69c1e7 <exec_byte_code+14178>, 0x69c24f <exec_byte_code+14282>, 0x69c2b7 <exec_byte_code+14386>, 0x69c42d <exec_byte_code+14760>, 0x69c495 <exec_byte_code+14864>, 0x69c4fd <exec_byte_code+14968>, 0x69c545 <exec_byte_code+15040>, 0x69c5ad <exec_byte_code+15144>, 0x69c615 <exec_byte_code+15248>, 0x69c65d <exec_byte_code+15320>, 0x69c6a5 <exec_byte_code+15392>, 0x69b482 <exec_byte_code+10749>, 0x69b4d4 <exec_byte_code+10831>, 0x69c6f7 <exec_byte_code+15474>, 0x69c763 <exec_byte_code+15582>, 0x69c7ce <exec_byte_code+15689>, 0x699bc1 <exec_byte_code+4412>, 0x699bde <exec_byte_code+4441>, 0x699c4a <exec_byte_code+4549>, 0x699cb6 <exec_byte_code+4657>, 0x699d1f <exec_byte_code+4762>, 0x69a880 <exec_byte_code+7675>, 0x69ad77 <exec_byte_code+8946>, 0x69b62f <exec_byte_code+11178>, 0x69c965 <exec_byte_code+16096>, 0x69c9da <exec_byte_code+16213>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69ca70 <exec_byte_code+16363>, 0x69caf7 <exec_byte_code+16498>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69cd0b <exec_byte_code+17030> <repeats 64 times>}
const_length = 7
bytestr_length = 43
vectorp = 0x946890 <pure+1429680>
quitcounter = 1 '\001'
stack_items = 17
sa_avail = 16205
sa_count = 14
sa_must_free = false
stack_base = 0x7fffffffc1a0
stack_lim = 0x7fffffffc228
top = 0x7fffffffc208
void_stack_lim = 0x7fffffffc228
bytestr_data = 0x7fffffffc228 "\301\001!\211@\001A\211@\001A\211@\001A\001\004\006\a\302\303\304\305 !\b\"\002\203#"
pc = 0x7fffffffc243 "\002\203#"
count = 14
result = XIL(0)
#23 0x0000000000644b6f in funcall_lambda (fun=XIL(0x94683d), nargs=1, arg_vector=0x7fffffffc6a8) at eval.c:2977
size = 5
val = XIL(0x7fffffffc608)
syms_left = make_number(257)
next = XIL(0x1200c0b080)
lexenv = XIL(0x7fffffffc5e0)
count = 14
i = 0
optional = false
rest = false
previous_optional_or_rest = false
#24 0x0000000000643fb9 in Ffuncall (nargs=2, args=0x7fffffffc6a0) at eval.c:2778
fun = XIL(0x94683d)
original_fun = XIL(0xa39960)
funcar = XIL(0x645e21)
numargs = 1
val = XIL(0x7fffffffc680)
count = 13
#25 0x000000000069985f in exec_byte_code (bytestr=XIL(0x946b0c), vector=XIL(0x946b2d), maxdepth=make_number(4), args_template=make_number(257), nargs=1, args=0x7fffffffcb30) at bytecode.c:630
op = 1
type = (unknown: 12114688)
targets = {0x69c7ce <exec_byte_code+15689>, 0x69c7f3 <exec_byte_code+15726>, 0x69c7f5 <exec_byte_code+15728>, 0x69c7f7 <exec_byte_code+15730>, 0x69c7f9 <exec_byte_code+15732>, 0x69c7f9 <exec_byte_code+15732>, 0x69c85e <exec_byte_code+15833>, 0x69c8d2 <exec_byte_code+15949>, 0x698f99 <exec_byte_code+1300>, 0x698f9b <exec_byte_code+1302>, 0x698f9d <exec_byte_code+1304>, 0x698f9f <exec_byte_code+1306>, 0x698fa1 <exec_byte_code+1308>, 0x698fa1 <exec_byte_code+1308>, 0x698fa7 <exec_byte_code+1314>, 0x698f68 <exec_byte_code+1251>, 0x69946d <exec_byte_code+2536>, 0x69946f <exec_byte_code+2538>, 0x699471 <exec_byte_code+2540>, 0x699473 <exec_byte_code+2542>, 0x699475 <exec_byte_code+2544>, 0x699475 <exec_byte_code+2544>, 0x6994aa <exec_byte_code+2597>, 0x69947b <exec_byte_code+2550>, 0x69977c <exec_byte_code+3319>, 0x69977e <exec_byte_code+3321>, 0x699780 <exec_byte_code+3323>, 0x699782 <exec_byte_code+3325>, 0x699784 <exec_byte_code+3327>, 0x699784 <exec_byte_code+3327>, 0x699736 <exec_byte_code+3249>, 0x69974d <exec_byte_code+3272>, 0x69982c <exec_byte_code+3495>, 0x69982e <exec_byte_code+3497>, 0x699830 <exec_byte_code+3499>, 0x699832 <exec_byte_code+3501>, 0x699834 <exec_byte_code+3503>, 0x699834 <exec_byte_code+3503>, 0x6997e6 <exec_byte_code+3425>, 0x6997fd <exec_byte_code+3448>, 0x6998e1 <exec_byte_code+3676>, 0x6998e3 <exec_byte_code+3678>, 0x6998e5 <exec_byte_code+3680>, 0x6998e7 <exec_byte_code+3682>, 0x6998e9 <exec_byte_code+3684>, 0x6998e9 <exec_byte_code+3684>, 0x69989b <exec_byte_code+3606>, 0x6998b2 <exec_byte_code+3629>, 0x69a140 <exec_byte_code+5819>, 0x69a026 <exec_byte_code+5537>, 0x69a01d <exec_byte_code+5528>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69a371 <exec_byte_code+6380>, 0x69a490 <exec_byte_code+6667>, 0x69a4fa <exec_byte_code+6773>, 0x69a565 <exec_byte_code+6880>, 0x69a5d1 <exec_byte_code+6988>, 0x6992c0 <exec_byte_code+2107>, 0x699345 <exec_byte_code+2240>, 0x69a652 <exec_byte_code+7117>, 0x699201 <exec_byte_code+1916>, 0x6993ad <exec_byte_code+2344>, 0x69a6c4 <exec_byte_code+7231>, 0x69a72c <exec_byte_code+7335>, 0x69a774 <exec_byte_code+7407>, 0x69a7dc <exec_byte_code+7511>, 0x69a82e <exec_byte_code+7593>, 0x69a8ff <exec_byte_code+7802>, 0x69a947 <exec_byte_code+7874>, 0x69a9af <exec_byte_code+7978>, 0x69aa34 <exec_byte_code+8111>, 0x69aa7c <exec_byte_code+8183>, 0x69aac4 <exec_byte_code+8255>, 0x69ab2c <exec_byte_code+8359>, 0x69ab94 <exec_byte_code+8463>, 0x69abfc <exec_byte_code+8567>, 0x69ac81 <exec_byte_code+8700>, 0x69acd3 <exec_byte_code+8782>, 0x69ad25 <exec_byte_code+8864>, 0x69adf6 <exec_byte_code+9073>, 0x69ae70 <exec_byte_code+9195>, 0x69aeea <exec_byte_code+9317>, 0x69b0b6 <exec_byte_code+9777>, 0x69b123 <exec_byte_code+9886>, 0x69b190 <exec_byte_code+9995>, 0x69b1fd <exec_byte_code+10104>, 0x69b26a <exec_byte_code+10213>, 0x69b2bc <exec_byte_code+10295>, 0x69b33a <exec_byte_code+10421>, 0x69b38c <exec_byte_code+10503>, 0x69b3de <exec_byte_code+10585>, 0x69b430 <exec_byte_code+10667>, 0x69b53c <exec_byte_code+10935>, 0x699ea0 <exec_byte_code+5147>, 0x69b59a <exec_byte_code+11029>, 0x69b5e2 <exec_byte_code+11101>, 0x69b6ae <exec_byte_code+11305>, 0x69b717 <exec_byte_code+11410>, 0x69b775 <exec_byte_code+11504>, 0x69b7bd <exec_byte_code+11576>, 0x69b803 <exec_byte_code+11646>, 0x69b849 <exec_byte_code+11716>, 0x69b897 <exec_byte_code+11794>, 0x69c7ce <exec_byte_code+15689>, 0x69b8ef <exec_byte_code+11882>, 0x69b935 <exec_byte_code+11952>, 0x69b97b <exec_byte_code+12022>, 0x69b9c1 <exec_byte_code+12092>, 0x69ba07 <exec_byte_code+12162>, 0x69ba4d <exec_byte_code+12232>, 0x699ea0 <exec_byte_code+5147>, 0x69c7ce <exec_byte_code+15689>, 0x69ba95 <exec_byte_code+12304>, 0x69baea <exec_byte_code+12389>, 0x69bb32 <exec_byte_code+12461>, 0x69bb7a <exec_byte_code+12533>, 0x69bbe2 <exec_byte_code+12637>, 0x69bc4a <exec_byte_code+12741>, 0x69bc92 <exec_byte_code+12813>, 0x69bdac <exec_byte_code+13095>, 0x69be14 <exec_byte_code+13199>, 0x69be7c <exec_byte_code+13303>, 0x69bee4 <exec_byte_code+13407>, 0x69bf2a <exec_byte_code+13477>, 0x69c7ce <exec_byte_code+15689>, 0x699dd4 <exec_byte_code+4943>, 0x699998 <exec_byte_code+3859>, 0x699172 <exec_byte_code+1773>, 0x699a44 <exec_byte_code+4031>, 0x699ac5 <exec_byte_code+4160>, 0x699b43 <exec_byte_code+4286>, 0x699d88 <exec_byte_code+4867>, 0x699d9d <exec_byte_code+4888>, 0x6996e3 <exec_byte_code+3166>, 0x699e57 <exec_byte_code+5074>, 0x699ed7 <exec_byte_code+5202>, 0x699f65 <exec_byte_code+5344>, 0x699fae <exec_byte_code+5417>, 0x69a18c <exec_byte_code+5895>, 0x69a209 <exec_byte_code+6020>, 0x69a28e <exec_byte_code+6153>, 0x69a2ee <exec_byte_code+6249>, 0x69994a <exec_byte_code+3781>, 0x69bf72 <exec_byte_code+13549>, 0x69bff7 <exec_byte_code+13682>, 0x69c03f <exec_byte_code+13754>, 0x69c087 <exec_byte_code+13826>, 0x69c0cf <exec_byte_code+13898>, 0x69c117 <exec_byte_code+13970>, 0x69c17f <exec_byte_code+14074>, 0x69c1e7 <exec_byte_code+14178>, 0x69c24f <exec_byte_code+14282>, 0x69c2b7 <exec_byte_code+14386>, 0x69c42d <exec_byte_code+14760>, 0x69c495 <exec_byte_code+14864>, 0x69c4fd <exec_byte_code+14968>, 0x69c545 <exec_byte_code+15040>, 0x69c5ad <exec_byte_code+15144>, 0x69c615 <exec_byte_code+15248>, 0x69c65d <exec_byte_code+15320>, 0x69c6a5 <exec_byte_code+15392>, 0x69b482 <exec_byte_code+10749>, 0x69b4d4 <exec_byte_code+10831>, 0x69c6f7 <exec_byte_code+15474>, 0x69c763 <exec_byte_code+15582>, 0x69c7ce <exec_byte_code+15689>, 0x699bc1 <exec_byte_code+4412>, 0x699bde <exec_byte_code+4441>, 0x699c4a <exec_byte_code+4549>, 0x699cb6 <exec_byte_code+4657>, 0x699d1f <exec_byte_code+4762>, 0x69a880 <exec_byte_code+7675>, 0x69ad77 <exec_byte_code+8946>, 0x69b62f <exec_byte_code+11178>, 0x69c965 <exec_byte_code+16096>, 0x69c9da <exec_byte_code+16213>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69ca70 <exec_byte_code+16363>, 0x69caf7 <exec_byte_code+16498>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69cd0b <exec_byte_code+17030> <repeats 64 times>}
const_length = 4
bytestr_length = 29
vectorp = 0x946b30 <pure+1430352>
quitcounter = 1 '\001'
stack_items = 5
sa_avail = 16315
sa_count = 12
sa_must_free = false
stack_base = 0x7fffffffc690
stack_lim = 0x7fffffffc6b8
top = 0x7fffffffc6a0
void_stack_lim = 0x7fffffffc6b8
bytestr_data = 0x7fffffffc6b8 "\b\204\b"
pc = 0x7fffffffc6c5 "\n)B\211A\t=\204\032"
count = 12
result = XIL(0x7fffffffc950)
#26 0x0000000000644b6f in funcall_lambda (fun=XIL(0x946acd), nargs=1, arg_vector=0x7fffffffcb28) at eval.c:2977
size = 6
val = XIL(0x7fffffffca88)
syms_left = make_number(257)
next = XIL(0x1200c0b080)
lexenv = make_number(1440909)
count = 12
i = 0
optional = false
rest = false
previous_optional_or_rest = false
#27 0x0000000000643fb9 in Ffuncall (nargs=2, args=0x7fffffffcb20) at eval.c:2778
fun = XIL(0x946acd)
original_fun = XIL(0x4dd0a0)
funcar = XIL(0xc0b080)
numargs = 1
val = XIL(0xc2a0)
count = 11
#28 0x000000000069985f in exec_byte_code (bytestr=XIL(0x94602c), vector=XIL(0x94604d), maxdepth=make_number(3), args_template=make_number(256), nargs=1, args=0x7fffffffd0c8) at bytecode.c:630
op = 1
type = (unknown: 12133568)
targets = {0x69c7ce <exec_byte_code+15689>, 0x69c7f3 <exec_byte_code+15726>, 0x69c7f5 <exec_byte_code+15728>, 0x69c7f7 <exec_byte_code+15730>, 0x69c7f9 <exec_byte_code+15732>, 0x69c7f9 <exec_byte_code+15732>, 0x69c85e <exec_byte_code+15833>, 0x69c8d2 <exec_byte_code+15949>, 0x698f99 <exec_byte_code+1300>, 0x698f9b <exec_byte_code+1302>, 0x698f9d <exec_byte_code+1304>, 0x698f9f <exec_byte_code+1306>, 0x698fa1 <exec_byte_code+1308>, 0x698fa1 <exec_byte_code+1308>, 0x698fa7 <exec_byte_code+1314>, 0x698f68 <exec_byte_code+1251>, 0x69946d <exec_byte_code+2536>, 0x69946f <exec_byte_code+2538>, 0x699471 <exec_byte_code+2540>, 0x699473 <exec_byte_code+2542>, 0x699475 <exec_byte_code+2544>, 0x699475 <exec_byte_code+2544>, 0x6994aa <exec_byte_code+2597>, 0x69947b <exec_byte_code+2550>, 0x69977c <exec_byte_code+3319>, 0x69977e <exec_byte_code+3321>, 0x699780 <exec_byte_code+3323>, 0x699782 <exec_byte_code+3325>, 0x699784 <exec_byte_code+3327>, 0x699784 <exec_byte_code+3327>, 0x699736 <exec_byte_code+3249>, 0x69974d <exec_byte_code+3272>, 0x69982c <exec_byte_code+3495>, 0x69982e <exec_byte_code+3497>, 0x699830 <exec_byte_code+3499>, 0x699832 <exec_byte_code+3501>, 0x699834 <exec_byte_code+3503>, 0x699834 <exec_byte_code+3503>, 0x6997e6 <exec_byte_code+3425>, 0x6997fd <exec_byte_code+3448>, 0x6998e1 <exec_byte_code+3676>, 0x6998e3 <exec_byte_code+3678>, 0x6998e5 <exec_byte_code+3680>, 0x6998e7 <exec_byte_code+3682>, 0x6998e9 <exec_byte_code+3684>, 0x6998e9 <exec_byte_code+3684>, 0x69989b <exec_byte_code+3606>, 0x6998b2 <exec_byte_code+3629>, 0x69a140 <exec_byte_code+5819>, 0x69a026 <exec_byte_code+5537>, 0x69a01d <exec_byte_code+5528>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69a371 <exec_byte_code+6380>, 0x69a490 <exec_byte_code+6667>, 0x69a4fa <exec_byte_code+6773>, 0x69a565 <exec_byte_code+6880>, 0x69a5d1 <exec_byte_code+6988>, 0x6992c0 <exec_byte_code+2107>, 0x699345 <exec_byte_code+2240>, 0x69a652 <exec_byte_code+7117>, 0x699201 <exec_byte_code+1916>, 0x6993ad <exec_byte_code+2344>, 0x69a6c4 <exec_byte_code+7231>, 0x69a72c <exec_byte_code+7335>, 0x69a774 <exec_byte_code+7407>, 0x69a7dc <exec_byte_code+7511>, 0x69a82e <exec_byte_code+7593>, 0x69a8ff <exec_byte_code+7802>, 0x69a947 <exec_byte_code+7874>, 0x69a9af <exec_byte_code+7978>, 0x69aa34 <exec_byte_code+8111>, 0x69aa7c <exec_byte_code+8183>, 0x69aac4 <exec_byte_code+8255>, 0x69ab2c <exec_byte_code+8359>, 0x69ab94 <exec_byte_code+8463>, 0x69abfc <exec_byte_code+8567>, 0x69ac81 <exec_byte_code+8700>, 0x69acd3 <exec_byte_code+8782>, 0x69ad25 <exec_byte_code+8864>, 0x69adf6 <exec_byte_code+9073>, 0x69ae70 <exec_byte_code+9195>, 0x69aeea <exec_byte_code+9317>, 0x69b0b6 <exec_byte_code+9777>, 0x69b123 <exec_byte_code+9886>, 0x69b190 <exec_byte_code+9995>, 0x69b1fd <exec_byte_code+10104>, 0x69b26a <exec_byte_code+10213>, 0x69b2bc <exec_byte_code+10295>, 0x69b33a <exec_byte_code+10421>, 0x69b38c <exec_byte_code+10503>, 0x69b3de <exec_byte_code+10585>, 0x69b430 <exec_byte_code+10667>, 0x69b53c <exec_byte_code+10935>, 0x699ea0 <exec_byte_code+5147>, 0x69b59a <exec_byte_code+11029>, 0x69b5e2 <exec_byte_code+11101>, 0x69b6ae <exec_byte_code+11305>, 0x69b717 <exec_byte_code+11410>, 0x69b775 <exec_byte_code+11504>, 0x69b7bd <exec_byte_code+11576>, 0x69b803 <exec_byte_code+11646>, 0x69b849 <exec_byte_code+11716>, 0x69b897 <exec_byte_code+11794>, 0x69c7ce <exec_byte_code+15689>, 0x69b8ef <exec_byte_code+11882>, 0x69b935 <exec_byte_code+11952>, 0x69b97b <exec_byte_code+12022>, 0x69b9c1 <exec_byte_code+12092>, 0x69ba07 <exec_byte_code+12162>, 0x69ba4d <exec_byte_code+12232>, 0x699ea0 <exec_byte_code+5147>, 0x69c7ce <exec_byte_code+15689>, 0x69ba95 <exec_byte_code+12304>, 0x69baea <exec_byte_code+12389>, 0x69bb32 <exec_byte_code+12461>, 0x69bb7a <exec_byte_code+12533>, 0x69bbe2 <exec_byte_code+12637>, 0x69bc4a <exec_byte_code+12741>, 0x69bc92 <exec_byte_code+12813>, 0x69bdac <exec_byte_code+13095>, 0x69be14 <exec_byte_code+13199>, 0x69be7c <exec_byte_code+13303>, 0x69bee4 <exec_byte_code+13407>, 0x69bf2a <exec_byte_code+13477>, 0x69c7ce <exec_byte_code+15689>, 0x699dd4 <exec_byte_code+4943>, 0x699998 <exec_byte_code+3859>, 0x699172 <exec_byte_code+1773>, 0x699a44 <exec_byte_code+4031>, 0x699ac5 <exec_byte_code+4160>, 0x699b43 <exec_byte_code+4286>, 0x699d88 <exec_byte_code+4867>, 0x699d9d <exec_byte_code+4888>, 0x6996e3 <exec_byte_code+3166>, 0x699e57 <exec_byte_code+5074>, 0x699ed7 <exec_byte_code+5202>, 0x699f65 <exec_byte_code+5344>, 0x699fae <exec_byte_code+5417>, 0x69a18c <exec_byte_code+5895>, 0x69a209 <exec_byte_code+6020>, 0x69a28e <exec_byte_code+6153>, 0x69a2ee <exec_byte_code+6249>, 0x69994a <exec_byte_code+3781>, 0x69bf72 <exec_byte_code+13549>, 0x69bff7 <exec_byte_code+13682>, 0x69c03f <exec_byte_code+13754>, 0x69c087 <exec_byte_code+13826>, 0x69c0cf <exec_byte_code+13898>, 0x69c117 <exec_byte_code+13970>, 0x69c17f <exec_byte_code+14074>, 0x69c1e7 <exec_byte_code+14178>, 0x69c24f <exec_byte_code+14282>, 0x69c2b7 <exec_byte_code+14386>, 0x69c42d <exec_byte_code+14760>, 0x69c495 <exec_byte_code+14864>, 0x69c4fd <exec_byte_code+14968>, 0x69c545 <exec_byte_code+15040>, 0x69c5ad <exec_byte_code+15144>, 0x69c615 <exec_byte_code+15248>, 0x69c65d <exec_byte_code+15320>, 0x69c6a5 <exec_byte_code+15392>, 0x69b482 <exec_byte_code+10749>, 0x69b4d4 <exec_byte_code+10831>, 0x69c6f7 <exec_byte_code+15474>, 0x69c763 <exec_byte_code+15582>, 0x69c7ce <exec_byte_code+15689>, 0x699bc1 <exec_byte_code+4412>, 0x699bde <exec_byte_code+4441>, 0x699c4a <exec_byte_code+4549>, 0x699cb6 <exec_byte_code+4657>, 0x699d1f <exec_byte_code+4762>, 0x69a880 <exec_byte_code+7675>, 0x69ad77 <exec_byte_code+8946>, 0x69b62f <exec_byte_code+11178>, 0x69c965 <exec_byte_code+16096>, 0x69c9da <exec_byte_code+16213>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69ca70 <exec_byte_code+16363>, 0x69caf7 <exec_byte_code+16498>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69cd0b <exec_byte_code+17030> <repeats 64 times>}
const_length = 4
bytestr_length = 17
vectorp = 0x946050 <pure+1427568>
quitcounter = 1 '\001'
stack_items = 4
sa_avail = 16335
sa_count = 10
sa_must_free = false
stack_base = 0x7fffffffcb10
stack_lim = 0x7fffffffcb30
top = 0x7fffffffcb20
void_stack_lim = 0x7fffffffcb30
bytestr_data = 0x7fffffffcb30 "p\030\301 \210\302\001\206\v"
pc = 0x7fffffffcb3c "\210\301 )\207\316\377\377\377\177"
count = 10
result = XIL(0x128ca33)
#29 0x0000000000644b6f in funcall_lambda (fun=XIL(0x945fed), nargs=1, arg_vector=0x7fffffffd0c0) at eval.c:2977
size = 6
val = XIL(0x7fffffffcef8)
syms_left = make_number(256)
next = XIL(0x1200c0b080)
lexenv = XIL(0x7fffffffced0)
count = 10
i = 0
optional = false
rest = false
previous_optional_or_rest = false
#30 0x0000000000643fb9 in Ffuncall (nargs=2, args=0x7fffffffd0b8) at eval.c:2778
fun = XIL(0x945fed)
original_fun = XIL(0xa39590)
funcar = XIL(0x589371)
numargs = 1
val = XIL(0)
count = 9
#31 0x0000000000639907 in Ffuncall_interactively (nargs=2, args=0x7fffffffd0b8) at callint.c:252
speccount = 8
#32 0x0000000000644337 in funcall_subr (subr=0xb90a00 <Sfuncall_interactively>, numargs=2, args=0x7fffffffd0b8) at eval.c:2831
#33 0x0000000000643f75 in Ffuncall (nargs=3, args=0x7fffffffd0b0) at eval.c:2776
fun = XIL(0xb90a05)
original_fun = XIL(0x66c0)
funcar = XIL(0x645e21)
numargs = 2
val = XIL(0x7fffffffd0a0)
count = 7
#34 0x000000000063bde9 in Fcall_interactively (function=XIL(0xa39590), record_flag=XIL(0), keys=XIL(0xca3695)) at callint.c:854
val = XIL(0)
args = 0x7fffffffd0b0
visargs = 0x7fffffffd0c8
specs = XIL(0x80fa7c)
filter_specs = XIL(0x80fa7c)
teml = XIL(0x7fffffffcf28)
up_event = XIL(0)
enable = XIL(0)
sa_avail = 16310
sa_count = 6
sa_must_free = false
speccount = 6
next_event = 1
prefix_arg = XIL(0)
string = 0x7fffffffd100 "P"
tem = 0x77842b ""
varies = 0x7fffffffd0e0 ""
i = 3
nargs = 3
mark = 5760715
arg_from_tty = false
key_count = 1
record_then_fail = false
save_this_command = XIL(0xa39590)
save_last_command = XIL(0x4627b0)
save_this_original_command = XIL(0xa39590)
save_real_this_command = XIL(0xa39590)
#35 0x0000000000644490 in funcall_subr (subr=0xb90a40 <Scall_interactively>, numargs=3, args=0x7fffffffd430) at eval.c:2856
internal_argbuf = {XIL(0xb90a40), XIL(0x7fffffffd348), make_number(1440909), XIL(0xa00c0b080), XIL(0xb90a45), XIL(0x7fffffffd368), XIL(0xb90a40), XIL(0x7fffffffd360)}
internal_args = 0x7fffffffd430
#36 0x0000000000643f75 in Ffuncall (nargs=4, args=0x7fffffffd428) at eval.c:2776
fun = XIL(0xb90a45)
original_fun = XIL(0xb1b80)
funcar = XIL(0xc0b080)
numargs = 3
val = XIL(0)
count = 5
#37 0x000000000069985f in exec_byte_code (bytestr=XIL(0x8aea6c), vector=XIL(0x8aea8d), maxdepth=make_number(13), args_template=make_number(1025), nargs=1, args=0x7fffffffd960) at bytecode.c:630
op = 3
type = CATCHER
targets = {0x69c7ce <exec_byte_code+15689>, 0x69c7f3 <exec_byte_code+15726>, 0x69c7f5 <exec_byte_code+15728>, 0x69c7f7 <exec_byte_code+15730>, 0x69c7f9 <exec_byte_code+15732>, 0x69c7f9 <exec_byte_code+15732>, 0x69c85e <exec_byte_code+15833>, 0x69c8d2 <exec_byte_code+15949>, 0x698f99 <exec_byte_code+1300>, 0x698f9b <exec_byte_code+1302>, 0x698f9d <exec_byte_code+1304>, 0x698f9f <exec_byte_code+1306>, 0x698fa1 <exec_byte_code+1308>, 0x698fa1 <exec_byte_code+1308>, 0x698fa7 <exec_byte_code+1314>, 0x698f68 <exec_byte_code+1251>, 0x69946d <exec_byte_code+2536>, 0x69946f <exec_byte_code+2538>, 0x699471 <exec_byte_code+2540>, 0x699473 <exec_byte_code+2542>, 0x699475 <exec_byte_code+2544>, 0x699475 <exec_byte_code+2544>, 0x6994aa <exec_byte_code+2597>, 0x69947b <exec_byte_code+2550>, 0x69977c <exec_byte_code+3319>, 0x69977e <exec_byte_code+3321>, 0x699780 <exec_byte_code+3323>, 0x699782 <exec_byte_code+3325>, 0x699784 <exec_byte_code+3327>, 0x699784 <exec_byte_code+3327>, 0x699736 <exec_byte_code+3249>, 0x69974d <exec_byte_code+3272>, 0x69982c <exec_byte_code+3495>, 0x69982e <exec_byte_code+3497>, 0x699830 <exec_byte_code+3499>, 0x699832 <exec_byte_code+3501>, 0x699834 <exec_byte_code+3503>, 0x699834 <exec_byte_code+3503>, 0x6997e6 <exec_byte_code+3425>, 0x6997fd <exec_byte_code+3448>, 0x6998e1 <exec_byte_code+3676>, 0x6998e3 <exec_byte_code+3678>, 0x6998e5 <exec_byte_code+3680>, 0x6998e7 <exec_byte_code+3682>, 0x6998e9 <exec_byte_code+3684>, 0x6998e9 <exec_byte_code+3684>, 0x69989b <exec_byte_code+3606>, 0x6998b2 <exec_byte_code+3629>, 0x69a140 <exec_byte_code+5819>, 0x69a026 <exec_byte_code+5537>, 0x69a01d <exec_byte_code+5528>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69a371 <exec_byte_code+6380>, 0x69a490 <exec_byte_code+6667>, 0x69a4fa <exec_byte_code+6773>, 0x69a565 <exec_byte_code+6880>, 0x69a5d1 <exec_byte_code+6988>, 0x6992c0 <exec_byte_code+2107>, 0x699345 <exec_byte_code+2240>, 0x69a652 <exec_byte_code+7117>, 0x699201 <exec_byte_code+1916>, 0x6993ad <exec_byte_code+2344>, 0x69a6c4 <exec_byte_code+7231>, 0x69a72c <exec_byte_code+7335>, 0x69a774 <exec_byte_code+7407>, 0x69a7dc <exec_byte_code+7511>, 0x69a82e <exec_byte_code+7593>, 0x69a8ff <exec_byte_code+7802>, 0x69a947 <exec_byte_code+7874>, 0x69a9af <exec_byte_code+7978>, 0x69aa34 <exec_byte_code+8111>, 0x69aa7c <exec_byte_code+8183>, 0x69aac4 <exec_byte_code+8255>, 0x69ab2c <exec_byte_code+8359>, 0x69ab94 <exec_byte_code+8463>, 0x69abfc <exec_byte_code+8567>, 0x69ac81 <exec_byte_code+8700>, 0x69acd3 <exec_byte_code+8782>, 0x69ad25 <exec_byte_code+8864>, 0x69adf6 <exec_byte_code+9073>, 0x69ae70 <exec_byte_code+9195>, 0x69aeea <exec_byte_code+9317>, 0x69b0b6 <exec_byte_code+9777>, 0x69b123 <exec_byte_code+9886>, 0x69b190 <exec_byte_code+9995>, 0x69b1fd <exec_byte_code+10104>, 0x69b26a <exec_byte_code+10213>, 0x69b2bc <exec_byte_code+10295>, 0x69b33a <exec_byte_code+10421>, 0x69b38c <exec_byte_code+10503>, 0x69b3de <exec_byte_code+10585>, 0x69b430 <exec_byte_code+10667>, 0x69b53c <exec_byte_code+10935>, 0x699ea0 <exec_byte_code+5147>, 0x69b59a <exec_byte_code+11029>, 0x69b5e2 <exec_byte_code+11101>, 0x69b6ae <exec_byte_code+11305>, 0x69b717 <exec_byte_code+11410>, 0x69b775 <exec_byte_code+11504>, 0x69b7bd <exec_byte_code+11576>, 0x69b803 <exec_byte_code+11646>, 0x69b849 <exec_byte_code+11716>, 0x69b897 <exec_byte_code+11794>, 0x69c7ce <exec_byte_code+15689>, 0x69b8ef <exec_byte_code+11882>, 0x69b935 <exec_byte_code+11952>, 0x69b97b <exec_byte_code+12022>, 0x69b9c1 <exec_byte_code+12092>, 0x69ba07 <exec_byte_code+12162>, 0x69ba4d <exec_byte_code+12232>, 0x699ea0 <exec_byte_code+5147>, 0x69c7ce <exec_byte_code+15689>, 0x69ba95 <exec_byte_code+12304>, 0x69baea <exec_byte_code+12389>, 0x69bb32 <exec_byte_code+12461>, 0x69bb7a <exec_byte_code+12533>, 0x69bbe2 <exec_byte_code+12637>, 0x69bc4a <exec_byte_code+12741>, 0x69bc92 <exec_byte_code+12813>, 0x69bdac <exec_byte_code+13095>, 0x69be14 <exec_byte_code+13199>, 0x69be7c <exec_byte_code+13303>, 0x69bee4 <exec_byte_code+13407>, 0x69bf2a <exec_byte_code+13477>, 0x69c7ce <exec_byte_code+15689>, 0x699dd4 <exec_byte_code+4943>, 0x699998 <exec_byte_code+3859>, 0x699172 <exec_byte_code+1773>, 0x699a44 <exec_byte_code+4031>, 0x699ac5 <exec_byte_code+4160>, 0x699b43 <exec_byte_code+4286>, 0x699d88 <exec_byte_code+4867>, 0x699d9d <exec_byte_code+4888>, 0x6996e3 <exec_byte_code+3166>, 0x699e57 <exec_byte_code+5074>, 0x699ed7 <exec_byte_code+5202>, 0x699f65 <exec_byte_code+5344>, 0x699fae <exec_byte_code+5417>, 0x69a18c <exec_byte_code+5895>, 0x69a209 <exec_byte_code+6020>, 0x69a28e <exec_byte_code+6153>, 0x69a2ee <exec_byte_code+6249>, 0x69994a <exec_byte_code+3781>, 0x69bf72 <exec_byte_code+13549>, 0x69bff7 <exec_byte_code+13682>, 0x69c03f <exec_byte_code+13754>, 0x69c087 <exec_byte_code+13826>, 0x69c0cf <exec_byte_code+13898>, 0x69c117 <exec_byte_code+13970>, 0x69c17f <exec_byte_code+14074>, 0x69c1e7 <exec_byte_code+14178>, 0x69c24f <exec_byte_code+14282>, 0x69c2b7 <exec_byte_code+14386>, 0x69c42d <exec_byte_code+14760>, 0x69c495 <exec_byte_code+14864>, 0x69c4fd <exec_byte_code+14968>, 0x69c545 <exec_byte_code+15040>, 0x69c5ad <exec_byte_code+15144>, 0x69c615 <exec_byte_code+15248>, 0x69c65d <exec_byte_code+15320>, 0x69c6a5 <exec_byte_code+15392>, 0x69b482 <exec_byte_code+10749>, 0x69b4d4 <exec_byte_code+10831>, 0x69c6f7 <exec_byte_code+15474>, 0x69c763 <exec_byte_code+15582>, 0x69c7ce <exec_byte_code+15689>, 0x699bc1 <exec_byte_code+4412>, 0x699bde <exec_byte_code+4441>, 0x699c4a <exec_byte_code+4549>, 0x699cb6 <exec_byte_code+4657>, 0x699d1f <exec_byte_code+4762>, 0x69a880 <exec_byte_code+7675>, 0x69ad77 <exec_byte_code+8946>, 0x69b62f <exec_byte_code+11178>, 0x69c965 <exec_byte_code+16096>, 0x69c9da <exec_byte_code+16213>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69ca70 <exec_byte_code+16363>, 0x69caf7 <exec_byte_code+16498>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69c7ce <exec_byte_code+15689>, 0x69cd0b <exec_byte_code+17030> <repeats 64 times>}
const_length = 25
bytestr_length = 165
vectorp = 0x8aea90 <pure+807600>
quitcounter = 1 '\001'
stack_items = 14
sa_avail = 16107
sa_count = 5
sa_must_free = false
stack_base = 0x7fffffffd3f0
stack_lim = 0x7fffffffd460
top = 0x7fffffffd428
void_stack_lim = 0x7fffffffd460
bytestr_data = 0x7fffffffd460 "\306\020\211?\205\023"
pc = 0x7fffffffd4db "\006\006\071\203\242"
count = 5
result = XIL(0)
#38 0x0000000000644b6f in funcall_lambda (fun=XIL(0x8aea3d), nargs=1, arg_vector=0x7fffffffd958) at eval.c:2977
size = 5
val = XIL(0x7fffffffd8b8)
syms_left = make_number(1025)
next = XIL(0x1200c0b080)
lexenv = make_number(34910567923712)
count = 5
i = 0
optional = false
rest = false
previous_optional_or_rest = false
#39 0x0000000000643fb9 in Ffuncall (nargs=2, args=0x7fffffffd950) at eval.c:2778
fun = XIL(0x8aea3d)
original_fun = XIL(0x3f30)
funcar = XIL(0x1)
numargs = 1
val = XIL(0x7fffffffd958)
count = 4
#40 0x0000000000643891 in call1 (fn=XIL(0x3f30), arg1=XIL(0xa39590)) at eval.c:2627
#41 0x000000000058a56b in command_loop_1 () at keyboard.c:1482
scount = 3
cmd = XIL(0xa39590)
keybuf = {make_number(10), XIL(0x2012e48b3), XIL(0), XIL(0x7a10), XIL(0x10000010f), XIL(0), XIL(0xc0a7a0), XIL(0x7a10), make_number(55834574852), XIL(0xc12a90), XIL(0x7fffffffd9e0), XIL(0), XIL(0x7fffffffda20), make_number(1644723), make_number(34910567923712), XIL(0xc0b080), XIL(0x580b87), XIL(0), XIL(0x7fffffffda20), XIL(0x57e6cb), XIL(0), XIL(0xc0b080), XIL(0x7fffffffda80), XIL(0), XIL(0x7fffffffda50), XIL(0x57e6cb), XIL(0x5), XIL(0x7a10), XIL(0x7fffffffda90), XIL(0x640415)}
i = 1
prev_modiff = 18
prev_buffer = 0xc9e400 <bss_sbrk_buffer+455584>
already_adjusted = false
#42 0x000000000063fffe in internal_condition_case (bfun=0x589d5b <command_loop_1>, handlers=XIL(0x5280), hfun=0x5893bf <cmd_error>) at eval.c:1336
val = XIL(0x57e6cb)
c = 0x2c80180
#43 0x0000000000589971 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1110
val = XIL(0xc900)
#44 0x000000000063f4fd in internal_catch (tag=XIL(0xc900), func=0x589944 <command_loop_2>, arg=XIL(0)) at eval.c:1101
val = XIL(0)
c = 0x2c80060
#45 0x000000000058990f in command_loop () at keyboard.c:1089
#46 0x0000000000588ea8 in recursive_edit_1 () at keyboard.c:695
count = 1
val = XIL(0x7fffffffdc00)
#47 0x000000000058909d in Frecursive_edit () at keyboard.c:766
count = 0
buffer = XIL(0)
#48 0x0000000000586c3c in main (argc=3, argv=0x7fffffffde48) at emacs.c:1717
stack_bottom_variable = 0x2c6c290
do_initial_setlocale = true
dumping = false
skip_args = 1
no_loadup = false
junk = 0x0
dname_arg = 0x0
ch_to_dir = 0x0
original_pwd = 0x0
disable_aslr = false
rlim = {
rlim_cur = 10022912,
rlim_max = 18446744073709551615
}
sockfd = -1
module_assertions = true
Lisp Backtrace:
"realpath-truename" (0xffffb990)
"while" (0xffffbc70)
"let" (0xffffbe90)
"progn" (0xffffbfe0)
"eval" (0xffffc210)
"elisp--eval-last-sexp" (0xffffc6a8)
"eval-last-sexp" (0xffffcb28)
"eval-print-last-sexp" (0xffffd0c0)
"funcall-interactively" (0xffffd0b8)
"call-interactively" (0xffffd430)
"command-execute" (0xffffd958)
#2 0x00000000006854ce in value_to_lisp (v=0x3059c90) at emacs-module.c:984
984 eassert (STRINGP (*p) && SSDATA (*p));
$1 = (Lisp_Object *) 0x3059c90
Lisp_String
$2 = (struct Lisp_String *) 0x3057690
0
quit
[-- Attachment #2: Type: text/plain, Size: 2399 bytes --]
[CCing Philipp as the author of module assertions.]
Eli Zaretskii <eliz@gnu.org> writes:
>> From: "Basil L. Contovounesios" <contovob@tcd.ie>
>> Date: Mon, 25 Feb 2019 21:00:41 +0000
>>
>> Starting program: /home/blc/.local/src/emacs26/src/emacs -Q --module-assertions
>> [Thread debugging using libthread_db enabled]
>> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
>> [New Thread 0x7ffff01cb700 (LWP 8299)]
>> [New Thread 0x7fffef9ac700 (LWP 8300)]
>> [New Thread 0x7fffef1ab700 (LWP 8301)]
>>
>> Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
>> re_search_2 (bufp=0xbf5d00 <searchbufs+384>, str1=0x0, size1=0, str2=0x0, size2=18, startpos=0,
>> range=18, regs=0x0, stop=18) at regex.c:4354
>> 4354 buf_ch = STRING_CHAR_AND_LENGTH (d, buf_charlen);
>> #0 0x0000000000608594 in re_search_2
>> (bufp=0xbf5d00 <searchbufs+384>, str1=0x0, size1=0, str2=0x0, size2=18, startpos=0, range=18, regs=0x0, stop=18) at regex.c:4354
>> buf_charlen = 0
>> irange = 18
>> lim = 0
>> d = 0x0
>> buf_ch = 18
>> val = 691541629
>> string1 = 0x0
>> string2 = 0x0
>> fastmap = 0xbf5d38 <searchbufs+440> ""
>> translate = make_number(0)
>> total_size = 18
>> endpos = 18
>> anchored_start = 0 '\000'
>> multibyte = 1 '\001'
>> #1 0x0000000000607f91 in re_search
>> (bufp=0xbf5d00 <searchbufs+384>, string=0x0, size=18, startpos=0, range=18, regs=0x0)
>> at regex.c:4181
>> #2 0x00000000005f3fd0 in fast_string_match_internal
>> (regexp=XIL(0x8c761c), string=XIL(0x3036ec4), table=XIL(0)) at search.c:485
>> val = 140737488336288
>> bufp = 0xbf5d00 <searchbufs+384>
>
> Here's your problem: fast_string_match_internal got a Lisp
> string=XIL(0x3036ec4), but its data passed to re_search as the 2nd arg
> is a NULL pointer. You need to find out how this happens, e.g. by
> setting a watchpoint on string's data inside Ffile_name_as_directory.
> Or maybe the string is already corrupted there?
The file name string is already corrupted when Ffile_name_as_directory
is called; see below.
First, I rewrote the dynamic module[1] to add nonlocal exit checks after
almost every call to the module API.
[1]: https://gitlab.com/basil-conto/realpath
I also added the following assertions to src/emacs-module.c:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: module-asserts.patch --]
[-- Type: text/x-diff, Size: 2757 bytes --]
diff --git a/src/emacs-module.c b/src/emacs-module.c
index 0abfd3f6f1..4f2b0ecd4b 100644
--- a/src/emacs-module.c
+++ b/src/emacs-module.c
@@ -458,6 +458,8 @@ module_make_function (emacs_env *env, ptrdiff_t min_arity, ptrdiff_t max_arity,
return lisp_to_value (env, result);
}
+static bool my_check = false;
+
static emacs_value
module_funcall (emacs_env *env, emacs_value fun, ptrdiff_t nargs,
emacs_value args[])
@@ -473,6 +475,7 @@ module_funcall (emacs_env *env, emacs_value fun, ptrdiff_t nargs,
xsignal0 (Qoverflow_error);
SAFE_ALLOCA_LISP (newargs, nargs1);
newargs[0] = value_to_lisp (fun);
+ my_check = EQ (newargs[0], Qfile_name_as_directory);
for (ptrdiff_t i = 0; i < nargs; i++)
newargs[1 + i] = value_to_lisp (args[i]);
emacs_value result = lisp_to_value (env, Ffuncall (nargs1, newargs));
@@ -581,8 +584,10 @@ module_make_string (emacs_env *env, const char *str, ptrdiff_t length)
/* FIXME: AUTO_STRING_WITH_LEN requires STR to be null-terminated,
but we shouldn't require that. */
AUTO_STRING_WITH_LEN (lstr, str, length);
- return lisp_to_value (env,
- code_convert_string_norecord (lstr, Qutf_8, false));
+ Lisp_Object lisp = code_convert_string_norecord (lstr, Qutf_8, false);
+ eassert (STRINGP (lisp) && SSDATA (lisp));
+ my_check = true;
+ return lisp_to_value (env, lisp);
}
static emacs_value
@@ -955,6 +960,8 @@ value_to_lisp_bits (emacs_value v)
static Lisp_Object
value_to_lisp (emacs_value v)
{
+ bool b = my_check;
+ my_check = false;
if (module_assertions)
{
/* Check the liveness of the value by iterating over all live
@@ -972,7 +979,11 @@ value_to_lisp (emacs_value v)
{
Lisp_Object *p = XSAVE_POINTER (XCAR (values), 0);
if (p == optr)
- return *p;
+ {
+ if (b)
+ eassert (STRINGP (*p) && SSDATA (*p));
+ return *p;
+ }
++num_values;
}
++num_environments;
@@ -1008,6 +1019,8 @@ lisp_to_value_bits (Lisp_Object o)
static emacs_value
lisp_to_value (emacs_env *env, Lisp_Object o)
{
+ bool b = my_check;
+ my_check = false;
if (module_assertions)
{
/* Add the new value to the list of values allocated from this
@@ -1020,6 +1033,11 @@ lisp_to_value (emacs_env *env, Lisp_Object o)
ATTRIBUTE_MAY_ALIAS emacs_value ret = vptr;
struct emacs_env_private *priv = env->private_members;
priv->values = Fcons (make_save_ptr (ret), priv->values);
+ if (b)
+ {
+ eassert (STRINGP (o) && SSDATA (o));
+ eassert (STRINGP (*optr) && SSDATA (*optr));
+ }
return ret;
}
[-- Attachment #4: Type: text/plain, Size: 890 bytes --]
These reveal that value_to_lisp eventually returns a corrupted string,
but I don't know why. I've seen comments in src/fileio.c referring to
string-relocation during GC; could this be at play here? Either way, do
you have any suggestions on how to proceed?
Here's the full recipe again, now with debugging symbols for the module:
0. git clone https://gitlab.com/basil-conto/realpath.git
1. cd realpath
2. make DEBUG=1
3. cd /path/to/emacs/src
4. gdb emacs
5. set logging on
6. r -Q --module-assertions
7. (progn (module-load "/path/to/realpath.so")
(dotimes (_ 1000)
(realpath-truename user-emacs-directory)))
C-j
[The loop usually trips the assertions on its first run, but if it
doesn't, just try again once or twice.]
8. bt full
9. f 2
10. p p
11. pr [#<INVALID_LISP_OBJECT 0x03059c90>]
12. xpr
I attach the resulting GDB log.
Thanks,
--
Basil
next prev parent reply other threads:[~2019-03-17 16:38 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-25 21:00 bug#34655: 26.1.92; Segfault in module with --module-assertions Basil L. Contovounesios
2019-02-26 2:59 ` Richard Stallman
2019-02-26 11:16 ` Basil L. Contovounesios
2019-02-26 15:27 ` Eli Zaretskii
2019-02-26 18:42 ` Basil L. Contovounesios
2019-02-27 4:10 ` Richard Stallman
2019-02-26 15:45 ` Eli Zaretskii
2019-03-17 16:38 ` Basil L. Contovounesios [this message]
2019-03-17 17:08 ` Eli Zaretskii
2019-03-17 23:52 ` Basil L. Contovounesios
2019-03-18 16:21 ` Eli Zaretskii
2019-03-18 16:58 ` Basil L. Contovounesios
2019-03-18 17:53 ` Eli Zaretskii
2019-03-21 16:11 ` Philipp Stephani
2019-03-21 17:00 ` Eli Zaretskii
2019-03-21 18:28 ` Philipp Stephani
2019-03-21 19:23 ` Philipp Stephani
2019-03-21 19:34 ` Eli Zaretskii
2019-03-21 21:29 ` Basil L. Contovounesios
2019-03-22 7:11 ` Eli Zaretskii
2019-03-21 19:27 ` Eli Zaretskii
2019-03-21 19:37 ` Philipp Stephani
2019-03-21 19:50 ` Eli Zaretskii
2019-03-21 20:01 ` Philipp Stephani
2019-03-21 20:14 ` Eli Zaretskii
2019-03-21 20:26 ` Philipp Stephani
2019-03-21 20:44 ` Eli Zaretskii
2019-03-21 20:48 ` Daniel Colascione
2019-03-22 8:17 ` Eli Zaretskii
2019-03-21 21:31 ` Basil L. Contovounesios
2019-03-22 0:56 ` Stefan Monnier
2019-03-22 8:16 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87h8c1cv6l.fsf@tcd.ie \
--to=contovob@tcd.ie \
--cc=34655@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=p.stephani2@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).