* bug#18013: 24.3.92; Infloop in re_search_2
@ 2014-07-14 9:48 Nicolas Richard
2014-07-14 10:06 ` Andreas Schwab
0 siblings, 1 reply; 7+ messages in thread
From: Nicolas Richard @ 2014-07-14 9:48 UTC (permalink / raw)
To: 18013
Hello,
After reconnecting to rcirc, my emacs stopped responding. Hitting C-g
let me enter gdb. I hit "fin RET RET RET" until emacs stops responding
again, and found that I could not finish re_search_2. Here's the
backtrace (hand-edited to remove the value of "targets" which was
uselessly long):
#0 0x081e76c3 in re_search_2 (bufp=0x859b3c0 <searchbufs+640>,
str1=0xaf38e008 "Source file `/home/youngfrog/sources/org-mode/lisp/org.el' newer than byte-compiled file\nLoading /home/youngfrog/sources/ido-hacks/ido-hacks.el (source)...done\nLoading /home/youngfrog/sources/org-mode"...,
size1=77021414, str2=0xb3d028be "", size2=0, startpos=71810484, range=-71810484, regs=0x859c9a4 <search_regs>, stop=77021414) at regex.c:4416
d = 0x8872045 "\347[\b\302\347[\bR\350[\b\315Y\212\b\225\262\177\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\035\201\203\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[\b\302\347[", <incomplete sequence \302>...
buf_ch = 105
val = -1
string1 = 0xaf38e008 "Source file `/home/youngfrog/sources/org-mode/lisp/org.el' newer than byte-compiled file\nLoading /home/youngfrog/sources/ido-hacks/ido-hacks.el (source)...done\nLoading /home/youngfrog/sources/org-mode"...
string2 = 0xb3d028be ""
fastmap = 0x859b3e4 <searchbufs+676> "\001\001\001\001\001\001\001\001\001\001"
translate = 143073349
total_size = 77021414
endpos = 0
anchored_start = 0 '\000'
multibyte = 1 '\001'
#1 0x081d96aa in search_buffer (string=176212305, pos=77021413, pos_byte=77021415, lim=1, lim_byte=1, n=-1, RE=1, trt=143073349, inverse_trt=142978709, posix=false) at search.c:1223
val = -1073762664
p2 = 0xb3d028be ""
s1 = 77021414
p1 = 0xaf38e008 "Source file `/home/youngfrog/sources/org-mode/lisp/org.el' newer than byte-compiled file\nLoading /home/youngfrog/sources/ido-hacks/ido-hacks.el (source)...done\nLoading /home/youngfrog/sources/org-mode"...
s2 = 0
bufp = 0x859b3c0 <searchbufs+640>
len = 12
len_byte = 12
i = 77021414
#2 0x081d922f in search_command (string=176212305, bound=140240834, noerror=140240858, count=140240834, direction=-1, RE=1, posix=false) at search.c:1061
np = 137757216
lim = 1
lim_byte = 1
n = -1
#3 0x081dc11d in Fre_search_backward (regexp=176212305, bound=140240834, noerror=140240858, count=140240834) at search.c:2223
No locals.
#4 0x08214c1a in Ffuncall (nargs=4, args=0xbfffb054) at eval.c:2826
fun = 137757221
original_fun = 140334834
funcar = 169661589
numargs = 3
lisp_numargs = -1073762264
val = -1073762264
internal_args = 0xbfffafa0
i = 4
#5 0x08255cde in exec_byte_code (bytestr=137828585, vector=137828605, maxdepth=36, args_template=3076, nargs=1, args=0xbfffb37c) at bytecode.c:916
targets = [hand-removed]
count = 59
op = 3
vectorp = 0x83718fc <pure+70972>
stack = {
pc = 0x8553a33 <pure+2045555> "\205\016",
byte_string = 137828585,
byte_string_start = 0x8553a29 <pure+2045545> "`\212\300\301\005\302Q\004\303#\205\016",
next = 0xbfffb3bc
}
top = 0xbfffb054
result = 0
type = (unknown: 12)
#6 0x08215365 in funcall_lambda (fun=137828565, nargs=1, arg_vector=0xbfffb378) at eval.c:2983
val = 136393299
syms_left = 3076
next = 140094908
lexenv = 12
count = 59
i = 137828560
optional = 8
rest = 23
#7 0x08214dc1 in Ffuncall (nargs=2, args=0xbfffb374) at eval.c:2864
fun = 137828565
original_fun = 142029138
funcar = 152709998
numargs = 1
lisp_numargs = -1073761480
val = -1073761448
internal_args = 0x94009b5
i = 155191733
#8 0x08255cde in exec_byte_code (bytestr=155177161, vector=155191733, maxdepth=16, args_template=140240834, nargs=0, args=0x0) at bytecode.c:916
targets = [hand-removed]
count = 55
op = 1
vectorp = 0x94009b4
stack = {
pc = 0x93ed523 "\203\021",
byte_string = 155177161,
byte_string_start = 0x93ed518 "\304\030\305\031r\306q\210\307\310!\203\021",
next = 0xbfffb7cc
}
top = 0xbfffb374
result = 0
type = (unknown: 12)
#9 0x0821572f in funcall_lambda (fun=155191789, nargs=2, arg_vector=0x94009b5) at eval.c:3049
val = 136393299
syms_left = 140240834
next = 142059538
lexenv = 140240834
count = 53
i = 2
optional = true
rest = false
#10 0x08214dc1 in Ffuncall (nargs=3, args=0xbfffb78c) at eval.c:2864
fun = 155191789
original_fun = 155175722
funcar = 12
numargs = 2
lisp_numargs = -1073760648
val = 36318
internal_args = 0x0
i = 140240834
#11 0x08213d29 in Fapply (nargs=3, args=0xbfffb78c) at eval.c:2301
i = 135779084
numargs = 1
spread_arg = 185772774
funcall_args = 0x0
fun = 155175722
retval = 139835381
gcpro1 = {
next = 0x855b7f0 <Sapply>,
var = 0xbfffb6b8,
nvars = 135779084
}
sa_count = 52
sa_must_free = false
#12 0x08214a81 in Ffuncall (nargs=4, args=0xbfffb788) at eval.c:2796
fun = 139835381
original_fun = 140313602
funcar = 140240834
numargs = 3
lisp_numargs = -1073760424
val = -1073760408
internal_args = 0xbfffbaa8
i = 155191229
#13 0x08255cde in exec_byte_code (bytestr=142274241, vector=155191229, maxdepth=20, args_template=512, nargs=1, args=0xbfffbaa8) at bytecode.c:916
targets = [hand-removed]
count = 51
op = 3
vectorp = 0x94007bc
stack = {
pc = 0x85c2ff9 "\207",
byte_string = 142274241,
byte_string_start = 0x85c2ff4 "\300\301\302\003#\207",
next = 0xbfffbafc
}
top = 0xbfffb788
result = 208
type = (unknown: 12)
#14 0x08215365 in funcall_lambda (fun=155191253, nargs=1, arg_vector=0xbfffbaa8) at eval.c:2983
val = 136393299
syms_left = 512
next = -2
lexenv = 12
count = 51
i = 155191248
optional = 8
rest = 23
#15 0x08214dc1 in Ffuncall (nargs=2, args=0xbfffbaa4) at eval.c:2864
fun = 155191253
original_fun = 140359890
funcar = 5
numargs = 1
lisp_numargs = -1073759608
val = -8
internal_args = 0x85be7c2
i = 1
#16 0x08255cde in exec_byte_code (bytestr=158483249, vector=159321197, maxdepth=32, args_template=140240834, nargs=0, args=0x0) at bytecode.c:916
targets = [hand-removed]
count = 40
op = 1
vectorp = 0x97f0c6c
stack = {
pc = 0xa2cc58d "\210+)\366 \210\367 \210+\016[\203\374\001\016\\\204\374\001\016]\203\357\001\t\203\357\001\312\370\016]!\t\"\203\357\001\371\016B!\204\374\001\372p\371\016^!?\205\372\001\373\"\210\016_\203\026\002\016B\204\v\002\016`\203\026\002\374\016@\t\016A\016B\b%\210\375\347!\210\376\377\016@\t\016A\016B\b&\006+\207",
byte_string = 158483249,
byte_string_start = 0xa2cc3cc "\b\204\006",
next = 0xbfffbe2c
}
top = 0xbfffbaa4
result = -1073759208
type = (unknown: 12)
#17 0x0821572f in funcall_lambda (fun=159276165, nargs=6, arg_vector=0x97f0c6d) at eval.c:3049
val = 136393299
syms_left = 140240834
next = 164009058
lexenv = 140240834
count = 34
i = 6
optional = true
rest = false
#18 0x08214dc1 in Ffuncall (nargs=7, args=0xbfffbdd4) at eval.c:2864
fun = 159276165
original_fun = 151710058
funcar = 88
numargs = 6
lisp_numargs = -1073758792
val = 176185209
internal_args = 0x9869dbd
i = 158560833
#19 0x08255cde in exec_byte_code (bytestr=158560633, vector=159817149, maxdepth=36, args_template=140240834, nargs=0, args=0x0) at bytecode.c:916
targets = [hand-removed]
count = 33
op = 6
vectorp = 0x9869dbc
stack = {
pc = 0xa28212d "\207",
byte_string = 158560633,
byte_string_start = 0xa28211c "\305\b\t\n\306\307\310\vA\311#\n\f\235?&\006\207",
next = 0xbfffc14c
}
top = 0xbfffbdd4
result = 12
type = (unknown: 12)
#20 0x0821572f in funcall_lambda (fun=159821221, nargs=5, arg_vector=0x9869dbd) at eval.c:3049
val = 136393299
syms_left = 140240834
next = 140361394
lexenv = 140240834
count = 28
i = 5
optional = false
rest = false
#21 0x08214dc1 in Ffuncall (nargs=6, args=0xbfffc104) at eval.c:2864
fun = 159821221
original_fun = 169426138
funcar = 140289744
numargs = 5
lisp_numargs = -1073757976
val = 140240834
internal_args = 0xa26df7d
i = 28
#22 0x08255cde in exec_byte_code (bytestr=158561665, vector=170319741, maxdepth=28, args_template=140240834, nargs=0, args=0x0) at bytecode.c:916
targets = [hand-removed]
count = 19
op = 5
vectorp = 0xa26df7c
stack = {
pc = 0xa282016 "\210\202Z",
byte_string = 158561665,
byte_string_start = 0xa281fc8 "\306\307\b\"\203g",
next = 0xbfffc5cc
}
top = 0xbfffc104
result = 140240834
type = (unknown: 12)
#23 0x0821572f in funcall_lambda (fun=159817125, nargs=2, arg_vector=0xa26df7d) at eval.c:3049
val = 136280421
syms_left = 140240834
next = 140361394
lexenv = 140240834
count = 17
i = 2
optional = false
rest = false
#24 0x0821507f in apply_lambda (fun=159817125, args=169484462) at eval.c:2924
args_left = 140240834
i = 2
numargs = 2
arg_vector = 0xbfffc390
gcpro1 = {
next = 0x817d285 <PSEUDOVECTORP+51>,
var = 0x9869da0,
nvars = 2
}
gcpro2 = {
next = 0x3e,
var = 0x0,
nvars = -1073757192
}
gcpro3 = {
next = 0x0,
var = 0xcda,
nvars = 191592772
}
tem = 172259337
sa_count = 17
sa_must_free = false
#25 0x08213a7f in eval_sub (form=169484470) at eval.c:2230
fun = 159817125
val = 140240834
original_fun = 169426090
original_args = 169484462
funcar = 190099238
gcpro1 = {
next = 0xb6e1c440 <main_arena>,
var = 0x0,
nvars = 9208
}
gcpro2 = {
next = 0x81fb0c5 <Faref+608>,
var = 0x20,
nvars = 528
}
gcpro3 = {
next = 0x8872045,
var = 0xd,
nvars = -1073757016
}
#26 0x082119d5 in internal_lisp_condition_case (var=141981354, bodyform=169484470, handlers=169484062) at eval.c:1323
val = 140240834
c = 0x85ccfd8
oldhandlerlist = 0x85cc468
clausenb = 1
#27 0x08256bac in exec_byte_code (bytestr=158562761, vector=161535597, maxdepth=12, args_template=140240834, nargs=0, args=0x0) at bytecode.c:1162
handlers = 169484062
body = 169484470
targets = [hand-removed]
count = 16
op = 143
vectorp = 0x9a0d66c
stack = {
pc = 0xa281f60 "\207\306\t\n\"\207",
byte_string = 158562761,
byte_string_start = 0xa281f58 "\b\203\t",
next = 0xbfffc8dc
}
top = 0xbfffc594
result = 140240834
type = (unknown: 12)
#28 0x0821572f in funcall_lambda (fun=161535629, nargs=2, arg_vector=0x9a0d66d) at eval.c:3049
val = 136393299
syms_left = 140240834
next = 140361394
lexenv = 140240834
count = 14
i = 2
optional = false
rest = false
#29 0x08214dc1 in Ffuncall (nargs=3, args=0xbfffc8a4) at eval.c:2864
fun = 161535629
original_fun = 169426018
funcar = 12
numargs = 2
lisp_numargs = 0
val = -1073756024
internal_args = 0x9866de5
i = 0
#30 0x08255cde in exec_byte_code (bytestr=162182137, vector=159804901, maxdepth=12, args_template=140240834, nargs=0, args=0x0) at bytecode.c:916
targets = [hand-removed]
count = 13
op = 2
vectorp = 0x9866de4
stack = {
pc = 0xa281eb0 "\207",
byte_string = 162182137,
byte_string_start = 0xa281eac "\302\b\t\"\207",
next = 0xbfffcd4c
}
top = 0xbfffc8a4
result = 140240834
type = (unknown: 12)
#31 0x0821572f in funcall_lambda (fun=160247229, nargs=1, arg_vector=0x9866de5) at eval.c:3049
val = 136393299
syms_left = 140240834
next = 140241770
lexenv = 140240834
count = 12
i = 1
optional = false
rest = false
#32 0x08214dc1 in Ffuncall (nargs=2, args=0xbfffcbb8) at eval.c:2864
fun = 160247229
original_fun = 160247229
funcar = 100000000
numargs = 1
lisp_numargs = 137829253
val = 140240834
internal_args = 0x11
i = 190654374
#33 0x0821467b in call1 (fn=160247229, arg1=172259337) at eval.c:2614
ret_ungc_val = 140240834
gcpro1 = {
next = 0xa447c41,
var = 0x0,
nvars = 2
}
args = {160247229, 172259337}
#34 0x0821f42b in mapcar1 (leni=60, vals=0x0, fn=160247229, seq=190654006) at fns.c:2329
tail = 190653870
dummy = 140240834
i = 17
gcpro1 = {
next = 0x85be7c2,
var = 0x85be7c2,
nvars = 1405328919
}
gcpro2 = {
next = 0xc,
var = 0xbfffcc38,
nvars = 136414020
}
gcpro3 = {
next = 0xbfffcc08,
var = 0x817d327 <COMPILEDP+25>,
nvars = 190654006
}
#35 0x0821f7ad in Fmapc (function=160247229, sequence=190654006) at fns.c:2418
leni = 60
#36 0x08214bb3 in Ffuncall (nargs=3, args=0xbfffcd04) at eval.c:2818
fun = 139837541
original_fun = 140280338
funcar = 5
numargs = 2
lisp_numargs = -1073754904
val = 190654006
internal_args = 0xbfffcd08
i = 5161
#37 0x08255cde in exec_byte_code (bytestr=162182313, vector=160296045, maxdepth=28, args_template=140240834, nargs=0, args=0x0) at bytecode.c:916
targets = [hand-removed]
count = 9
op = 2
vectorp = 0x98dec6c
stack = {
pc = 0xa281e80 "\210Ή\023)\207",
byte_string = 162182313,
byte_string_start = 0xa281e58 "\304\b\t\"\210\305\b!\210r\306\b!q\210\307 \022\v\tP\211\023\211GSH\310U\205,",
next = 0x0
}
top = 0xbfffcd04
result = 139835376
type = (unknown: 12)
#38 0x0821572f in funcall_lambda (fun=159808989, nargs=2, arg_vector=0x98dec6d) at eval.c:3049
val = 136393299
syms_left = 140240834
next = 144181106
lexenv = 140240834
count = 7
i = 2
optional = false
rest = false
#39 0x08214dc1 in Ffuncall (nargs=3, args=0xbfffd020) at eval.c:2864
fun = 159808989
original_fun = 170495538
funcar = -1073754112
numargs = 2
lisp_numargs = -1073754088
val = -1073754120
internal_args = 0xbfffd020
i = -1073754112
#40 0x082140f0 in Fapply (nargs=2, args=0xbfffd0a4) at eval.c:2354
i = 3
numargs = 2
spread_arg = 140240834
funcall_args = 0xbfffd020
fun = 159808989
retval = 142097605
gcpro1 = {
next = 0x8783cc0,
var = 0xbfffd068,
nvars = 3
}
sa_count = 6
sa_must_free = false
#41 0x08214626 in apply1 (fn=170495538, arg=190654414) at eval.c:2588
ret_ungc_val = 6
args = {170495538, 190654414}
gcpro1 = {
next = 0x817bebf <XSETCDR+17>,
var = 0xbfffd0a4,
nvars = 2
}
#42 0x0826187d in read_process_output_call (fun_and_args=190654406) at process.c:4964
No locals.
#43 0x08211c11 in internal_condition_case_1 (bfun=0x82617f0 <read_process_output_call>, arg=190654406, handlers=140240834, hfun=0x826187f <read_process_output_error_handler>) at eval.c:1378
val = 190654414
c = 0x85cc468
#44 0x08261e44 in read_and_dispose_of_process_output (p=0xab6a4f0,
chars=0xbfffd190 " like to thank Private Internet Access\r\n:verne.freenode.net 372 YoungFrog :- (https://www.privateinternetaccess.com/) and the other\r\n:verne.freenode.net 372 YoungFrog :- organisations that help keep f"...,
nbytes=1126, coding=0xa17db78) at process.c:5177
outstream = 170495538
text = 172260417
outer_running_asynch_code = false
waiting = -1
#45 0x08261b66 in read_process_output (proc=179741941, channel=1126) at process.c:5086
nbytes = 1126
chars = 0xbfffd190 " like to thank Private Internet Access\r\n:verne.freenode.net 372 YoungFrog :- (https://www.privateinternetaccess.com/) and the other\r\n:verne.freenode.net 372 YoungFrog :- organisations that help keep f"...
p = 0xab6a4f0
coding = 0xa17db78
carryover = 0
readmax = 4096
count = 3
odeactivate = 140240834
#46 0x0826121e in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=140240834, wait_proc=0x0, just_wait_proc=0) at process.c:4808
nread = 134682442
timeout_reduced_for_timers = true
channel = 12
nfds = 1
Available = {
fds_bits = {4096, 0 <repeats 31 times>}
}
Writeok = {
fds_bits = {0 <repeats 32 times>}
}
check_write = true
check_delay = 0
no_avail = false
xerrno = 11
proc = 179741941
timeout = {
tv_sec = 0,
tv_nsec = 84131398
}
end_time = {
tv_sec = 1405328949,
tv_nsec = 388317164
}
wait_channel = -1
got_some_input = true
count = 2
#47 0x08064253 in sit_for (timeout=120, reading=true, display_option=1) at dispnew.c:5854
sec = 30
nsec = 0
do_display = true
#48 0x08187251 in read_char (commandflag=1, map=190657822, prev_event=140240834, used_mouse_menu=0xbfffe883, end_time=0x0) at keyboard.c:2809
tem0 = -1
timeout = 30
delay_level = 4
buffer_size = 58
c = 140240834
jmpcount = 2
local_getcjmp = {{
__jmpbuf = {0, 0, 0, -1073748056, 224214774, -1035889255},
__mask_was_saved = 0,
__saved_mask = {
__val = {142358288, 3221219000, 136428008, 140240834, 169661584, 142358288, 142618912, 34569, 0, 3221219096, 135916180, 142618914, 140240858, 3221219048, 135773887, 190657830, 190657830, 6, 6, 146706358, 0, 3221219096,
136248700, 190657830, 190657838, 142618914, 142445350, 140240834, 140240834, 2, 140240834, 0}
}
}}
save_jump = {{
__jmpbuf = {-1227516652, -1073765192, -1073765016, 0, -1073764992, -1226580033},
__mask_was_saved = -1073765016,
__saved_mask = {
__val = {3067450473, 3066474484, 1, 171890800, 3221202280, 3066369452, 13, 3221202408, 4294967285, 0, 171890800, 3068396128, 3068406501, 3066378700, 13, 171890888, 4096, 0, 171890836, 8, 3066369033, 3221202276, 171890800,
3066375302, 3066474484, 3066370758, 171895036, 4294967295, 3221202276, 3221202280, 0, 136570541}
}
}}
tem = 140240834
save = 169526782
previous_echo_area_message = 140240834
also_record = 140240834
reread = false
gcpro1 = {
next = 0x85c41b2,
var = 0xbfffe6d8,
nvars = 136323248
}
gcpro2 = {
next = 0x21c20,
var = 0x0,
nvars = 0
}
polling_stopped_here = false
orig_kboard = 0xb3292e8
#49 0x0819478f in read_key_sequence (keybuf=0xbfffe9a0, bufsize=30, prompt=140240834, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9088
interrupted_kboard = 0xb3292e8
interrupted_frame = 0x98e9c68
key = 169661589
used_mouse_menu = false
echo_local_start = 0
last_real_key_start = 0
keys_local_start = 0
new_binding = 169661584
count = 2
t = 0
echo_start = 0
keys_start = 0
current_binding = 190657822
first_event = 140240834
first_unbound = 31
mock_input = 0
fkey = {
parent = 188709838,
map = 188709838,
start = 0,
end = 0
}
keytran = {
parent = 140228366,
map = 140228366,
start = 0,
end = 0
}
indec = {
parent = 188709830,
map = 188709830,
start = 0,
end = 0
}
shift_translated = false
delayed_switch_frame = 140240834
original_uppercase = 135779138
original_uppercase_position = -1
dummyflag = false
starting_buffer = 0xa1cd490
fake_prefixed_keys = 140240834
gcpro1 = {
next = 0x85be7c2,
var = 0xbfffe8a8,
nvars = 136285844
}
#50 0x08184120 in command_loop_1 () at keyboard.c:1452
cmd = 150156170
keybuf = {12, 268435584, 137757649, 170495586, 140312882, 140240834, 4, 140240834, 142376306, 0, -1073747480, 135804890, 140271938, 187909734, 137757649, 170495586, 187863784, 0, -1073747384, 135804666, 187909734, -1073747441,
-1073747416, 136392923, 2, 165381745, -1227960375, 0, 0, 0}
i = 2
prev_modiff = 424
prev_buffer = 0xa2c3408
already_adjusted = false
#51 0x08211aef in internal_condition_case (bfun=0x8183d9f <command_loop_1>, handlers=140273914, hfun=0x81835ce <cmd_error>) at eval.c:1354
val = 165381745
c = 0x85cc390
#52 0x08183a49 in command_loop_2 (ignore=140240834) at keyboard.c:1177
val = 0
#53 0x0821106a in internal_catch (tag=140271962, func=0x8183a25 <command_loop_2>, arg=140240834) at eval.c:1118
val = 140240834
c = 0x8994248
#54 0x08183a03 in command_loop () at keyboard.c:1156
No locals.
#55 0x08183162 in recursive_edit_1 () at keyboard.c:777
count = 1
val = -1073747160
#56 0x08183322 in Frecursive_edit () at keyboard.c:848
count = 0
buffer = 140240834
#57 0x08181663 in main (argc=2, argv=0xbfffecb4) at emacs.c:1646
dummy = 2
stack_bottom_variable = 0 '\000'
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:
"re-search-backward" (0xbfffb058)
"looking-back" (0xbfffb378)
"ad-Advice-recenter" (0xbfffb790)
"apply" (0xbfffb78c)
"recenter" (0xbfffbaa8)
"rcirc-print" (0xbfffbdd8)
"rcirc-handler-generic" (0xbfffc108)
"rcirc-process-server-response-1" (0xbfffc390)
"rcirc-process-server-response" (0xbfffc8a8)
0x98d2db8 PVEC_COMPILED
"mapc" (0xbfffcd08)
"rcirc-filter" (0xbfffd024)
The advice on recenter most probably is this one :
(defadvice recenter (before backtrace activate)
(let ((inhibit-read-only t))
(with-current-buffer "*Messages*"
(when (looking-back "[^\n]")
(insert "\n"))
(insert
(format "Recenter backtrace: \n%s"
(yf/light-backtrace))))))
I'll admit that (looking-back "[^\n]") is not exactly the canonical way
to test for (not (bolp)), but should it make an infloop ? I can't
reproduce though.
I'll keep the gdb session around for the time being.
In GNU Emacs 24.3.92.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
of 2014-07-11 on geodiff-mac3
Windowing system distributor `The X.Org Foundation', version 11.0.11304000
System Description: Gentoo Base System release 2.2
Configured using:
`configure --with-x-toolkit=lucid --enable-checking 'CFLAGS= -O0 -g3''
Important settings:
value of $LANG: fr_FR.UTF-8
locale-coding-system: utf-8-unix
--
Nico.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#18013: 24.3.92; Infloop in re_search_2
2014-07-14 9:48 bug#18013: 24.3.92; Infloop in re_search_2 Nicolas Richard
@ 2014-07-14 10:06 ` Andreas Schwab
2014-07-14 10:15 ` Nicolas Richard
2014-07-14 11:12 ` bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers (was: Infloop in re_search_2) Nicolas Richard
0 siblings, 2 replies; 7+ messages in thread
From: Andreas Schwab @ 2014-07-14 10:06 UTC (permalink / raw)
To: Nicolas Richard; +Cc: 18013
Nicolas Richard <theonewiththeevillook@yahoo.fr> writes:
> I'll admit that (looking-back "[^\n]") is not exactly the canonical way
> to test for (not (bolp)), but should it make an infloop ? I can't
> reproduce though.
I don't think it infloops, it just takes a very long time. Since this
is running in a process filter interrupts are disabled, so you have to
be extra careful with what you do here.
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#18013: 24.3.92; Infloop in re_search_2
2014-07-14 10:06 ` Andreas Schwab
@ 2014-07-14 10:15 ` Nicolas Richard
2014-07-14 11:12 ` bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers (was: Infloop in re_search_2) Nicolas Richard
1 sibling, 0 replies; 7+ messages in thread
From: Nicolas Richard @ 2014-07-14 10:15 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Nicolas Richard, 18013
Andreas Schwab <schwab@suse.de> writes:
> Nicolas Richard <theonewiththeevillook@yahoo.fr> writes:
>
>> I'll admit that (looking-back "[^\n]") is not exactly the canonical way
>> to test for (not (bolp)), but should it make an infloop ? I can't
>> reproduce though.
>
> I don't think it infloops, it just takes a very long time. Since this
> is running in a process filter interrupts are disabled, so you have to
> be extra careful with what you do here.
Thanks, I'll let it run more and see if it comes back to life (it should
be faster since the connection certainly died meanwhile).
--
Nico.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers (was: Infloop in re_search_2)
2014-07-14 10:06 ` Andreas Schwab
2014-07-14 10:15 ` Nicolas Richard
@ 2014-07-14 11:12 ` Nicolas Richard
2014-07-15 6:08 ` bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers Kevin Rodgers
2017-03-25 20:59 ` npostavs
1 sibling, 2 replies; 7+ messages in thread
From: Nicolas Richard @ 2014-07-14 11:12 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Nicolas Richard, 18013
Andreas Schwab <schwab@suse.de> writes:
> Nicolas Richard <theonewiththeevillook@yahoo.fr> writes:
>
>> I'll admit that (looking-back "[^\n]") is not exactly the canonical way
>> to test for (not (bolp)), but should it make an infloop ? I can't
>> reproduce though.
>
> I don't think it infloops, it just takes a very long time. Since this
> is running in a process filter interrupts are disabled, so you have to
> be extra careful with what you do here.
It seems you were totally right, thanks ! Here's a repro test case :
# pick up a big file or make one :
$ yes | dd bs=1MB iflag=fullblock count=50 > foobartest
50+0 enregistrements lus
50+0 enregistrements écrits
50000000 octets (50 MB) copiés, 0,853576 s, 58,6 MB/s
# open it in an emacs buffer and try looking-back :
$ time emacs --batch -Q --eval '(with-temp-buffer (insert-file-contents "foobartest") (goto-char (point-max)) (princ "Looking back...") (looking-back "[^\n]") (princ "done!") (terpri))'
"Looking back..."
"done!"
real 0m8.577s
user 0m8.541s
sys 0m0.047s
As you see it takes more than 8 seconds on my system, most of that time
is spent looking-back (inserting the file is quick).
(looking-back "[^\n]") is bad code, so I totally deserve this. Still, is
it possible to make the search smarter when the match is supposed to be
"anchored" at point ? Otherwise let's just close this bug.
--
Nico.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers
2014-07-14 11:12 ` bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers (was: Infloop in re_search_2) Nicolas Richard
@ 2014-07-15 6:08 ` Kevin Rodgers
2014-07-15 7:21 ` Andreas Schwab
2017-03-25 20:59 ` npostavs
1 sibling, 1 reply; 7+ messages in thread
From: Kevin Rodgers @ 2014-07-15 6:08 UTC (permalink / raw)
To: 18013
On 7/14/14 5:12 AM, Nicolas Richard wrote:
> As you see it takes more than 8 seconds on my system, most of that time
> is spent looking-back (inserting the file is quick).
>
> (looking-back "[^\n]") is bad code, so I totally deserve this. Still, is
> it possible to make the search smarter when the match is supposed to be
> "anchored" at point ? Otherwise let's just close this bug.
Use "\\=" to match the empty string at point.
--
Kevin Rodgers
Denver, Colorado, USA
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers
2014-07-15 6:08 ` bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers Kevin Rodgers
@ 2014-07-15 7:21 ` Andreas Schwab
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Schwab @ 2014-07-15 7:21 UTC (permalink / raw)
To: Kevin Rodgers; +Cc: 18013
Kevin Rodgers <kevin.d.rodgers@gmail.com> writes:
> On 7/14/14 5:12 AM, Nicolas Richard wrote:
>> As you see it takes more than 8 seconds on my system, most of that time
>> is spent looking-back (inserting the file is quick).
>>
>> (looking-back "[^\n]") is bad code, so I totally deserve this. Still, is
>> it possible to make the search smarter when the match is supposed to be
>> "anchored" at point ? Otherwise let's just close this bug.
>
> Use "\\=" to match the empty string at point.
That's what looking-back does.
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers
2014-07-14 11:12 ` bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers (was: Infloop in re_search_2) Nicolas Richard
2014-07-15 6:08 ` bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers Kevin Rodgers
@ 2017-03-25 20:59 ` npostavs
1 sibling, 0 replies; 7+ messages in thread
From: npostavs @ 2017-03-25 20:59 UTC (permalink / raw)
To: Nicolas Richard; +Cc: Andreas Schwab, 18013
tags 18013 wontfix
close 18013
quit
Nicolas Richard <theonewiththeevillook@yahoo.fr> writes:
>
> (looking-back "[^\n]") is bad code, so I totally deserve this. Still, is
> it possible to make the search smarter when the match is supposed to be
> "anchored" at point ? Otherwise let's just close this bug.
`looking-back' would have to analyse "[^\n]" to realize that it could
only match a single character. I think this is too much effort for too
little benefit to justify implementing this. For cases like this you
can limit the amount of searching by passing a non-nil LIMIT argument
(as described in the docstring):
(looking-back "[^\n]" (1- (point)))
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-03-25 20:59 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-14 9:48 bug#18013: 24.3.92; Infloop in re_search_2 Nicolas Richard
2014-07-14 10:06 ` Andreas Schwab
2014-07-14 10:15 ` Nicolas Richard
2014-07-14 11:12 ` bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers (was: Infloop in re_search_2) Nicolas Richard
2014-07-15 6:08 ` bug#18013: 24.3.92; looking-back "[^\n]" taking a lot of time in large buffers Kevin Rodgers
2014-07-15 7:21 ` Andreas Schwab
2017-03-25 20:59 ` npostavs
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.