* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
@ 2015-03-24 15:14 Nicolas Richard
[not found] ` <handler.20191.B.142721003329390.ack@debbugs.gnu.org>
2015-03-24 17:25 ` bug#20191: 25.0.50; SIGABRT in re_match_2_internal Paul Eggert
0 siblings, 2 replies; 8+ messages in thread
From: Nicolas Richard @ 2015-03-24 15:14 UTC (permalink / raw)
To: 20191
Hello,
I can't reproduce from -Q, but I can reproduce with my init file. I'll
be glad to issue commands in gdb as needed but making a reproducible
recipe from -Q would take more time.
The bug is triggered by (looking-at org-property-drawer-re) with point
at the beginning of a relatively big (35 lines) drawer in some specific
file of mine. It takes a long time. While it runs, I hit C-g (with
debug-on-error on) to bring up the debugger. Then hitting 'c' in the
debugger makes emacs unresponsive : gdb took control because of a
SIGABRT.
Here's the value of the regexp :
org-property-drawer-re is a variable defined in `org.el'.
Its value is
"^[ ]*:PROPERTIES:[ ]*\n\\(?:[ ]*:\\S-+:\\(?: .*\\)?[ ]*\n\\)*[ ]*:END:[ ]*$"
Here's the bt :
Program received signal SIGABRT, Aborted.
0xffffe424 in __kernel_vsyscall ()
#0 0xffffe424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb648df87 in raise () from /lib/libc.so.6
No symbol table info available.
#2 0xb648f80e in abort () from /lib/libc.so.6
No symbol table info available.
#3 0x08292c96 in re_match_2_internal (bufp=0x876ca44, string1=0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID: 84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>..., size1=0,
string2=0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID: 84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>..., size2=154515, pos=124955, regs=0x876ce04, stop=154515) at regex.c:6249
str = 0xb8fc528 ":PHYS: \n:SCIE: 2\n:campus: PL\n:commentaires: les CHIM étaient BA2.\n\n\nAujourd'hui par contre, j'en ai eu 5 au total :\n\n1 étudiant de bac 1 en math (ses questions portaient sur l'algèbre\nlin"...
pat = 0xc4a2455 " \001\017\n"
mcnt = 1
reg = 1
end1 = 0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID: 84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>...
end2 = 0xb903813 ""
end_match_1 = 0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID: 84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>...
end_match_2 = 0xb903813 ""
d = 0xb8fc52a "HYS: \n:SCIE: 2\n:campus: PL\n:commentaires: les CHIM étaient BA2.\n\n\nAujourd'hui par contre, j'en ai eu 5 au total :\n\n1 étudiant de bac 1 en math (ses questions portaient sur l'algèbre\nliné"...
dend = 0xb903813 ""
dfail = 0xb8fc52a "HYS: \n:SCIE: 2\n:campus: PL\n:commentaires: les CHIM étaient BA2.\n\n\nAujourd'hui par contre, j'en ai eu 5 au total :\n\n1 étudiant de bac 1 en math (ses questions portaient sur l'algèbre\nliné"...
p = 0xc4a2473 ":\016\n"
pend = 0xc4a24b7 ""
translate = -6917529027493944328
multibyte = 0 '\000'
target_multibyte = 1 '\001'
fail_stack = {
stack = 0xbfe39860,
size = 1280,
avail = 261,
frame = 261
}
num_regs = 1
regstart = 0x0
regend = 0x0
best_regs_set = 0
best_regstart = 0x0
best_regend = 0x0
match_end = 0x0
sa_avail = 8064
sa_count = 24
sa_must_free = false
#4 0x0828d425 in re_match_2 (bufp=0x876ca44, string1=0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID: 84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>..., size1=0,
string2=0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID: 84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>..., size2=154515, pos=124955, regs=0x876ce04, stop=154515) at regex.c:4917
result = 142002728
charpos = 0
#5 0x08278e88 in looking_at_1 (string=-9223372036712283512, posix=false) at search.c:313
val = 585167680728972264
p1 = 0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID: 84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>...
p2 = 0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID: 84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>...
s1 = 0
s2 = 154515
i = 124955
bufp = 0x876ca44
#6 0x08279044 in Flooking_at (regexp=-9223372036712283512) at search.c:348
No locals.
#7 0x082cc976 in eval_sub (form=-4611686018221356496) at eval.c:2181
numargs = 4611686018427387905
args_left = 0
i = 1
maxargs = 644
argvals = {-9223372036712283512, 589135332862311800, 3065, 0, 0, 1, 0, 3065}
fun = -6917529027502296272
val = 0
original_fun = 27981
original_args = -4611686018221356480
funcar = 730291156402831360
gcpro1 = {
next = 0x87e4288,
var = 0x80000000,
nvars = -1075593864
}
gcpro2 = {
next = 0x87e4288,
var = 0x80000000,
nvars = -1075593864
}
gcpro3 = {
next = 0xa0000000,
var = 0xbfe3bd20,
nvars = 1
}
count = 23
#8 0x082cbc6f in Feval (form=-4611686018221356496, lexical=0) at eval.c:1996
count = 22
#9 0x082cea24 in Ffuncall (nargs=3, args=0xbfe3bf08) at eval.c:2721
internal_argbuf = {142150256, 611189136446510256, 5025, 588354503512932056, 1005, 0, 876497237841670552, 3305}
fun = -6917529027499401816
original_fun = 2090
funcar = 585128914354159256
numargs = 2
lisp_numargs = -6917529027460741328
val = 611189136446387356
internal_args = 0xbfe3bf10
count = 21
#10 0x0832de07 in exec_byte_code (bytestr=-9223372036650700392, vector=-6917529027460741328, maxdepth=4611686018427387907, args_template=0, nargs=0, args=0x0) at bytecode.c:919
targets = {0x8331fe6 <exec_byte_code+21004>, 0x8332087 <exec_byte_code+21165>, 0x8332089 <exec_byte_code+21167>, 0x833208b <exec_byte_code+21169>, 0x833208d <exec_byte_code+21171>, 0x833208d <exec_byte_code+21171>, 0x83320ec <exec_byte_code+21266>, 0x8332154 <exec_byte_code+21370>,
0x832d36e <exec_byte_code+1428>, 0x832d370 <exec_byte_code+1430>, 0x832d372 <exec_byte_code+1432>, 0x832d374 <exec_byte_code+1434>, 0x832d376 <exec_byte_code+1436>, 0x832d376 <exec_byte_code+1436>, 0x832d37f <exec_byte_code+1445>, 0x832d33f <exec_byte_code+1381>, 0x832da56 <exec_byte_code+3196>,
0x832da58 <exec_byte_code+3198>, 0x832da5a <exec_byte_code+3200>, 0x832da5c <exec_byte_code+3202>, 0x832da5e <exec_byte_code+3204>, 0x832da5e <exec_byte_code+3204>, 0x832da96 <exec_byte_code+3260>, 0x832da67 <exec_byte_code+3213>, 0x832dd0e <exec_byte_code+3892>, 0x832dd10 <exec_byte_code+3894>,
0x832dd12 <exec_byte_code+3896>, 0x832dd14 <exec_byte_code+3898>, 0x832dd16 <exec_byte_code+3900>, 0x832dd16 <exec_byte_code+3900>, 0x832dcc8 <exec_byte_code+3822>, 0x832dcdf <exec_byte_code+3845>, 0x832ddcc <exec_byte_code+4082>, 0x832ddce <exec_byte_code+4084>, 0x832ddd0 <exec_byte_code+4086>,
0x832ddd2 <exec_byte_code+4088>, 0x832ddd4 <exec_byte_code+4090>, 0x832ddd4 <exec_byte_code+4090>, 0x832dd86 <exec_byte_code+4012>, 0x832dd9d <exec_byte_code+4035>, 0x832de7f <exec_byte_code+4261>, 0x832de81 <exec_byte_code+4263>, 0x832de83 <exec_byte_code+4265>, 0x832de85 <exec_byte_code+4267>,
0x832de87 <exec_byte_code+4269>, 0x832de87 <exec_byte_code+4269>, 0x832de39 <exec_byte_code+4191>, 0x832de50 <exec_byte_code+4214>, 0x832f23f <exec_byte_code+9317>, 0x832eff8 <exec_byte_code+8734>, 0x832efec <exec_byte_code+8722>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>,
0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x832f4d7 <exec_byte_code+9981>, 0x832f689 <exec_byte_code+10415>, 0x832f6f0 <exec_byte_code+10518>, 0x832f758 <exec_byte_code+10622>, 0x832f7bf <exec_byte_code+10725>, 0x832d814 <exec_byte_code+2618>,
0x832d89f <exec_byte_code+2757>, 0x832f84a <exec_byte_code+10864>, 0x832d6db <exec_byte_code+2305>, 0x832d91c <exec_byte_code+2882>, 0x832f8b9 <exec_byte_code+10975>, 0x832f936 <exec_byte_code+11100>, 0x832f97f <exec_byte_code+11173>, 0x832f9fc <exec_byte_code+11298>, 0x832fa4b <exec_byte_code+11377>,
0x832fb12 <exec_byte_code+11576>, 0x832fb5b <exec_byte_code+11649>, 0x832fbd8 <exec_byte_code+11774>, 0x832fc89 <exec_byte_code+11951>, 0x832fcd2 <exec_byte_code+12024>, 0x832fd1b <exec_byte_code+12097>, 0x832fd98 <exec_byte_code+12222>, 0x832fe15 <exec_byte_code+12347>,
0x832fe92 <exec_byte_code+12472>, 0x832ff43 <exec_byte_code+12649>, 0x832ff92 <exec_byte_code+12728>, 0x832ffe1 <exec_byte_code+12807>, 0x83300a8 <exec_byte_code+13006>, 0x8330178 <exec_byte_code+13214>, 0x8330248 <exec_byte_code+13422>, 0x8330612 <exec_byte_code+14392>,
0x8330697 <exec_byte_code+14525>, 0x833071c <exec_byte_code+14658>, 0x83307a1 <exec_byte_code+14791>, 0x8330826 <exec_byte_code+14924>, 0x8330875 <exec_byte_code+15003>, 0x8330944 <exec_byte_code+15210>, 0x8330993 <exec_byte_code+15289>, 0x83309e2 <exec_byte_code+15368>,
0x8330a31 <exec_byte_code+15447>, 0x8330b4c <exec_byte_code+15730>, 0x832ee5a <exec_byte_code+8320>, 0x8330bb5 <exec_byte_code+15835>, 0x8330bfe <exec_byte_code+15908>, 0x8330cbe <exec_byte_code+16100>, 0x8330d27 <exec_byte_code+16205>, 0x8330d90 <exec_byte_code+16310>, 0x8330dd9 <exec_byte_code+16383>,
0x8330e2f <exec_byte_code+16469>, 0x8330e85 <exec_byte_code+16555>, 0x8330ee8 <exec_byte_code+16654>, 0x8331fe6 <exec_byte_code+21004>, 0x8330f45 <exec_byte_code+16747>, 0x8330f83 <exec_byte_code+16809>, 0x8330fc1 <exec_byte_code+16871>, 0x8330fff <exec_byte_code+16933>,
0x833103d <exec_byte_code+16995>, 0x833107b <exec_byte_code+17057>, 0x832ee5a <exec_byte_code+8320>, 0x8331fe6 <exec_byte_code+21004>, 0x83310c4 <exec_byte_code+17130>, 0x8331115 <exec_byte_code+17211>, 0x833115e <exec_byte_code+17284>, 0x83311a7 <exec_byte_code+17357>, 0x8331224 <exec_byte_code+17482>,
0x83312a1 <exec_byte_code+17607>, 0x83312ea <exec_byte_code+17680>, 0x8331459 <exec_byte_code+18047>, 0x83314d6 <exec_byte_code+18172>, 0x8331553 <exec_byte_code+18297>, 0x83315d0 <exec_byte_code+18422>, 0x833160e <exec_byte_code+18484>, 0x8331fe6 <exec_byte_code+21004>, 0x832ed9c <exec_byte_code+8130>,
0x832df29 <exec_byte_code+4431>, 0x832d525 <exec_byte_code+1867>, 0x832e09b <exec_byte_code+4801>, 0x832e251 <exec_byte_code+5239>, 0x832e3f3 <exec_byte_code+5657>, 0x832ed2a <exec_byte_code+8016>, 0x832ed6e <exec_byte_code+8084>, 0x832dc6c <exec_byte_code+3730>, 0x832ee1a <exec_byte_code+8256>,
0x832ee86 <exec_byte_code+8364>, 0x832ef27 <exec_byte_code+8525>, 0x832ef67 <exec_byte_code+8589>, 0x832f273 <exec_byte_code+9369>, 0x832f316 <exec_byte_code+9532>, 0x832f3c7 <exec_byte_code+9709>, 0x832f43a <exec_byte_code+9824>, 0x832dee0 <exec_byte_code+4358>, 0x8331657 <exec_byte_code+18557>,
0x8331708 <exec_byte_code+18734>, 0x8331751 <exec_byte_code+18807>, 0x833179a <exec_byte_code+18880>, 0x83317e3 <exec_byte_code+18953>, 0x833182c <exec_byte_code+19026>, 0x83318a9 <exec_byte_code+19151>, 0x833191a <exec_byte_code+19264>, 0x833198b <exec_byte_code+19377>,
0x83319fc <exec_byte_code+19490>, 0x8331c0e <exec_byte_code+20020>, 0x8331c7f <exec_byte_code+20133>, 0x8331cf0 <exec_byte_code+20246>, 0x8331d39 <exec_byte_code+20319>, 0x8331daa <exec_byte_code+20432>, 0x8331e1b <exec_byte_code+20545>, 0x8331e70 <exec_byte_code+20630>,
0x8331ec5 <exec_byte_code+20715>, 0x8330a80 <exec_byte_code+15526>, 0x8330acf <exec_byte_code+15605>, 0x8331f14 <exec_byte_code+20794>, 0x8331f7b <exec_byte_code+20897>, 0x8331fe6 <exec_byte_code+21004>, 0x832e595 <exec_byte_code+6075>, 0x832e6e0 <exec_byte_code+6406>, 0x832e878 <exec_byte_code+6814>,
0x832ea10 <exec_byte_code+7222>, 0x832eb9d <exec_byte_code+7619>, 0x832fa9a <exec_byte_code+11456>, 0x8330030 <exec_byte_code+12886>, 0x8330c46 <exec_byte_code+15980>, 0x83321de <exec_byte_code+21508>, 0x8332248 <exec_byte_code+21614>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>,
0x83322d4 <exec_byte_code+21754>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>,
0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8332362 <exec_byte_code+21896> <repeats 64 times>}
count = 21
op = 2
vectorp = 0xabfc734
stack = {
pc = 0xc370fec "\nB\022\306\n@\307\"\207",
byte_string = -9223372036650700392,
byte_string_start = 0xc370fe4 "\303\304!\210\305\b\t\"\nB\022\306\n@\307\"\207",
next = 0xbfe3dbac
}
top = 0xbfe3bf08
result = 585132414752506104
type = CATCHER
#11 0x082cffaf in funcall_lambda (fun=-6917529027446053144, nargs=1, arg_vector=0xbfe3c7c8) at eval.c:2951
val = 585119634005426181
syms_left = 0
next = 415076
lexenv = 0
count = 19
i = 1
optional = false
rest = false
#12 0x082cf00c in Ffuncall (nargs=2, args=0xbfe3c7c0) at eval.c:2767
fun = -6917529027446053144
original_fun = 591180
funcar = 585331525141382184
numargs = 1
lisp_numargs = -6917529027499402560
val = 0
internal_args = 0x829489d <xmalloc+17>
count = 18
#13 0x082c09df in Ffuncall_interactively (nargs=2, args=0xbfe3c7c0) at callint.c:252
speccount = 17
#14 0x082ce871 in Ffuncall (nargs=3, args=0xbfe3c7b8) at eval.c:2698
fun = -6917529027499402560
original_fun = 2600
funcar = 585167878297470312
numargs = 2
lisp_numargs = -4611686018427387904
val = -4611686018221321120
internal_args = 0x81ecba5 <builtin_lisp_symbol+32>
count = 16
#15 0x082cd3e6 in Fapply (nargs=3, args=0xbfe3c7b8) at eval.c:2293
i = 136235868
numargs = 1
funcall_nargs = 2600
funcall_args = 0xbfe3c7c8
spread_arg = -4611686018221321120
fun = 2600
retval = 585128914354161176
sa_avail = 16384
sa_count = 16
sa_must_free = false
#16 0x082c11b7 in Fcall_interactively (function=591180, record_flag=0, keys=-6917529027498819184) at callint.c:394
input = -4611686018234583520
funval = -6917529027446053144
events = 199
result = 585128911134785541
args = 0x201
visargs = 0x0
specs = -4611686018221321120
filter_specs = -4611686018234583520
teml = 0
up_event = 0
enable = 0
sa_avail = 16384
sa_count = 16
sa_must_free = false
speccount = 16
next_event = -1219938880
prefix_arg = 0
string = 0x0
tem = 0xbfe3ca7f "\300\016"
varies = 0xbfe3c728 "\024O\006"
i = 513
nargs = 0
mark = 0
arg_from_tty = false
gcpro1 = {
next = 0xa28,
var = 0x0,
nvars = 591180
}
gcpro2 = {
next = 0xa28,
var = 0x0,
nvars = 591180
}
gcpro3 = {
next = 0x82d3d8e <Flength+638>,
var = 0x871dad8 <Scall_interactively>,
nvars = 141679320
}
gcpro4 = {
next = 0xa28,
var = 0x0,
nvars = 591180
}
gcpro5 = {
next = 0xa28,
var = 0x0,
nvars = 591180
}
key_count = 1
record_then_fail = false
save_this_command = 4249980
save_last_command = 413460
save_this_original_command = 4249980
save_real_this_command = 4249980
#17 0x082cca22 in eval_sub (form=-4611686018250771536) at eval.c:2187
numargs = 4611686018427387905
args_left = 0
i = 0
maxargs = 0
argvals = {591180, 0, 0, 585119637224802632, 0, 0, 0, 585128914354161992}
fun = -6917529027499402536
val = 0
original_fun = 25309
original_args = -4611686018250780672
funcar = 0
gcpro1 = {
next = 0x9054c,
var = 0x0,
nvars = 0
}
gcpro2 = {
next = 0x9054c,
var = 0x0,
nvars = 0
}
gcpro3 = {
next = 0x0,
var = 0xbfe3c8f0,
nvars = 3
}
count = 15
#18 0x082c5634 in Fprogn (body=-4611686018250780656) at eval.c:445
val = 0
gcpro1 = {
next = 0xc0000000,
var = 0xbfe3c9a8,
nvars = 3
}
#19 0x082c534b in Fif (args=-4611686018250771632) at eval.c:397
cond = 0
gcpro1 = {
next = 0x40000000,
var = 0x871db38 <Sif>,
nvars = -1610612736
}
#20 0x082cc4e1 in eval_sub (form=-4611686018250771648) at eval.c:2131
numargs = 4611686018427387907
args_left = -4611686018250771632
i = 3
maxargs = 0
argvals = {-4611686018250779936, 585128600821549864, 0, 585128914354162472, 608508664536488808, 0, 43091352424, 585128914354162504}
fun = -6917529027499402440
val = -4611686018221590672
original_fun = 2920
original_args = -4611686018250771632
funcar = 0
gcpro1 = {
next = 0xa86d2e0,
var = 0xc0000000,
nvars = -1075590360
}
gcpro2 = {
next = 0xa86d2e0,
var = 0xc0000000,
nvars = -1075590360
}
gcpro3 = {
next = 0x0,
var = 0x0,
nvars = 142110056
}
count = 14
#21 0x082c5634 in Fprogn (body=-4611686018250780256) at eval.c:445
val = -4611686018221590672
gcpro1 = {
next = 0x40000000,
var = 0x871db68 <Sprogn>,
nvars = -1610612736
}
#22 0x082cc4e1 in eval_sub (form=-4611686018250779920) at eval.c:2131
numargs = 4611686018427387906
args_left = -4611686018250779936
i = 2
maxargs = 0
argvals = {-6917529027499401960, 585128914354162888, 608510519962361112, 585166692886498536, 43091352856, 589191817052815365, -6917529027499401960, 589135650689895672}
fun = -6917529027499402392
val = 0
original_fun = 4100
original_args = -4611686018250779936
funcar = 0
gcpro1 = {
next = 0x871dd18 <Sunwind_protect>,
var = 0xa0000000,
nvars = -1075589944
}
gcpro2 = {
next = 0x871dd18 <Sunwind_protect>,
var = 0xa0000000,
nvars = -1075589944
}
gcpro3 = {
next = 0xc0000000,
var = 0x0,
nvars = 0
}
count = 13
#23 0x082c8aa1 in Funwind_protect (args=-4611686018250779840) at eval.c:1206
val = -6917529027499401960
count = 12
#24 0x082cc4e1 in eval_sub (form=-4611686018250779824) at eval.c:2131
numargs = 4611686018427387906
args_left = -4611686018250779840
i = 2
maxargs = 0
argvals = {-4611686018221590720, 585128600821550712, 0, 11893455932358661, -6917529027498947280, 0, 730291156608628544, 585128914354163352}
fun = -6917529027499401960
val = -4611686018221590688
original_fun = 24327
original_args = -4611686018250779840
funcar = 883892175030905668
gcpro1 = {
next = 0xc443740,
var = 0xc0000000,
nvars = -1075589512
}
gcpro2 = {
next = 0xc443740,
var = 0xc0000000,
nvars = -1075589512
}
gcpro3 = {
next = 0xa0000001,
var = 0x0,
nvars = 142110056
}
count = 11
#25 0x082c5634 in Fprogn (body=-4611686018250779808) at eval.c:445
val = -4611686018221590688
gcpro1 = {
next = 0xc0000000,
var = 0xa153e20,
nvars = -1073741824
}
#26 0x082c7f1f in Flet (args=-4611686018250781040) at eval.c:966
temps = 0xbfe3cf00
tem = 0
lexenv = -4611686018221590720
elt = 3221225472
count = 10
argnum = 2
gcpro1 = {
next = 0xa0000000,
var = 0x5,
nvars = 2
}
gcpro2 = {
next = 0xa0000000,
var = 0x5,
nvars = 2
}
sa_avail = 16368
sa_count = 10
sa_must_free = false
#27 0x082cc4e1 in eval_sub (form=-4611686018250781024) at eval.c:2131
numargs = 4611686018427387907
args_left = -4611686018250781040
i = 3
maxargs = 0
argvals = {-4611686018258223584, 585128600821551336, 0, 11893455932358661, -6917529027498947280, 0, 730291156402831360, 585128914354163976}
fun = -6917529027499402080
val = 0
original_fun = 3295
original_args = -4611686018250781040
funcar = 726555222192089924
gcpro1 = {
next = 0xa153e20,
var = 0xc0000000,
nvars = -1075588888
}
gcpro2 = {
next = 0xa153e20,
var = 0xc0000000,
nvars = -1075588888
}
gcpro3 = {
next = 0xa0000001,
var = 0x0,
nvars = 142110056
}
count = 9
#28 0x082c5634 in Fprogn (body=-4611686018250780944) at eval.c:445
val = 0
gcpro1 = {
next = 0xc0000000,
var = 0x0,
nvars = 0
}
#29 0x082cfebd in funcall_lambda (fun=-4611686018250780848, nargs=0, arg_vector=0xbfe3d688) at eval.c:2944
val = 585119637224804856
syms_left = 0
next = 585128914354164216
lexenv = -4611686018258223584
count = 8
i = 0
optional = false
rest = false
#30 0x082cf190 in Ffuncall (nargs=1, args=0xbfe3d680) at eval.c:2779
fun = -4611686018250780832
original_fun = 4249980
funcar = 1515
numargs = 0
lisp_numargs = -6917529027499402560
val = 0
internal_args = 0x0
count = 7
#31 0x082c09df in Ffuncall_interactively (nargs=1, args=0xbfe3d680) at callint.c:252
speccount = 6
#32 0x082ce871 in Ffuncall (nargs=2, args=0xbfe3d678) at eval.c:2698
fun = -6917529027499402560
original_fun = 2600
funcar = 0
numargs = 1
lisp_numargs = 0
val = 0
internal_args = 0x81ecb5c <make_lisp_symbol+63>
count = 5
#33 0x082cd357 in Fapply (nargs=3, args=0xbfe3d678) at eval.c:2289
i = 136235868
numargs = 0
funcall_nargs = 2600
funcall_args = 0x0
spread_arg = 0
fun = 2600
retval = 585128914354164952
sa_avail = 16384
sa_count = 5
sa_must_free = false
#34 0x082c11b7 in Fcall_interactively (function=4249980, record_flag=0, keys=-6917529027498819184) at callint.c:394
input = 0
funval = -4611686018250780832
events = 199
result = 5
args = 0xbfe3d598
visargs = 0xa0000000
specs = 0
filter_specs = 0
teml = -6917529027502302760
up_event = 0
enable = 0
sa_avail = 16384
sa_count = 5
sa_must_free = false
speccount = 5
next_event = 138779096
prefix_arg = 0
string = 0x0
tem = 0xa <error: Cannot access memory at address 0xa>
varies = 0x5 <error: Cannot access memory at address 0x5>
i = 136233781
nargs = 138779096
mark = -1610612736
arg_from_tty = false
gcpro1 = {
next = 0xa28,
var = 0x0,
nvars = 4249980
}
gcpro2 = {
next = 0xa28,
var = 0x0,
nvars = 4249980
}
gcpro3 = {
next = 0x81ec335 <XSYMBOL+44>,
var = 0x871dad8 <Scall_interactively>,
nvars = 141679320
}
gcpro4 = {
next = 0xa28,
var = 0x0,
nvars = 4249980
}
gcpro5 = {
next = 0xa28,
var = 0x0,
nvars = 4249980
}
key_count = 1
record_then_fail = false
save_this_command = 4249980
save_last_command = 413460
save_this_original_command = 4249980
save_real_this_command = 4249980
#35 0x082cea90 in Ffuncall (nargs=4, args=0xbfe3d828) at eval.c:2725
internal_argbuf = {4249980, 585128600821553064, 0, 585128914354165672, 758521598624427368, 0, -4611686018250780832, 585128914354165704}
fun = -6917529027499402536
original_fun = 25309
funcar = 610358042952728576
numargs = 3
lisp_numargs = 0
val = 0
internal_args = 0xbfe3d830
count = 4
#36 0x0832de07 in exec_byte_code (bytestr=-9223372036715331164, vector=-6917529027501637196, maxdepth=4611686018427387917, args_template=4611686018427388929, nargs=1, args=0xbfe3ddd0) at bytecode.c:919
targets = {0x8331fe6 <exec_byte_code+21004>, 0x8332087 <exec_byte_code+21165>, 0x8332089 <exec_byte_code+21167>, 0x833208b <exec_byte_code+21169>, 0x833208d <exec_byte_code+21171>, 0x833208d <exec_byte_code+21171>, 0x83320ec <exec_byte_code+21266>, 0x8332154 <exec_byte_code+21370>,
0x832d36e <exec_byte_code+1428>, 0x832d370 <exec_byte_code+1430>, 0x832d372 <exec_byte_code+1432>, 0x832d374 <exec_byte_code+1434>, 0x832d376 <exec_byte_code+1436>, 0x832d376 <exec_byte_code+1436>, 0x832d37f <exec_byte_code+1445>, 0x832d33f <exec_byte_code+1381>, 0x832da56 <exec_byte_code+3196>,
0x832da58 <exec_byte_code+3198>, 0x832da5a <exec_byte_code+3200>, 0x832da5c <exec_byte_code+3202>, 0x832da5e <exec_byte_code+3204>, 0x832da5e <exec_byte_code+3204>, 0x832da96 <exec_byte_code+3260>, 0x832da67 <exec_byte_code+3213>, 0x832dd0e <exec_byte_code+3892>, 0x832dd10 <exec_byte_code+3894>,
0x832dd12 <exec_byte_code+3896>, 0x832dd14 <exec_byte_code+3898>, 0x832dd16 <exec_byte_code+3900>, 0x832dd16 <exec_byte_code+3900>, 0x832dcc8 <exec_byte_code+3822>, 0x832dcdf <exec_byte_code+3845>, 0x832ddcc <exec_byte_code+4082>, 0x832ddce <exec_byte_code+4084>, 0x832ddd0 <exec_byte_code+4086>,
0x832ddd2 <exec_byte_code+4088>, 0x832ddd4 <exec_byte_code+4090>, 0x832ddd4 <exec_byte_code+4090>, 0x832dd86 <exec_byte_code+4012>, 0x832dd9d <exec_byte_code+4035>, 0x832de7f <exec_byte_code+4261>, 0x832de81 <exec_byte_code+4263>, 0x832de83 <exec_byte_code+4265>, 0x832de85 <exec_byte_code+4267>,
0x832de87 <exec_byte_code+4269>, 0x832de87 <exec_byte_code+4269>, 0x832de39 <exec_byte_code+4191>, 0x832de50 <exec_byte_code+4214>, 0x832f23f <exec_byte_code+9317>, 0x832eff8 <exec_byte_code+8734>, 0x832efec <exec_byte_code+8722>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>,
0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x832f4d7 <exec_byte_code+9981>, 0x832f689 <exec_byte_code+10415>, 0x832f6f0 <exec_byte_code+10518>, 0x832f758 <exec_byte_code+10622>, 0x832f7bf <exec_byte_code+10725>, 0x832d814 <exec_byte_code+2618>,
0x832d89f <exec_byte_code+2757>, 0x832f84a <exec_byte_code+10864>, 0x832d6db <exec_byte_code+2305>, 0x832d91c <exec_byte_code+2882>, 0x832f8b9 <exec_byte_code+10975>, 0x832f936 <exec_byte_code+11100>, 0x832f97f <exec_byte_code+11173>, 0x832f9fc <exec_byte_code+11298>, 0x832fa4b <exec_byte_code+11377>,
0x832fb12 <exec_byte_code+11576>, 0x832fb5b <exec_byte_code+11649>, 0x832fbd8 <exec_byte_code+11774>, 0x832fc89 <exec_byte_code+11951>, 0x832fcd2 <exec_byte_code+12024>, 0x832fd1b <exec_byte_code+12097>, 0x832fd98 <exec_byte_code+12222>, 0x832fe15 <exec_byte_code+12347>,
0x832fe92 <exec_byte_code+12472>, 0x832ff43 <exec_byte_code+12649>, 0x832ff92 <exec_byte_code+12728>, 0x832ffe1 <exec_byte_code+12807>, 0x83300a8 <exec_byte_code+13006>, 0x8330178 <exec_byte_code+13214>, 0x8330248 <exec_byte_code+13422>, 0x8330612 <exec_byte_code+14392>,
0x8330697 <exec_byte_code+14525>, 0x833071c <exec_byte_code+14658>, 0x83307a1 <exec_byte_code+14791>, 0x8330826 <exec_byte_code+14924>, 0x8330875 <exec_byte_code+15003>, 0x8330944 <exec_byte_code+15210>, 0x8330993 <exec_byte_code+15289>, 0x83309e2 <exec_byte_code+15368>,
0x8330a31 <exec_byte_code+15447>, 0x8330b4c <exec_byte_code+15730>, 0x832ee5a <exec_byte_code+8320>, 0x8330bb5 <exec_byte_code+15835>, 0x8330bfe <exec_byte_code+15908>, 0x8330cbe <exec_byte_code+16100>, 0x8330d27 <exec_byte_code+16205>, 0x8330d90 <exec_byte_code+16310>, 0x8330dd9 <exec_byte_code+16383>,
0x8330e2f <exec_byte_code+16469>, 0x8330e85 <exec_byte_code+16555>, 0x8330ee8 <exec_byte_code+16654>, 0x8331fe6 <exec_byte_code+21004>, 0x8330f45 <exec_byte_code+16747>, 0x8330f83 <exec_byte_code+16809>, 0x8330fc1 <exec_byte_code+16871>, 0x8330fff <exec_byte_code+16933>,
0x833103d <exec_byte_code+16995>, 0x833107b <exec_byte_code+17057>, 0x832ee5a <exec_byte_code+8320>, 0x8331fe6 <exec_byte_code+21004>, 0x83310c4 <exec_byte_code+17130>, 0x8331115 <exec_byte_code+17211>, 0x833115e <exec_byte_code+17284>, 0x83311a7 <exec_byte_code+17357>, 0x8331224 <exec_byte_code+17482>,
0x83312a1 <exec_byte_code+17607>, 0x83312ea <exec_byte_code+17680>, 0x8331459 <exec_byte_code+18047>, 0x83314d6 <exec_byte_code+18172>, 0x8331553 <exec_byte_code+18297>, 0x83315d0 <exec_byte_code+18422>, 0x833160e <exec_byte_code+18484>, 0x8331fe6 <exec_byte_code+21004>, 0x832ed9c <exec_byte_code+8130>,
0x832df29 <exec_byte_code+4431>, 0x832d525 <exec_byte_code+1867>, 0x832e09b <exec_byte_code+4801>, 0x832e251 <exec_byte_code+5239>, 0x832e3f3 <exec_byte_code+5657>, 0x832ed2a <exec_byte_code+8016>, 0x832ed6e <exec_byte_code+8084>, 0x832dc6c <exec_byte_code+3730>, 0x832ee1a <exec_byte_code+8256>,
0x832ee86 <exec_byte_code+8364>, 0x832ef27 <exec_byte_code+8525>, 0x832ef67 <exec_byte_code+8589>, 0x832f273 <exec_byte_code+9369>, 0x832f316 <exec_byte_code+9532>, 0x832f3c7 <exec_byte_code+9709>, 0x832f43a <exec_byte_code+9824>, 0x832dee0 <exec_byte_code+4358>, 0x8331657 <exec_byte_code+18557>,
0x8331708 <exec_byte_code+18734>, 0x8331751 <exec_byte_code+18807>, 0x833179a <exec_byte_code+18880>, 0x83317e3 <exec_byte_code+18953>, 0x833182c <exec_byte_code+19026>, 0x83318a9 <exec_byte_code+19151>, 0x833191a <exec_byte_code+19264>, 0x833198b <exec_byte_code+19377>,
0x83319fc <exec_byte_code+19490>, 0x8331c0e <exec_byte_code+20020>, 0x8331c7f <exec_byte_code+20133>, 0x8331cf0 <exec_byte_code+20246>, 0x8331d39 <exec_byte_code+20319>, 0x8331daa <exec_byte_code+20432>, 0x8331e1b <exec_byte_code+20545>, 0x8331e70 <exec_byte_code+20630>,
0x8331ec5 <exec_byte_code+20715>, 0x8330a80 <exec_byte_code+15526>, 0x8330acf <exec_byte_code+15605>, 0x8331f14 <exec_byte_code+20794>, 0x8331f7b <exec_byte_code+20897>, 0x8331fe6 <exec_byte_code+21004>, 0x832e595 <exec_byte_code+6075>, 0x832e6e0 <exec_byte_code+6406>, 0x832e878 <exec_byte_code+6814>,
0x832ea10 <exec_byte_code+7222>, 0x832eb9d <exec_byte_code+7619>, 0x832fa9a <exec_byte_code+11456>, 0x8330030 <exec_byte_code+12886>, 0x8330c46 <exec_byte_code+15980>, 0x83321de <exec_byte_code+21508>, 0x8332248 <exec_byte_code+21614>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>,
0x83322d4 <exec_byte_code+21754>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>,
0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8332362 <exec_byte_code+21896> <repeats 64 times>}
count = 4
op = 3
vectorp = 0x84fc1b8 <pure+658520>
stack = {
pc = 0x86cdb14 <pure+2565556> "\006\006\071\203\233",
byte_string = -9223372036715331164,
byte_string_start = 0x86cdaa0 <pure+2565440> "\306\020\211?\205\f",
next = 0x0
}
top = 0xbfe3d828
result = 585128914354166312
type = CATCHER
#37 0x082cf967 in funcall_lambda (fun=-6917529027501637260, nargs=1, arg_vector=0xbfe3ddc8) at eval.c:2885
val = 585119634005426181
syms_left = 4611686018427388929
next = 585167878297476216
lexenv = 0
count = 4
i = 139444596
optional = 30
rest = 8
#38 0x082cf00c in Ffuncall (nargs=2, args=0xbfe3ddc0) at eval.c:2767
fun = -6917529027501637260
original_fun = 1600
funcar = 0
numargs = 1
lisp_numargs = 1600
val = 0
internal_args = 0x81ecb5c <make_lisp_symbol+63>
count = 3
#39 0x082ce110 in call1 (fn=1600, arg1=4249980) at eval.c:2573
No locals.
#40 0x081f9fcf in command_loop_1 () at keyboard.c:1521
scount = 2
cmd = 4249980
keybuf = {4611686018561605690, 585128914354167416, 609933476987694440, 610463355550851016, 0, 589140164700528376, 0, 0, -6917529027498971800, 769627748254613509, 0, -9223372036651192280, 0, 610463355550826496, 0, 585119637224808200, 0, 0, 610463355692961072, 0, 2060, 610358042952728576, 8847632629762,
585128600821555000, 0, -4611686018427387904, 0, 0, 3221225472, 585128914354167640}
i = 1
prev_modiff = 7888
prev_buffer = 0xa2283f0
already_adjusted = false
#41 0x082c9709 in internal_condition_case (bfun=0x81f942b <command_loop_1>, handlers=2060, hfun=0x81f866c <cmd_error>) at eval.c:1348
val = 585119637224808392
c = 0x8f24850
#42 0x081f8ec2 in command_loop_2 (ignore=0) at keyboard.c:1139
val = 0
#43 0x082c8755 in internal_catch (tag=4885, func=0x81f8e86 <command_loop_2>, arg=0) at eval.c:1108
val = 142149136
c = 0x8f24770
#44 0x081f8e40 in command_loop () at keyboard.c:1118
No locals.
#45 0x081f807f in recursive_edit_1 () at keyboard.c:728
count = 1
val = 0
#46 0x081f8340 in Frecursive_edit () at keyboard.c:799
count = 0
buffer = 0
#47 0x081f593d in main (argc=2, argv=0xbfe3e204) at emacs.c:1626
dummy = -5304747776754711571
stack_bottom_variable = -62 '\302'
do_initial_setlocale = true
dumping = false
skip_args = 1
rlim = {
rlim_cur = 8388608,
rlim_max = 18446744073709551615
}
no_loadup = false
junk = 0x0
dname_arg = 0x0
ch_to_dir = 0x0
original_pwd = 0x0
Lisp Backtrace:
"looking-at" (0xbfe3bd20)
"eval" (0xbfe3bf10)
"pp-eval-expression" (0xbfe3c7c8)
"funcall-interactively" (0xbfe3c7c0)
"call-interactively" (0xbfe3c8f0)
"if" (0xbfe3ca90)
"progn" (0xbfe3cc40)
"unwind-protect" (0xbfe3cde0)
"let" (0xbfe3d050)
"yf/eval-expression-with-paredit" (0xbfe3d688)
"funcall-interactively" (0xbfe3d680)
"call-interactively" (0xbfe3d830)
"command-execute" (0xbfe3ddc8)
In GNU Emacs 25.0.50.2 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
of 2015-03-23 on localhost
Repository revision: a50c95dbd24eb0e56ad0eb0f8ff2c013b5f92285
Windowing system distributor `The X.Org Foundation', version 11.0.11500000
System Description: Gentoo Base System release 2.2
Configured using:
`configure --with-x-toolkit=lucid --enable-checking --with-wide-int
'CFLAGS= -O0 -g3''
Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF
GSETTINGS NOTIFY ACL GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB
Important settings:
value of $LANG: fr_FR.UTF-8
locale-coding-system: utf-8-unix
--
Nicolas Richard
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#20191: Acknowledgement (25.0.50; SIGABRT in re_match_2_internal)
[not found] ` <handler.20191.B.142721003329390.ack@debbugs.gnu.org>
@ 2015-03-24 16:22 ` Nicolas Richard
0 siblings, 0 replies; 8+ messages in thread
From: Nicolas Richard @ 2015-03-24 16:22 UTC (permalink / raw)
To: 20191
The problem also occurs with the emacs-24 branch.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
2015-03-24 15:14 bug#20191: 25.0.50; SIGABRT in re_match_2_internal Nicolas Richard
[not found] ` <handler.20191.B.142721003329390.ack@debbugs.gnu.org>
@ 2015-03-24 17:25 ` Paul Eggert
2015-03-25 6:45 ` Nicolas Richard
1 sibling, 1 reply; 8+ messages in thread
From: Paul Eggert @ 2015-03-24 17:25 UTC (permalink / raw)
To: Nicolas Richard; +Cc: 20191
It would help if we could reproduce it.
What happens if you copy the buffer in question ("* Guidance
2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n...") to a temporary
file FOO, edit it with "emacs -Q FOO", and then run M-x (looking-at "^[
\t]*:PROPERTIES:[ \t]*\n\\(?:[ \t]*:\\S-+:\\(?: .*\\)?[ \t]*\n\\)*[
\t]*:END:[ \t]*$") RET ?
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
2015-03-24 17:25 ` bug#20191: 25.0.50; SIGABRT in re_match_2_internal Paul Eggert
@ 2015-03-25 6:45 ` Nicolas Richard
2015-03-26 17:49 ` Paul Eggert
0 siblings, 1 reply; 8+ messages in thread
From: Nicolas Richard @ 2015-03-25 6:45 UTC (permalink / raw)
To: Paul Eggert; +Cc: Nicolas Richard, 20191
Paul Eggert <eggert@cs.ucla.edu> writes:
> It would help if we could reproduce it.
I'll try.
> What happens if you copy the buffer in question ("* Guidance
> 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n...") to a temporary
> file FOO, edit it with "emacs -Q FOO", and then run M-x (looking-at
> "^[ \t]*:PROPERTIES:[ \t]*\n\\(?:[ \t]*:\\S-+:\\(?: .*\\)?[
> \t]*\n\\)*[ \t]*:END:[ \t]*$") RET ?
It runs fast and I can't trigger the bug.
--
Nicolas
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
2015-03-25 6:45 ` Nicolas Richard
@ 2015-03-26 17:49 ` Paul Eggert
2015-03-27 16:00 ` Nicolas Richard
0 siblings, 1 reply; 8+ messages in thread
From: Paul Eggert @ 2015-03-26 17:49 UTC (permalink / raw)
To: Nicolas Richard; +Cc: 20191
On 03/24/2015 11:45 PM, Nicolas Richard wrote:
> It runs fast and I can't trigger the bug.
Hmm, well, that's not good. How about if you recompile with -DDEBUG,
run Emacs under a debugger and set the static variable 'debug' in
regex.c to a positive value, and see what Emacs outputs to stderr?
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
2015-03-26 17:49 ` Paul Eggert
@ 2015-03-27 16:00 ` Nicolas Richard
2015-03-27 19:37 ` Paul Eggert
0 siblings, 1 reply; 8+ messages in thread
From: Nicolas Richard @ 2015-03-27 16:00 UTC (permalink / raw)
To: Paul Eggert; +Cc: Nicolas Richard, 20191
[-- Attachment #1: Type: text/plain, Size: 26139 bytes --]
Le 26/03/2015 18:49, Paul Eggert a écrit :
> On 03/24/2015 11:45 PM, Nicolas Richard wrote:
>> It runs fast and I can't trigger the bug.
> Hmm, well, that's not good. How about if you recompile with -DDEBUG,
> run Emacs under a debugger and set the static variable 'debug' in
> regex.c to a positive value, and see what Emacs outputs to stderr?
Adding -DDEBUG makes an error. I had to download a file not part of emacs as suggested here:
https://lists.gnu.org/archive/html/bug-gnu-emacs/2012-04/msg01236.html
But even then, I get other errors and a failure :
> In file included from etags.c:180:0:
> ../src/chkmalloc.h:8:14: erreur: conflicting types for ‘calloc’
> extern void *calloc(int, int), *malloc (int), *realloc (void *, int);
> ^
> ../src/chkmalloc.h:8:33: erreur: conflicting types for ‘malloc’
> extern void *calloc(int, int), *malloc (int), *realloc (void *, int);
> ^
> ../src/chkmalloc.h:8:48: erreur: conflicting types for ‘realloc’
> extern void *calloc(int, int), *malloc (int), *realloc (void *, int);
> ^
> CCLD ctags
> Makefile:364: recipe for target 'etags' failed
Should I report either of these as a bug ?
Anyway, I changed "#if DEBUG" to "#if 0" in etags.c to avoiding loading
chkmalloc.h at all, and I can now compile but that option outputs a lot
of things to stderr (especially since my file is rather big).
But the good news is that it was so hard to get right that I ended up
looking for an actual reproducible recipe, and succeeded :
1. I have the attached files test.gro and test.el in a directory
2. I run emacs as follows from that directory :
/path/to/emacs -q -f toggle-debug-on-quit ./test.gro --eval '(message "Buffer loaded")' -l ./test.el
3. When the message "Buffer loaded" is on the screen, I hit C-g
4. I get a backtrace:
Debugger entered--Lisp error: (quit)
looking-at("^[ ]*:PROPERTIES:[ ]*\n\\(?:[ ]*:\\S-+:\\(?: .*\\)?[ ]*\n\\)*[ ]*:END:[ ]*$")
eval-buffer(#<buffer *load*> nil "/home/youngfrog/tmp/org-mode/repro-re-match-2-internal/test.el" nil t) ; Reading at buffer position 125
load-with-code-conversion("/home/youngfrog/tmp/org-mode/repro-re-match-2-internal/test.el" "/home/youngfrog/tmp/org-mode/repro-re-match-2-internal/test.el" nil t)
load("/home/youngfrog/tmp/org-mode/repro-re-match-2-internal/test.el" nil t)
command-line-1(("-f" "toggle-debug-on-quit" "-l" "org" "./test.gro" "--eval" "(message \"Buffer loaded\")" "-l" "./test.el"))
command-line()
normal-top-level()
5. hit c in the backtrace window
I then get a core dump.
Please note that if, instead, I don't mention "-l ./test.el" on the
command line but use M-x load-file RET test.el RET after emacs is
loaded (and proceed) the result is not a core dump but an infloop.
Here's a debugging session of that infloop. Since it's the gdb log and
that apparently doesn't record my commands, here's what I did :
- hit C-z in gdb
- ask for a backtrace
- say "finish" until it doesn't return (happens in re_match_2_internal)
- hit C-z again
- another backtrace
- finish until I get back to re_match_2_internal
- say 'next' repeatedly until boredom
I hope this is useful.
Program received signal SIGTSTP, Stopped (user).
XSYMBOL (a=5) at lisp.h:900
900 {
#0 XSYMBOL (a=5) at lisp.h:900
#1 0x081ecb9c in make_lisp_symbol (sym=0x8789d88) at lisp.h:1069
#2 0x081ecbe5 in builtin_lisp_symbol (index=0) at lisp.h:1076
#3 0x081edbf2 in CHAR_TABLE_REF_ASCII (ct=-6917529027498834576, idx=32) at lisp.h:1641
#4 0x081edc8e in CHAR_TABLE_REF (ct=-6917529027498834576, idx=32) at lisp.h:1656
#5 0x081f35fe in syntax_property_entry (c=32, via_property=true) at syntax.h:96
#6 0x081f365d in syntax_property_with_flags (c=32, via_property=true) at syntax.h:111
#7 0x081f3729 in syntax_property (c=32, via_property=true) at syntax.h:123
#8 0x08294827 in re_match_2_internal (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size1=0,
string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:6161
#9 0x0828e505 in re_match_2 (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size1=0,
string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:4917
#10 0x08278ec8 in looking_at_1 (string=-9223372036703832584, posix=false) at search.c:313
#11 0x08279084 in Flooking_at (regexp=-9223372036703832584) at search.c:348
#12 0x082ceec9 in eval_sub (form=-4611686018278169024) at eval.c:2181
#13 0x08313d35 in readevalloop_eager_expand_eval (val=-4611686018278169024, macroexpand=44021) at lread.c:1756
#14 0x08313c6b in readevalloop_eager_expand_eval (val=4611686018427387914, macroexpand=44021) at lread.c:1751
#15 0x083146d5 in readevalloop (readcharfun=-6917529027490052992, stream=0x0, sourcename=-9223372036703832392, printflag=false, unibyte=0, readfun=0, start=0, end=0) at lread.c:1927
#16 0x08314baa in Feval_buffer (buffer=-6917529027490052992, printflag=0, filename=-9223372036703809768, unibyte=0, do_allow_print=4740) at lread.c:1990
#17 0x082d1145 in Ffuncall (nargs=6, args=0xbfffbff8) at eval.c:2734
#18 0x083303d3 in exec_byte_code (bytestr=-9223372036715856980, vector=-6917529027502163012, maxdepth=4611686018427387910, args_template=0, nargs=0, args=0x0) at bytecode.c:919
#19 0x082d2502 in funcall_lambda (fun=-6917529027502163156, nargs=4, arg_vector=0xbfffc5b0) at eval.c:2951
#20 0x082d155f in Ffuncall (nargs=5, args=0xbfffc5a8) at eval.c:2767
#21 0x082d07d4 in call4 (fn=434936, arg1=-9223372036703809768, arg2=-9223372036703809768, arg3=0, arg4=0) at eval.c:2598
#22 0x08311ca3 in Fload (file=-9223372036703809752, noerror=0, nomessage=0, nosuffix=4740, must_suffix=0) at lread.c:1268
#23 0x082d1145 in Ffuncall (nargs=5, args=0xbfffc920) at eval.c:2734
#24 0x083303d3 in exec_byte_code (bytestr=-9223372036715704012, vector=-6917529027502010044, maxdepth=4611686018427387910, args_template=4611686018427388161, nargs=1, args=0xbfffd200) at bytecode.c:919
#25 0x082d1eba in funcall_lambda (fun=-6917529027502010116, nargs=1, arg_vector=0xbfffd1f8) at eval.c:2885
#26 0x082d155f in Ffuncall (nargs=2, args=0xbfffd1f0) at eval.c:2767
#27 0x082c2f32 in Ffuncall_interactively (nargs=2, args=0xbfffd1f0) at callint.c:252
#28 0x082d0dc4 in Ffuncall (nargs=3, args=0xbfffd1e8) at eval.c:2698
#29 0x082cf939 in Fapply (nargs=3, args=0xbfffd1e8) at eval.c:2293
#30 0x082c370a in Fcall_interactively (function=421597, record_flag=577992, keys=-6917529027498806896) at callint.c:394
#31 0x082d0fe3 in Ffuncall (nargs=4, args=0xbfffd398) at eval.c:2725
#32 0x083303d3 in exec_byte_code (bytestr=-9223372036715318828, vector=-6917529027501624860, maxdepth=4611686018427387917, args_template=4611686018427388929, nargs=2, args=0xbfffd978) at bytecode.c:919
#33 0x082d1eba in funcall_lambda (fun=-6917529027501624924, nargs=2, arg_vector=0xbfffd968) at eval.c:2885
#34 0x082d155f in Ffuncall (nargs=3, args=0xbfffd960) at eval.c:2767
#35 0x083303d3 in exec_byte_code (bytestr=-9223372036715319484, vector=-6917529027501625516, maxdepth=4611686018427387919, args_template=4611686018427388673, nargs=3, args=0xbfffe078) at bytecode.c:919
#36 0x082d1eba in funcall_lambda (fun=-6917529027501625588, nargs=3, arg_vector=0xbfffe060) at eval.c:2885
#37 0x082d155f in Ffuncall (nargs=4, args=0xbfffe058) at eval.c:2767
#38 0x082c2f32 in Ffuncall_interactively (nargs=4, args=0xbfffe058) at callint.c:252
#39 0x082d0dc4 in Ffuncall (nargs=5, args=0xbfffe050) at eval.c:2698
#40 0x082cfdb3 in Fapply (nargs=3, args=0xbfffe288) at eval.c:2337
#41 0x082c370a in Fcall_interactively (function=42875, record_flag=0, keys=-6917529027498806896) at callint.c:394
#42 0x082d0fe3 in Ffuncall (nargs=4, args=0xbfffe438) at eval.c:2725
#43 0x083303d3 in exec_byte_code (bytestr=-9223372036715318828, vector=-6917529027501624860, maxdepth=4611686018427387917, args_template=4611686018427388929, nargs=1, args=0xbfffe9e0) at bytecode.c:919
#44 0x082d1eba in funcall_lambda (fun=-6917529027501624924, nargs=1, arg_vector=0xbfffe9d8) at eval.c:2885
#45 0x082d155f in Ffuncall (nargs=2, args=0xbfffe9d0) at eval.c:2767
#46 0x082d0663 in call1 (fn=1600, arg1=42875) at eval.c:2573
#47 0x081fa00f in command_loop_1 () at keyboard.c:1521
#48 0x082cbc5c in internal_condition_case (bfun=0x81f946b <command_loop_1>, handlers=2060, hfun=0x81f86ac <cmd_error>) at eval.c:1348
#49 0x081f8f02 in command_loop_2 (ignore=0) at keyboard.c:1139
#50 0x082caca8 in internal_catch (tag=4885, func=0x81f8ec6 <command_loop_2>, arg=0) at eval.c:1108
#51 0x081f8e80 in command_loop () at keyboard.c:1118
#52 0x081f80bf in recursive_edit_1 () at keyboard.c:728
#53 0x081f8380 in Frecursive_edit () at keyboard.c:799
#54 0x081f597d in main (argc=7, argv=0xbfffee14) at emacs.c:1626
Run till exit from #0 XSYMBOL (a=5) at lisp.h:900
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb4effb40 (LWP 5871)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0 0xffffe424 in __kernel_vsyscall ()
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb587db40 (LWP 5869)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0 0xffffe424 in __kernel_vsyscall ()
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb6330b40 (LWP 5867)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0 0xffffe424 in __kernel_vsyscall ()
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb66de880 (LWP 5863)]
XSYMBOL (a=5) at lisp.h:900
900 {
Run till exit from #0 XSYMBOL (a=5) at lisp.h:900
0x081ecb9c in make_lisp_symbol (sym=0x8789d88) at lisp.h:1069
1069 eassert (XSYMBOL (a) == sym);
Value returned is $1 = (struct Lisp_Symbol *) 0x8789d88
Run till exit from #0 0x081ecb9c in make_lisp_symbol (sym=0x8789d88) at lisp.h:1069
builtin_lisp_symbol (index=0) at lisp.h:1077
1077 }
Value returned is $2 = 0
Run till exit from #0 builtin_lisp_symbol (index=0) at lisp.h:1077
0x081edbf2 in CHAR_TABLE_REF_ASCII (ct=-6917529027498834576, idx=32) at lisp.h:1641
1641 if (NILP (val))
Value returned is $3 = 0
Run till exit from #0 0x081edbf2 in CHAR_TABLE_REF_ASCII (ct=-6917529027498834576, idx=32) at lisp.h:1641
0x081edc8e in CHAR_TABLE_REF (ct=-6917529027498834576, idx=32) at lisp.h:1656
1656 : char_table_ref (ct, idx));
Value returned is $4 = -4611686018285161472
Run till exit from #0 0x081edc8e in CHAR_TABLE_REF (ct=-6917529027498834576, idx=32) at lisp.h:1656
syntax_property_entry (c=32, via_property=true) at syntax.h:94
94 return (gl_state.use_global
Value returned is $5 = -4611686018285161472
Run till exit from #0 syntax_property_entry (c=32, via_property=true) at syntax.h:94
0x081f365d in syntax_property_with_flags (c=32, via_property=true) at syntax.h:111
111 Lisp_Object ent = syntax_property_entry (c, via_property);
Value returned is $6 = -4611686018285161472
Run till exit from #0 0x081f365d in syntax_property_with_flags (c=32, via_property=true) at syntax.h:111
0x081f3729 in syntax_property (c=32, via_property=true) at syntax.h:123
123 return syntax_property_with_flags (c, via_property) & 0xff;
Value returned is $7 = 0
Run till exit from #0 0x081f3729 in syntax_property (c=32, via_property=true) at syntax.h:123
0x08294827 in re_match_2_internal (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size1=0,
string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:6161
6161 if ((SYNTAX (c) != (enum syntaxcode) mcnt) ^ not)
Value returned is $8 = Swhitespace
Run till exit from #0 0x08294827 in re_match_2_internal (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"...,
size1=0, string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:6161
Program received signal SIGTSTP, Stopped (user).
0x081ec3bc in XUNTAG (a=-6917529027492570744, type=5) at lisp.h:919
919 {
#0 0x081ec3bc in XUNTAG (a=-6917529027492570744, type=5) at lisp.h:919
#1 0x081eee2c in PSEUDOVECTORP (a=-6917529027492570744, code=14) at lisp.h:2553
#2 0x081eefdf in SUB_CHAR_TABLE_P (a=-6917529027492570744) at lisp.h:2612
#3 0x081edbad in CHAR_TABLE_REF_ASCII (ct=-6917529027493922824, idx=83) at lisp.h:1639
#4 0x081edc8e in CHAR_TABLE_REF (ct=-6917529027493922824, idx=83) at lisp.h:1656
#5 0x081f091b in char_table_translate (obj=-6917529027493922824, ch=83) at character.h:680
#6 0x0828f88e in re_match_2_internal (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size1=0,
string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:5363
#7 0x0828e505 in re_match_2 (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size1=0,
string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:4917
#8 0x08278ec8 in looking_at_1 (string=-9223372036703832584, posix=false) at search.c:313
#9 0x08279084 in Flooking_at (regexp=-9223372036703832584) at search.c:348
#10 0x082ceec9 in eval_sub (form=-4611686018278169024) at eval.c:2181
#11 0x08313d35 in readevalloop_eager_expand_eval (val=-4611686018278169024, macroexpand=44021) at lread.c:1756
#12 0x08313c6b in readevalloop_eager_expand_eval (val=4611686018427387914, macroexpand=44021) at lread.c:1751
#13 0x083146d5 in readevalloop (readcharfun=-6917529027490052992, stream=0x0, sourcename=-9223372036703832392, printflag=false, unibyte=0, readfun=0, start=0, end=0) at lread.c:1927
#14 0x08314baa in Feval_buffer (buffer=-6917529027490052992, printflag=0, filename=-9223372036703809768, unibyte=0, do_allow_print=4740) at lread.c:1990
#15 0x082d1145 in Ffuncall (nargs=6, args=0xbfffbff8) at eval.c:2734
#16 0x083303d3 in exec_byte_code (bytestr=-9223372036715856980, vector=-6917529027502163012, maxdepth=4611686018427387910, args_template=0, nargs=0, args=0x0) at bytecode.c:919
#17 0x082d2502 in funcall_lambda (fun=-6917529027502163156, nargs=4, arg_vector=0xbfffc5b0) at eval.c:2951
#18 0x082d155f in Ffuncall (nargs=5, args=0xbfffc5a8) at eval.c:2767
#19 0x082d07d4 in call4 (fn=434936, arg1=-9223372036703809768, arg2=-9223372036703809768, arg3=0, arg4=0) at eval.c:2598
#20 0x08311ca3 in Fload (file=-9223372036703809752, noerror=0, nomessage=0, nosuffix=4740, must_suffix=0) at lread.c:1268
#21 0x082d1145 in Ffuncall (nargs=5, args=0xbfffc920) at eval.c:2734
#22 0x083303d3 in exec_byte_code (bytestr=-9223372036715704012, vector=-6917529027502010044, maxdepth=4611686018427387910, args_template=4611686018427388161, nargs=1, args=0xbfffd200) at bytecode.c:919
#23 0x082d1eba in funcall_lambda (fun=-6917529027502010116, nargs=1, arg_vector=0xbfffd1f8) at eval.c:2885
#24 0x082d155f in Ffuncall (nargs=2, args=0xbfffd1f0) at eval.c:2767
#25 0x082c2f32 in Ffuncall_interactively (nargs=2, args=0xbfffd1f0) at callint.c:252
#26 0x082d0dc4 in Ffuncall (nargs=3, args=0xbfffd1e8) at eval.c:2698
#27 0x082cf939 in Fapply (nargs=3, args=0xbfffd1e8) at eval.c:2293
#28 0x082c370a in Fcall_interactively (function=421597, record_flag=577992, keys=-6917529027498806896) at callint.c:394
#29 0x082d0fe3 in Ffuncall (nargs=4, args=0xbfffd398) at eval.c:2725
#30 0x083303d3 in exec_byte_code (bytestr=-9223372036715318828, vector=-6917529027501624860, maxdepth=4611686018427387917, args_template=4611686018427388929, nargs=2, args=0xbfffd978) at bytecode.c:919
#31 0x082d1eba in funcall_lambda (fun=-6917529027501624924, nargs=2, arg_vector=0xbfffd968) at eval.c:2885
#32 0x082d155f in Ffuncall (nargs=3, args=0xbfffd960) at eval.c:2767
#33 0x083303d3 in exec_byte_code (bytestr=-9223372036715319484, vector=-6917529027501625516, maxdepth=4611686018427387919, args_template=4611686018427388673, nargs=3, args=0xbfffe078) at bytecode.c:919
#34 0x082d1eba in funcall_lambda (fun=-6917529027501625588, nargs=3, arg_vector=0xbfffe060) at eval.c:2885
#35 0x082d155f in Ffuncall (nargs=4, args=0xbfffe058) at eval.c:2767
#36 0x082c2f32 in Ffuncall_interactively (nargs=4, args=0xbfffe058) at callint.c:252
#37 0x082d0dc4 in Ffuncall (nargs=5, args=0xbfffe050) at eval.c:2698
#38 0x082cfdb3 in Fapply (nargs=3, args=0xbfffe288) at eval.c:2337
#39 0x082c370a in Fcall_interactively (function=42875, record_flag=0, keys=-6917529027498806896) at callint.c:394
#40 0x082d0fe3 in Ffuncall (nargs=4, args=0xbfffe438) at eval.c:2725
#41 0x083303d3 in exec_byte_code (bytestr=-9223372036715318828, vector=-6917529027501624860, maxdepth=4611686018427387917, args_template=4611686018427388929, nargs=1, args=0xbfffe9e0) at bytecode.c:919
#42 0x082d1eba in funcall_lambda (fun=-6917529027501624924, nargs=1, arg_vector=0xbfffe9d8) at eval.c:2885
#43 0x082d155f in Ffuncall (nargs=2, args=0xbfffe9d0) at eval.c:2767
#44 0x082d0663 in call1 (fn=1600, arg1=42875) at eval.c:2573
#45 0x081fa00f in command_loop_1 () at keyboard.c:1521
#46 0x082cbc5c in internal_condition_case (bfun=0x81f946b <command_loop_1>, handlers=2060, hfun=0x81f86ac <cmd_error>) at eval.c:1348
#47 0x081f8f02 in command_loop_2 (ignore=0) at keyboard.c:1139
#48 0x082caca8 in internal_catch (tag=4885, func=0x81f8ec6 <command_loop_2>, arg=0) at eval.c:1108
#49 0x081f8e80 in command_loop () at keyboard.c:1118
#50 0x081f80bf in recursive_edit_1 () at keyboard.c:728
#51 0x081f8380 in Frecursive_edit () at keyboard.c:799
#52 0x081f597d in main (argc=7, argv=0xbfffee14) at emacs.c:1626
Run till exit from #0 0x081ec3bc in XUNTAG (a=-6917529027492570744, type=5) at lisp.h:919
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb4effb40 (LWP 5871)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0 0xffffe424 in __kernel_vsyscall ()
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb587db40 (LWP 5869)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0 0xffffe424 in __kernel_vsyscall ()
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb6330b40 (LWP 5867)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0 0xffffe424 in __kernel_vsyscall ()
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb66de880 (LWP 5863)]
0x081ec3bc in XUNTAG (a=-6917529027492570744, type=5) at lisp.h:919
919 {
Run till exit from #0 0x081ec3bc in XUNTAG (a=-6917529027492570744, type=5) at lisp.h:919
0x081eee2c in PSEUDOVECTORP (a=-6917529027492570744, code=14) at lisp.h:2553
2553 struct vectorlike_header *h = XUNTAG (a, Lisp_Vectorlike);
Value returned is $9 = (void *) 0x8da1988
Run till exit from #0 0x081eee2c in PSEUDOVECTORP (a=-6917529027492570744, code=14) at lisp.h:2553
SUB_CHAR_TABLE_P (a=-6917529027492570744) at lisp.h:2613
2613 }
Value returned is $10 = true
Run till exit from #0 SUB_CHAR_TABLE_P (a=-6917529027492570744) at lisp.h:2613
0x081edbad in CHAR_TABLE_REF_ASCII (ct=-6917529027493922824, idx=83) at lisp.h:1639
1639 val = (! SUB_CHAR_TABLE_P (tbl->ascii) ? tbl->ascii
Value returned is $11 = true
Run till exit from #0 0x081edbad in CHAR_TABLE_REF_ASCII (ct=-6917529027493922824, idx=83) at lisp.h:1639
0x081edc8e in CHAR_TABLE_REF (ct=-6917529027493922824, idx=83) at lisp.h:1656
1656 : char_table_ref (ct, idx));
Value returned is $12 = 4611686018427388019
Run till exit from #0 0x081edc8e in CHAR_TABLE_REF (ct=-6917529027493922824, idx=83) at lisp.h:1656
0x081f091b in char_table_translate (obj=-6917529027493922824, ch=83) at character.h:680
680 obj = CHAR_TABLE_REF (obj, ch);
Value returned is $13 = 4611686018427388019
Run till exit from #0 0x081f091b in char_table_translate (obj=-6917529027493922824, ch=83) at character.h:680
0x0828f88e in re_match_2_internal (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size1=0,
string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL: \n:CHIM: 2 (BA2)\n:ECON: \n:GEOG: \n:GEOL: \n:INFO: \n:INGE: \n:IRBI: \n:MATH: 1\n:PHAR: \n:PHYS: \n:SCIE: 2\n:campus: PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:5363
5363 if (TRANSLATE (buf_ch) != pat_ch)
Value returned is $14 = 115
5365 d = dfail;
5366 goto fail;
6217 IMMEDIATE_QUIT_CHECK;
6218 if (!FAIL_STACK_EMPTY ())
6222 DEBUG_PRINT ("\nFAIL:\n");
6223 POP_FAILURE_POINT (str, pat);
6224 switch (*pat++)
6238 d = str;
6240 EXTRACT_NUMBER_AND_INCR (mcnt, pat);
6241 p = pat + mcnt;
6242 break;
6252 assert (p >= bufp->buffer && p <= pend);
6254 if (d >= string1 && d <= end1)
6259 } /* for (;;) */
5134 DEBUG_PRINT ("\n%p: ", p);
5136 if (p == pend)
5297 switch (*p++)
5313 mcnt = *p++;
5314 DEBUG_PRINT ("EXECUTING exactn %d.\n", mcnt);
5317 dfail = d;
5347 if (target_multibyte)
5353 PREFETCH ();
5354 if (multibyte)
5358 pat_ch = RE_CHAR_TO_MULTIBYTE (*p);
5359 pat_charlen = 1;
5361 buf_ch = STRING_CHAR_AND_LENGTH (d, buf_charlen);
5363 if (TRANSLATE (buf_ch) != pat_ch)
5365 d = dfail;
5366 goto fail;
6217 IMMEDIATE_QUIT_CHECK;
6218 if (!FAIL_STACK_EMPTY ())
6222 DEBUG_PRINT ("\nFAIL:\n");
6223 POP_FAILURE_POINT (str, pat);
6224 switch (*pat++)
6238 d = str;
6240 EXTRACT_NUMBER_AND_INCR (mcnt, pat);
6241 p = pat + mcnt;
6242 break;
6252 assert (p >= bufp->buffer && p <= pend);
6254 if (d >= string1 && d <= end1)
6259 } /* for (;;) */
5134 DEBUG_PRINT ("\n%p: ", p);
5136 if (p == pend)
5297 switch (*p++)
5313 mcnt = *p++;
5314 DEBUG_PRINT ("EXECUTING exactn %d.\n", mcnt);
5317 dfail = d;
5347 if (target_multibyte)
5353 PREFETCH ();
5354 if (multibyte)
5358 pat_ch = RE_CHAR_TO_MULTIBYTE (*p);
5359 pat_charlen = 1;
5361 buf_ch = STRING_CHAR_AND_LENGTH (d, buf_charlen);
5363 if (TRANSLATE (buf_ch) != pat_ch)
5365 d = dfail;
5366 goto fail;
6217 IMMEDIATE_QUIT_CHECK;
6218 if (!FAIL_STACK_EMPTY ())
6222 DEBUG_PRINT ("\nFAIL:\n");
6223 POP_FAILURE_POINT (str, pat);
6224 switch (*pat++)
6238 d = str;
6240 EXTRACT_NUMBER_AND_INCR (mcnt, pat);
6241 p = pat + mcnt;
6242 break;
6252 assert (p >= bufp->buffer && p <= pend);
6254 if (d >= string1 && d <= end1)
6259 } /* for (;;) */
5134 DEBUG_PRINT ("\n%p: ", p);
5136 if (p == pend)
5297 switch (*p++)
5728 EXTRACT_NUMBER_AND_INCR (mcnt, p);
5729 DEBUG_PRINT ("EXECUTING on_failure_keep_string_jump %d (to %p):\n",
5732 PUSH_FAILURE_POINT (p - 3, NULL);
5733 break;
6212 continue; /* Successfully executed one pattern command; keep going. */
6259 } /* for (;;) */
5134 DEBUG_PRINT ("\n%p: ", p);
5136 if (p == pend)
5297 switch (*p++)
5443 boolean not = (re_opcode_t) *(p - 1) == charset_not;
5455 int count = 0;
5458 boolean unibyte_char = false;
5460 DEBUG_PRINT ("EXECUTING charset%s.\n", not ? "_not" : "");
5462 range_table_exists = CHARSET_RANGE_TABLE_EXISTS_P (&p[-1]);
5464 if (range_table_exists)
5471 c = RE_STRING_CHAR_AND_LENGTH (d, len, target_multibyte);
5472 if (target_multibyte)
5476 c = TRANSLATE (c);
A debugging session is active.
Inferior 1 [process 5863] will be killed.
Quit anyway? (y or n)
[-- Attachment #2: test.gro --]
[-- Type: application/octet-stream, Size: 234 bytes --]
**** foo
:PROPERTIES:
:BIOL:
:CHIM: 2 (BA2)
:ECON:
:GEOG:
:GEOL:
:INFO:
:INGE:
:IRBI:
:MATH: 1
:PHAR:
:PHYS:
:SCIE: 2
:campus: PL
:commentaires: les CHIM étaient BA2.
:END:
[-- Attachment #3: test.el --]
[-- Type: application/emacs-lisp, Size: 129 bytes --]
[-- Attachment #4: Type: text/plain, Size: 10 bytes --]
Nicolas.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
2015-03-27 16:00 ` Nicolas Richard
@ 2015-03-27 19:37 ` Paul Eggert
2015-03-28 8:38 ` Nicolas Richard
0 siblings, 1 reply; 8+ messages in thread
From: Paul Eggert @ 2015-03-27 19:37 UTC (permalink / raw)
To: Nicolas Richard; +Cc: 20191-done
[-- Attachment #1: Type: text/plain, Size: 766 bytes --]
On 03/27/2015 09:00 AM, Nicolas Richard wrote:
>
> Should I report either of these as a bug ?
Thanks, don't bother, I fixed it in master with the first attached patch.
> I then get a core dump.
Thanks. I reproduced that problem. It's an issue with the Emacs
debugger, not with regular-expression matching. (The regular expression
matcher is very slow with your example -- which is a problem, but I
suggest filing a separate bug report for the performance problem, as
this bug report is about a SIGABRT.)
I fixed the problem in master by applying the second and third attached
patches (which fix some related bugs while I was at it) and am marking
this as done. At least, it works for me; if it still doesn't work for
you we can reopen the bug report.
[-- Attachment #2: 0001-Port-etags-to-DDEBUG.patch --]
[-- Type: text/x-patch, Size: 2800 bytes --]
From 84c7c6fd2b9604fa28e0b834caa46423114b9c5b Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 27 Mar 2015 11:14:14 -0700
Subject: [PATCH 1/3] Port etags to -DDEBUG
* etags.c (xnew, xrnew) [DEBUG]: Don't include chkmalloc.h, which
is not part of Emacs and is typically not installed.
Instead, just invoke xmalloc and xrealloc as usual.
Problem reported by Nicolas Richard in:
http://bugs.gnu.org/20191#20
(xrnew): Avoid no-longer-needed cast to 'char *'.
(xrealloc): First arg is now void *, not char *.
---
lib-src/ChangeLog | 11 +++++++++++
lib-src/etags.c | 17 ++++-------------
2 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 9786809..0bb24c3 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,14 @@
+2015-03-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port etags to -DDEBUG
+ * etags.c (xnew, xrnew) [DEBUG]: Don't include chkmalloc.h, which
+ is not part of Emacs and is typically not installed.
+ Instead, just invoke xmalloc and xrealloc as usual.
+ Problem reported by Nicolas Richard in:
+ http://bugs.gnu.org/20191#20
+ (xrnew): Avoid no-longer-needed cast to 'char *'.
+ (xrealloc): First arg is now void *, not char *.
+
2015-03-06 Paul Eggert <eggert@cs.ucla.edu>
Random minor fixes for movemail
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 7f18755..b1361db 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -176,17 +176,8 @@ char pot_etags_version[] = "@(#) pot revision number is 17.38.1.4";
* SYNOPSIS: Type *xnew (int n, Type);
* void xrnew (OldPointer, int n, Type);
*/
-#if DEBUG
-# include "chkmalloc.h"
-# define xnew(n,Type) ((Type *) trace_malloc (__FILE__, __LINE__, \
- (n) * sizeof (Type)))
-# define xrnew(op,n,Type) ((op) = (Type *) trace_realloc (__FILE__, __LINE__, \
- (char *) (op), (n) * sizeof (Type)))
-#else
-# define xnew(n,Type) ((Type *) xmalloc ((n) * sizeof (Type)))
-# define xrnew(op,n,Type) ((op) = (Type *) xrealloc ( \
- (char *) (op), (n) * sizeof (Type)))
-#endif
+#define xnew(n, Type) ((Type *) xmalloc ((n) * sizeof (Type)))
+#define xrnew(op, n, Type) ((op) = (Type *) xrealloc (op, (n) * sizeof (Type)))
typedef void Lang_function (FILE *);
@@ -348,7 +339,7 @@ static void canonicalize_filename (char *);
static void linebuffer_init (linebuffer *);
static void linebuffer_setlen (linebuffer *, int);
static void *xmalloc (size_t);
-static void *xrealloc (char *, size_t);
+static void *xrealloc (void *, size_t);
\f
static char searchar = '/'; /* use /.../ searches */
@@ -6533,7 +6524,7 @@ xmalloc (size_t size)
}
static void *
-xrealloc (char *ptr, size_t size)
+xrealloc (void *ptr, size_t size)
{
void *result = realloc (ptr, size);
if (result == NULL)
--
2.1.0
[-- Attachment #3: 0002-Port-user-login-name-initialization-to-Qnil-0.patch --]
[-- Type: text/x-patch, Size: 2327 bytes --]
From 589a4034b7af522c5b8107d5089fb1aec523a1e4 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 27 Mar 2015 11:57:44 -0700
Subject: [PATCH 2/3] Port user-login-name initialization to Qnil == 0
* editfns.c (Fuser_login_name, Fuser_real_login_name)
(syms_of_editfns): Don't rely on all-bits-zero being an Elisp integer,
as this is no longer true now that Qnil == 0.
---
src/ChangeLog | 5 +++++
src/editfns.c | 5 +++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 3f9ab4f..61f2a84 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,10 @@
2015-03-27 Paul Eggert <eggert@cs.ucla.edu>
+ Port user-login-name initialization to Qnil == 0
+ * editfns.c (Fuser_login_name, Fuser_real_login_name)
+ (syms_of_editfns): Don't rely on all-bits-zero being an Elisp integer,
+ as this is no longer true now that Qnil == 0.
+
Assume !BROKEN_NON_BLOCKING_CONNECT
From a suggestion by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-03/msg00824.html
diff --git a/src/editfns.c b/src/editfns.c
index f463890..7d3e462 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -1191,7 +1191,7 @@ of the user with that uid, or nil if there is no such user. */)
/* Set up the user name info if we didn't do it before.
(That can happen if Emacs is dumpable
but you decide to run `temacs -l loadup' and not dump. */
- if (INTEGERP (Vuser_login_name))
+ if (NILP (Vuser_login_name))
init_editfns ();
if (NILP (uid))
@@ -1214,7 +1214,7 @@ This ignores the environment variables LOGNAME and USER, so it differs from
/* Set up the user name info if we didn't do it before.
(That can happen if Emacs is dumpable
but you decide to run `temacs -l loadup' and not dump. */
- if (INTEGERP (Vuser_login_name))
+ if (NILP (Vuser_login_name))
init_editfns ();
return Vuser_real_login_name;
}
@@ -4955,6 +4955,7 @@ functions if all the text being accessed has this property. */);
DEFVAR_LISP ("user-login-name", Vuser_login_name,
doc: /* The user's name, taken from environment variables if possible. */);
+ Vuser_login_name = Qnil;
DEFVAR_LISP ("user-real-login-name", Vuser_real_login_name,
doc: /* The user's name, based upon the real uid only. */);
--
2.1.0
[-- Attachment #4: 0003-Avoid-some-core-dumps-in-X-session-management.patch --]
[-- Type: text/x-patch, Size: 5960 bytes --]
From 01d1024bec7781066440104ebee0b186382e10f3 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 27 Mar 2015 12:10:44 -0700
Subject: [PATCH 3/3] Avoid some core dumps in X session management
Derived from a bug report by Nicolas Richard in:
http://bugs.gnu.org/20191#20
* xsmfns.c (smc_save_yourself_CB): Don't dump core if
invocation-name is not a string. Initialize user-login-name if it
is not already initialized, and don't dump core if it is not a
string.
(create_client_leader_window): Don't dump core if x-resource-name
and x-resource-class are not both strings.
(x_session_initialize): Don't dump core if x-session-previous-id,
invocation-directory, and invocation-name are not strings.
---
src/ChangeLog | 14 ++++++++++++++
src/xsmfns.c | 57 +++++++++++++++++++++++++++++++++------------------------
2 files changed, 47 insertions(+), 24 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 61f2a84..db3056c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,6 +1,20 @@
2015-03-27 Paul Eggert <eggert@cs.ucla.edu>
+ Avoid some core dumps in X session management
+ Derived from a bug report by Nicolas Richard in:
+ http://bugs.gnu.org/20191#20
+ * xsmfns.c (smc_save_yourself_CB): Don't dump core if
+ invocation-name is not a string. Initialize user-login-name if it
+ is not already initialized, and don't dump core if it is not a
+ string.
+ (create_client_leader_window): Don't dump core if x-resource-name
+ and x-resource-class are not both strings.
+ (x_session_initialize): Don't dump core if x-session-previous-id,
+ invocation-directory, and invocation-name are not strings.
+
Port user-login-name initialization to Qnil == 0
+ Derived from a bug report by Nicolas Richard in:
+ http://bugs.gnu.org/20191#20
* editfns.c (Fuser_login_name, Fuser_real_login_name)
(syms_of_editfns): Don't rely on all-bits-zero being an Elisp integer,
as this is no longer true now that Qnil == 0.
diff --git a/src/xsmfns.c b/src/xsmfns.c
index 0e635d3..375b51c 100644
--- a/src/xsmfns.c
+++ b/src/xsmfns.c
@@ -168,7 +168,6 @@ smc_save_yourself_CB (SmcConn smcConn,
int val_idx = 0, vp_idx = 0;
int props_idx = 0;
int i;
- char *cwd = get_current_dir_name ();
char *smid_opt, *chdir_opt = NULL;
/* How to start a new instance of Emacs. */
@@ -181,27 +180,34 @@ smc_save_yourself_CB (SmcConn smcConn,
props[props_idx]->vals[0].value = emacs_program;
++props_idx;
- /* The name of the program. */
- props[props_idx] = &prop_ptr[props_idx];
- props[props_idx]->name = xstrdup (SmProgram);
- props[props_idx]->type = xstrdup (SmARRAY8);
- props[props_idx]->num_vals = 1;
- props[props_idx]->vals = &values[val_idx++];
- props[props_idx]->vals[0].length = SBYTES (Vinvocation_name);
- props[props_idx]->vals[0].value = SDATA (Vinvocation_name);
- ++props_idx;
+ if (STRINGP (Vinvocation_name))
+ {
+ /* The name of the program. */
+ props[props_idx] = &prop_ptr[props_idx];
+ props[props_idx]->name = xstrdup (SmProgram);
+ props[props_idx]->type = xstrdup (SmARRAY8);
+ props[props_idx]->num_vals = 1;
+ props[props_idx]->vals = &values[val_idx++];
+ props[props_idx]->vals[0].length = SBYTES (Vinvocation_name);
+ props[props_idx]->vals[0].value = SDATA (Vinvocation_name);
+ ++props_idx;
+ }
/* User id. */
- props[props_idx] = &prop_ptr[props_idx];
- props[props_idx]->name = xstrdup (SmUserID);
- props[props_idx]->type = xstrdup (SmARRAY8);
- props[props_idx]->num_vals = 1;
- props[props_idx]->vals = &values[val_idx++];
- props[props_idx]->vals[0].length = SBYTES (Vuser_login_name);
- props[props_idx]->vals[0].value = SDATA (Vuser_login_name);
- ++props_idx;
-
+ Lisp_Object user_login_name = Fuser_login_name (Qnil);
+ if (STRINGP (user_login_name))
+ {
+ props[props_idx] = &prop_ptr[props_idx];
+ props[props_idx]->name = xstrdup (SmUserID);
+ props[props_idx]->type = xstrdup (SmARRAY8);
+ props[props_idx]->num_vals = 1;
+ props[props_idx]->vals = &values[val_idx++];
+ props[props_idx]->vals[0].length = SBYTES (user_login_name);
+ props[props_idx]->vals[0].value = SDATA (user_login_name);
+ ++props_idx;
+ }
+ char *cwd = get_current_dir_name ();
if (cwd)
{
props[props_idx] = &prop_ptr[props_idx];
@@ -372,6 +378,7 @@ create_client_leader_window (struct x_display_info *dpyinfo, char *client_ID)
-1, -1, 1, 1,
CopyFromParent, CopyFromParent, CopyFromParent);
+ validate_x_resource_name ();
class_hints.res_name = SSDATA (Vx_resource_name);
class_hints.res_class = SSDATA (Vx_resource_class);
XSetClassHint (dpyinfo->display, w, &class_hints);
@@ -402,22 +409,24 @@ x_session_initialize (struct x_display_info *dpyinfo)
/* Check if we where started by the session manager. If so, we will
have a previous id. */
- if (! NILP (Vx_session_previous_id) && STRINGP (Vx_session_previous_id))
+ if (STRINGP (Vx_session_previous_id))
previous_id = SSDATA (Vx_session_previous_id);
/* Construct the path to the Emacs program. */
- if (! NILP (Vinvocation_directory))
+ if (STRINGP (Vinvocation_directory))
name_len += SBYTES (Vinvocation_directory);
- name_len += SBYTES (Vinvocation_name);
+ if (STRINGP (Vinvocation_name))
+ name_len += SBYTES (Vinvocation_name);
/* This malloc will not be freed, but it is only done once, and hopefully
not very large */
emacs_program = xmalloc (name_len + 1);
char *z = emacs_program;
- if (! NILP (Vinvocation_directory))
+ if (STRINGP (Vinvocation_directory))
z = lispstpcpy (z, Vinvocation_directory);
- lispstpcpy (z, Vinvocation_name);
+ if (STRINGP (Vinvocation_name))
+ lispstpcpy (z, Vinvocation_name);
/* The SM protocol says all callbacks are mandatory, so set up all
here and in the mask passed to SmcOpenConnection. */
--
2.1.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
2015-03-27 19:37 ` Paul Eggert
@ 2015-03-28 8:38 ` Nicolas Richard
0 siblings, 0 replies; 8+ messages in thread
From: Nicolas Richard @ 2015-03-28 8:38 UTC (permalink / raw)
To: Paul Eggert; +Cc: 20191-done
Paul Eggert <eggert@cs.ucla.edu> writes:
> Thanks. I reproduced that problem. It's an issue with the Emacs
> debugger, not with regular-expression matching. (The regular
> expression matcher is very slow with your example -- which is a
> problem, but I suggest filing a separate bug report for the
> performance problem, as this bug report is about a SIGABRT.)
Ok, I'll do that.
Thanks for the fixes.
--
Nicolas
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-03-28 8:38 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-24 15:14 bug#20191: 25.0.50; SIGABRT in re_match_2_internal Nicolas Richard
[not found] ` <handler.20191.B.142721003329390.ack@debbugs.gnu.org>
2015-03-24 16:22 ` bug#20191: Acknowledgement (25.0.50; SIGABRT in re_match_2_internal) Nicolas Richard
2015-03-24 17:25 ` bug#20191: 25.0.50; SIGABRT in re_match_2_internal Paul Eggert
2015-03-25 6:45 ` Nicolas Richard
2015-03-26 17:49 ` Paul Eggert
2015-03-27 16:00 ` Nicolas Richard
2015-03-27 19:37 ` Paul Eggert
2015-03-28 8:38 ` Nicolas Richard
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.