[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs uses 100% cpu time
From: |
Tassilo Horn |
Subject: |
Re: Emacs uses 100% cpu time |
Date: |
Sat, 30 Sep 2006 10:20:14 +0200 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.50 (gnu/linux) |
Nick Roberts <address@hidden> writes:
Hi Nick,
> Maybe someone can interpret your observations, but generally you need
> to compile Emacs with -g so that the backtrace gives argument values
Ok, I did a fesh checkout 1 hour ago and compiled it with -g. Here's
gdb's `bt full'.
(gdb) run
Starting program: /usr/bin/emacs
[Thread debugging using libthread_db enabled]
[New Thread -1220720976 (LWP 27396)]
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread -1220720976 (LWP 27396)]
0x0814b8be in swap_in_symval_forwarding (symbol=137550897,
valcontents=<value optimized out>) at data.c:1026
1026 data.c: Datei oder Verzeichnis nicht gefunden.
in data.c
(gdb) bt full
#0 0x0814b8be in swap_in_symval_forwarding (symbol=137550897,
valcontents=<value optimized out>) at data.c:1026
tem1 = <value optimized out>
#1 0x0814ba65 in find_symbol_value (symbol=137550897) at data.c:1073
valcontents = 137551970
val = <value optimized out>
#2 0x0814bcd2 in Fsymbol_value (symbol=137550897) at data.c:1109
val = <value optimized out>
#3 0x0811214c in set_buffer_internal_1 (b=0x955a8b8) at buffer.c:1899
tail = <value optimized out>
valcontents = <value optimized out>
tem = 137551970
#4 0x08113306 in Fset_buffer (buffer=156608700) at buffer.c:1980
buf = 156608700
#5 0x081839dc in Fbyte_code (bytestr=142606907, vector=142886428, maxdepth=64)
at bytecode.c:1350
v1 = <value optimized out>
v2 = <value optimized out>
op = 137551968
vectorp = (Lisp_Object *) 0x8844620
stack = {pc = 0x880a28b "\210\016\031\f=\203\206", top = 0xbfdc37a0,
bottom = 0xbfdc37a0, byte_string = 142606907,
byte_string_start = 0x880a230 "�030����\"\"\"\031�211\032\033�034\r\203�,
constants = 142886428, next = 0xbfdc39d0}
top = (Lisp_Object *) 0xbfdc37a0
result = <value optimized out>
#6 0x081598d8 in Feval (form=142547469) at eval.c:2330
numargs = <value optimized out>
argvals = {142606907, 142886428, 64, 135805346, 137504257, 148840957,
157559280, 0}
args_left = 137459913
i = 3
fun = <value optimized out>
val = <value optimized out>
original_fun = 137554113
original_args = 142547461
funcar = <value optimized out>
backtrace = {next = 0xbfdc3a78, function = 0xbfdc3888,
args = 0xbfdc3850, nargs = 3, evalargs = 1 '\001', debug_on_exit = 0 '\0'}
#7 0x08158f1c in internal_catch (tag=141382977, func=0x8159510 <Feval>,
arg=142547469) at eval.c:1218
c = {tag = 141382977, val = 137459913, next = 0xbfdc3bb8, gcpro = 0x0,
jmp = {{__jmpbuf = {135632144, -1076086384, 142647784, -1076086408,
1165093982, -222798863}, __mask_was_saved = 0, __saved_mask = {
__val = {135468231, 2, 3218880752, 24, 3218880916, 0, 56,
137459913 <repeats 25 times>}}}}, backlist = 0xbfdc3a78,
handlerlist = 0xbfdc3c80, lisp_eval_depth = 6, pdlcount = 12,
poll_suppress_count = 1, interrupt_input_blocked = 0,
byte_stack = 0xbfdc39d0}
#8 0x08183e2f in Fbyte_code (bytestr=142606955, vector=142323308, maxdepth=24)
at bytecode.c:854
v1 = <value optimized out>
op = 137551968
vectorp = (Lisp_Object *) 0x87bae70
stack = {pc = 0x880a1f5 "\210)\b\205\026", top = 0xbfdc3994,
bottom = 0xbfdc3990, byte_string = 142606955,
---Type <return> to continue, or q <return> to quit---
byte_string_start = 0x880a1e8 "\b\203\b", constants = 142323308,
next = 0xbfdc3af0}
top = (Lisp_Object *) 0xbfdc3990
result = <value optimized out>
#9 0x08159e24 in funcall_lambda (fun=142323444, nargs=0,
arg_vector=0xbfdc3ab4) at eval.c:3180
val = <value optimized out>
syms_left = <value optimized out>
next = <value optimized out>
i = 0
optional = 158258125
rest = 137459913
#10 0x0815a23b in Ffuncall (nargs=1, args=0xbfdc3ab0) at eval.c:3050
fun = 142323444
original_fun = 141382953
funcar = <value optimized out>
numargs = 0
val = <value optimized out>
backtrace = {next = 0xbfdc3b70, function = 0xbfdc3ab0,
args = 0xbfdc3ab4, nargs = 0, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
internal_args = (Lisp_Object *) 0xbfdc3ab4
i = <value optimized out>
#11 0x08184baa in Fbyte_code (bytestr=141386203, vector=142323572, maxdepth=8)
at bytecode.c:679
v1 = <value optimized out>
v2 = <value optimized out>
op = 137551970
vectorp = (Lisp_Object *) 0x87baf78
stack = {pc = 0x880a4de "*\207", top = 0xbfdc3ab0,
bottom = 0xbfdc3ab0, byte_string = 141386203,
byte_string_start = 0x880a4d4 "�\210�\030�216�*\207",
constants = 142323572, next = 0xbfdc3cf0}
top = <value optimized out>
result = <value optimized out>
#12 0x081598d8 in Feval (form=142547141) at eval.c:2330
numargs = <value optimized out>
argvals = {141386203, 142323572, 8, 135634493, 128, 157990044, 32,
-1076085840}
args_left = 137459913
i = 3
fun = <value optimized out>
val = <value optimized out>
original_fun = 137554113
original_args = 142547117
funcar = <value optimized out>
backtrace = {next = 0xbfdc3d98, function = 0xbfdc3b88,
args = 0xbfdc3b50, nargs = 3, evalargs = 1 '\001', debug_on_exit = 0 '\0'}
#13 0x0815bf11 in internal_lisp_condition_case (var=137791249,
bodyform=142547141, handlers=142991069) at eval.c:1422
val = <value optimized out>
c = {tag = 137459913, val = 137459913, next = 0xbfdc3f68, gcpro = 0x0,
jmp = {{__jmpbuf = {137459913, -1076085584, 142648480, -1076085608,
1165094750, -222795115}, __mask_was_saved = 0, __saved_mask = {
__val = {137459913, 1, 1074053519, 0, 4238297088, 16405, 0,
1074373632, 0, 0, 0, 0, 0, 16416, 1075839871, 98041856, 135568561,
115, 137451064, 3218881944, 3218881608, 3218881688, 135635847, 0,
---Type <return> to continue, or q <return> to quit---
137459913, 141382689, 142546952, 142546957, 159811832, 3218881640,
135634063, 1}}}}, backlist = 0xbfdc3d98, handlerlist = 0xbfdc4030,
lisp_eval_depth = 4, pdlcount = 9, poll_suppress_count = 1,
interrupt_input_blocked = 0, byte_stack = 0xbfdc3cf0}
h = {handler = 142991069, var = 137791249, chosen_clause = 137428992,
tag = 0xbfdc3bb8, next = 0xbfdc4030}
#14 0x08183ea9 in Fbyte_code (bytestr=142709611, vector=141383508, maxdepth=24)
at bytecode.c:869
handlers = <value optimized out>
body = 137551970
op = 137551968
vectorp = (Lisp_Object *) 0x86d5758
stack = {pc = 0x880a4bf ")\207", top = 0xbfdc3cb0,
bottom = 0xbfdc3cb0, byte_string = 142709611,
byte_string_start = 0x880a4a0 "� !\205 ", constants = 141383508,
next = 0xbfdc3ea0}
top = (Lisp_Object *) 0xbfdc3cb0
result = <value optimized out>
#15 0x08159e24 in funcall_lambda (fun=141383668, nargs=0,
arg_vector=0xbfdc3e68) at eval.c:3180
val = <value optimized out>
syms_left = <value optimized out>
next = <value optimized out>
i = 0
optional = 0
rest = 0
#16 0x0815a23b in Ffuncall (nargs=1, args=0xbfdc3e64) at eval.c:3050
fun = 141383668
original_fun = 141382713
funcar = <value optimized out>
numargs = 0
val = <value optimized out>
backtrace = {next = 0xbfdc3e28, function = 0xbfdc3e64,
args = 0xbfdc3e68, nargs = 0, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
internal_args = (Lisp_Object *) 0xbfdc3e68
i = <value optimized out>
#17 0x0815bb1e in Fapply (nargs=2, args=0xbfdc3e64) at eval.c:2422
i = <value optimized out>
numargs = <value optimized out>
spread_arg = 137459913
funcall_args = <value optimized out>
fun = 141382713
#18 0x0815a553 in Ffuncall (nargs=3, args=0xbfdc3e60) at eval.c:2974
fun = 137164236
original_fun = 137530313
funcar = <value optimized out>
numargs = 2
val = <value optimized out>
backtrace = {next = 0xbfdc3f20, function = 0xbfdc3e60,
args = 0xbfdc3e64, nargs = 2, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
internal_args = (Lisp_Object *) 0xbfdc3e64
i = <value optimized out>
#19 0x08184baa in Fbyte_code (bytestr=136539395, vector=136539420, maxdepth=32)
at bytecode.c:679
v1 = <value optimized out>
v2 = <value optimized out>
---Type <return> to continue, or q <return> to quit---
op = 137551970
vectorp = (Lisp_Object *) 0x8236d20
stack = {pc = 0x828026e "\207", top = 0xbfdc3e68, bottom = 0xbfdc3e60,
byte_string = 136539395, byte_string_start = 0x8280266 "�b�\b�\"\207",
constants = 136539420, next = 0xbfdc40b0}
top = <value optimized out>
result = <value optimized out>
#20 0x081598d8 in Feval (form=136539381) at eval.c:2330
numargs = <value optimized out>
argvals = {136539395, 136539420, 32, 135568833, 16, 128, 137459913,
136840381}
args_left = 137459913
i = 3
fun = <value optimized out>
val = <value optimized out>
original_fun = 137554113
original_args = 136539389
funcar = <value optimized out>
backtrace = {next = 0xbfdc4158, function = 0xbfdc3f38,
args = 0xbfdc3f00, nargs = 3, evalargs = 1 '\001', debug_on_exit = 0 '\0'}
#21 0x0815bf11 in internal_lisp_condition_case (var=137459913,
bodyform=136539381, handlers=136539453) at eval.c:1422
val = <value optimized out>
c = {tag = 137459913, val = 137459913, next = 0xbfdc49dc, gcpro = 0x0,
jmp = {{__jmpbuf = {137459913, -1076084640, 136539268, -1076084664,
1165093806, -222795115}, __mask_was_saved = 0, __saved_mask = {
__val = {136538540, 137459913, 136538456, 136538512, 3, 3218882536,
135634493, 128, 137459913, 32, 3218882660, 136538460, 8, 159811832,
4, 3, 1, 0, 136538460, 139480817, 1, 3218882632, 135635515,
137459937, 2, 137459961, 0, 137528121, 1, 3218882632, 135637848,
3}}}}, backlist = 0xbfdc4158, handlerlist = 0xbfdc4aa4,
lisp_eval_depth = 1, pdlcount = 8, poll_suppress_count = 1,
interrupt_input_blocked = 0, byte_stack = 0xbfdc40b0}
h = {handler = 136539453, var = 137459913, chosen_clause = 137428992,
tag = 0xbfdc3f68, next = 0xbfdc4aa4}
#22 0x08183ea9 in Fbyte_code (bytestr=136539251, vector=136539268, maxdepth=40)
at bytecode.c:869
handlers = <value optimized out>
body = 137551970
op = 137551968
vectorp = (Lisp_Object *) 0x8236c88
stack = {pc = 0x82802de "\210\016\026\205x", top = 0xbfdc4060,
bottom = 0xbfdc4060, byte_string = 136539251,
byte_string_start = 0x8280270 "\b\021\n\020\v\022�034�v!\203|",
constants = 136539268, next = 0x0}
top = (Lisp_Object *) 0xbfdc4060
result = <value optimized out>
#23 0x08159e24 in funcall_lambda (fun=136539212, nargs=1,
arg_vector=0xbfdc4194) at eval.c:3180
val = <value optimized out>
syms_left = <value optimized out>
next = <value optimized out>
i = 1
optional = 0
rest = 0
#24 0x0815a23b in Ffuncall (nargs=2, args=0xbfdc4190) at eval.c:3050
---Type <return> to continue, or q <return> to quit---
fun = 136539212
original_fun = 137495337
funcar = <value optimized out>
numargs = 1
val = <value optimized out>
backtrace = {next = 0x0, function = 0xbfdc4190, args = 0xbfdc4194,
nargs = 1, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
internal_args = (Lisp_Object *) 0xbfdc4194
i = <value optimized out>
#25 0x0815b6e9 in call1 (fn=137495337, arg1=157990044) at eval.c:2778
ret_ungc_val = 159171509
#26 0x080fb7f7 in timer_check (do_it_now=1) at keyboard.c:4527
was_locked = 0
old_deactivate_mark = 137459913
now = {tv_sec = 1159603803, tv_usec = 506821}
timers = 157088781
idle_timers = 155153533
chosen_timer = 157990044
#27 0x0818b2e8 in wait_reading_process_output (time_limit=30, microsecs=0,
read_kbd=-1, do_display=1, wait_for_cell=137459913, wait_proc=0x0,
just_wait_proc=0) at process.c:4343
old_timers_run = 185369
old_buffer = (struct buffer *) 0x96429f0
timeout_reduced_for_timers = 1
channel = <value optimized out>
nfds = 0
Available = {fds_bits = {0 <repeats 32 times>}}
Connecting = {fds_bits = {0 <repeats 32 times>}}
check_connect = 0
check_delay = <value optimized out>
no_avail = 0
xerrno = 4
proc = <value optimized out>
timeout = {tv_sec = 27, tv_usec = 999809}
end_time = {tv_sec = 1159603812, tv_usec = 611877}
wait_channel = -1
got_some_input = 1
#28 0x08056488 in sit_for (timeout=240, reading=1, do_display=1)
at dispnew.c:6548
sec = 30
usec = 0
#29 0x080ff846 in read_char (commandflag=1, nmaps=5, maps=0xbfdc47e0,
prev_event=137459913, used_mouse_menu=0xbfdc4898, end_time=0x0)
at keyboard.c:2865
tem0 = <value optimized out>
delay_level = 30
buffer_size = <value optimized out>
c = 137459913
local_getcjmp = {{__jmpbuf = {3, 140669480, 0, -1076082808,
1165070718, -224248215}, __mask_was_saved = 0, __saved_mask = {__val = {
158250701, 137459913, 15080, 3218884320, 157559284, 3218884296,
135884609, 158250701, 137504137, 1, 15080, 3218884320, 15080,
3218884536, 135608373, 158250701, 137504137, 157559284, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3461, 0, 0, 1807}}}}
save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0}, __mask_was_saved = 0,
__saved_mask = {__val = {0 <repeats 32 times>}}}}
---Type <return> to continue, or q <return> to quit---
key_already_recorded = 0
tem = <value optimized out>
save = <value optimized out>
previous_echo_area_message = 137459913
also_record = 137459913
reread = 0
polling_stopped_here = <value optimized out>
#30 0x081016e2 in read_key_sequence (keybuf=0xbfdc4944, bufsize=30,
prompt=137459913, dont_downcase_last=0, can_return_switch_frame=1,
fix_current_buffer=1) at keyboard.c:8956
interrupted_kboard = (KBOARD *) 0x8627228
key = 159169637
used_mouse_menu = 0
echo_local_start = 0
last_real_key_start = 0
keys_local_start = 0
local_first_binding = 0
from_string = 137459913
count = 2
t = 0
echo_start = 0
keys_start = 0
nmaps = 5
nmaps_allocated = 5
defs = (Lisp_Object * volatile) 0xbfdc47b0
submaps = (Lisp_Object * volatile) 0xbfdc47e0
orig_local_map = 139308309
orig_keymap = 137459913
localized_local_map = 0
first_binding = 0
first_unbound = 31
mock_input = 0
fkey = {parent = 137447893, map = 137447893, start = 0, end = 0}
keytran = {parent = 138248477, map = 138248477, start = 0, end = 0}
delayed_switch_frame = 137459913
original_uppercase = -1076082440
original_uppercase_position = -1
starting_buffer = (struct buffer *) 0x96429f0
fake_prefixed_keys = 137459913
#31 0x08103195 in command_loop_1 () at keyboard.c:1601
cmd = <value optimized out>
lose = 0
nonundocount = 0
keybuf = {137497313, 888, 134527656, 110932256, 134539865, 0,
225011984, 0, 41, -1218476860, -1218502660, 0, 0, 0, -1219607012, 2, 0, 0,
0, 0, -1076082264, -1076082416, 0, -1209008128, 137459913, 139776369, 0,
137844200, 137844184, -1076082232}
i = 0
prev_modiff = 70
prev_buffer = (struct buffer *) 0x96429f0
was_locked = 0
already_adjusted = 0
#32 0x08158e5b in internal_condition_case (bfun=0x8103000 <command_loop_1>,
handlers=137504617, hfun=0x80fda50 <cmd_error>) at eval.c:1477
val = <value optimized out>
c = {tag = 137459913, val = 137459913, next = 0xbfdc4af0, gcpro = 0x0,
---Type <return> to continue, or q <return> to quit---
jmp = {{__jmpbuf = {0, 137844200, 137844184, -1076081992, 1165073710,
-222799107}, __mask_was_saved = 0, __saved_mask = {__val = {
3086065977, 3086065966, 3086065958, 3218885296, 3086083776,
134539865, 0 <repeats 21 times>, 3076464636, 3078710552, 3086081980,
3086083776, 134527656}}}}, backlist = 0x0, handlerlist = 0x0,
lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1,
interrupt_input_blocked = 0, byte_stack = 0x0}
h = {handler = 137504617, var = 137459913, chosen_clause = 136012208,
tag = 0xbfdc49dc, next = 0x0}
#33 0x080fce2e in command_loop_2 () at keyboard.c:1326
val = 159171509
#34 0x08158f1c in internal_catch (tag=137500825,
func=0x80fce00 <command_loop_2>, arg=137459913) at eval.c:1218
c = {tag = 137500825, val = 137459913, next = 0x0, gcpro = 0x0, jmp = {
{__jmpbuf = {0, 137844200, 137844184, -1076081736, 1165073950,
-222798863}, __mask_was_saved = 0, __saved_mask = {__val = {0,
139859243, 16, 16, 3218885112, 135548791, 139859240, 16, 16, 16,
3218885396, 0, 3218885128, 0, 3085651956, 135816336, 137646266,
137643528, 137646264, 3218885528, 135574702, 137643529, 137646266,
137459913, 137491776, 137459937, 2, 3218885544, 0, 137643529, 1,
3218885592}}}}, backlist = 0x0, handlerlist = 0x0,
lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1,
interrupt_input_blocked = 0, byte_stack = 0x0}
#35 0x080fd89e in command_loop () at keyboard.c:1305
No locals.
#36 0x080fdc28 in recursive_edit_1 () at keyboard.c:1003
val = <value optimized out>
#37 0x080fdd16 in Frecursive_edit () at keyboard.c:1064
buffer = <value optimized out>
#38 0x080f3dd2 in main (argc=24239, argv=0xbfdc5044) at emacs.c:1794
tz = 0x0
dummy = -1076080744
stack_bottom_variable = 8 '\b'
do_initial_setlocale = 1
skip_args = 0
rlim = {rlim_cur = 8388608, rlim_max = 18446744073709551615}
no_loadup = 0
junk = 0x0
(gdb)
(gdb) xbacktrace
Undefined command: "xbacktrace". Try "help".
(gdb) continue
Continuing.
Program received signal SIGTSTP, Stopped (user).
0x0814b8be in swap_in_symval_forwarding (symbol=137550897,
valcontents=<value optimized out>) at data.c:1026
1026 in data.c
(gdb) continue
Continuing.
> and type xbacktrace for a lisp backtrace.
What is xbacktrace? My gdb doesn't know this command...
> This happens automatically if you attach to emacs in the directory in
> which it was built i.e using .gdbinit (also needed for xbacktrace).
How do I do this?
Bye,
Tassilo