Package: emacs;
Reported by: Ken Raeburn <raeburn <at> permabit.com>
Date: Mon, 16 Nov 2015 21:02:02 UTC
Severity: normal
Found in version 25.0.50
Done: Kenneth G Raeburn <raeburn <at> mit.edu>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Ken Raeburn <raeburn <at> permabit.com> To: 21935 <at> debbugs.gnu.org Subject: bug#21935: 25.0.50; spinning in readable_events -- bad loop boundary check Date: Mon, 16 Nov 2015 16:01:00 -0500
This weekend, after leaving Emacs untouched for 2-3 days, but with various activities like auto-revert checks and emacs-jabber running, I found it unresponsive to emacsclient, and then noticed it was at 100% CPU utilization. I poked around with gdb a bit and found that it was in the do-while loop near the top of readable_events. All entries in the kbd_buffer array have type BUFFER_SWITCH_EVENT; "flags" should have READABLE_EVENTS_FILTER_EVENTS set. Given that combination, the "return 1" in the loop should never be reached. The adjustment of "event" at the end of the loop causes it to never point past the end of the array; when it gets there, it's updated to point to the first element. However, kbd_store_ptr currently points just past the end of the array, so the "while" condition is never false. So we never break out of the loop. It should be a simple fix. I've got to do some real work at the moment, but I'll try to get to this soon. Documenting it in the meantime, just in case. (gdb) bt full #0 readable_events (flags=<optimized out>) at ../../src/keyboard.c:3338 event = 0xb63d88 #1 0x00000000004e9a25 in get_input_pending (flags=2) at ../../src/keyboard.c:6698 No locals. #2 0x00000000004e9ad4 in Finput_pending_p (check_timers=<optimized out>) at ../../src/keyboard.c:9875 No locals. #3 Finput_pending_p (check_timers=<optimized out>) at ../../src/keyboard.c:9859 No locals. #4 0x0000000000557a50 in Ffuncall (nargs=<optimized out>, args=0x7fffffffcf18) at ../../src/eval.c:2650 internal_argbuf = {0, 0, 0, 140737488343136, 0, 5627312, 0, 5629407} fun = 8655677 original_fun = <optimized out> funcar = 2 numargs = <optimized out> val = <optimized out> internal_args = 0x7fffffffce70 count = 13 #5 0x000000000058c1bd in exec_byte_code (bytestr=0, vector=11811648, maxdepth=11943304, args_template=100, nargs=1, args=0x101010101010101) at ../../src/bytecode.c:880 targets = {0x58c24e, 0x58c780, 0x58c78a, 0x58c785, 0x58c02a, 0x58c030, 0x58c2c6, 0x58c345, 0x58c33b, 0x58c340, 0x58c30c, 0x58c311, 0x58c06d, 0x58c070, 0x58c479, 0x58c316, 0x58c620, 0x58c625, 0x58c62a, 0x58c635, 0x58c0dc, 0x58c0e0, 0x58c688, 0x58c580, 0x58c44a, 0x58c44f, 0x58c454, 0x58c459, 0x58c151, 0x58c158, 0x58c674, 0x58c425, 0x58c40d, 0x58c412, 0x58c417, 0x58c3e3, 0x58c197, 0x58c1a0, 0x58c465, 0x58c3e8, 0x58e3a2, 0x58e3a7, 0x58e3ac, 0x58e3b5, 0x58c1e0, 0x58c1e0, 0x58d81d, 0x58e37d, 0x58e0c0, 0x58e0b5, 0x58df90, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58d70b, 0x58d7a8, 0x58d7e3, 0x58de2a, 0x58de64, 0x58c53b, 0x58c5a5, 0x58dea9, 0x58c500, 0x58c5e5, 0x58dedd, 0x58dc3b, 0x58dc6a, 0x58dcaa, 0x58dce7, 0x58dd74, 0x58dda3, 0x58dde3, 0x58d831, 0x58d860, 0x58d88f, 0x58d8cf, 0x58d90f, 0x58d94f, 0x58d996, 0x58d9d3, 0x58da10, 0x58da9d, 0x58dae1, 0x58db21, 0x58dbf6, 0x58db6c, 0x58dbb1, 0x58cdb2, 0x58d4aa, 0x58d42e, 0x58d46d, 0x58d33a, 0x58d377, 0x58d3b4, 0x58d195, 0x58c220, 0x58d1d7, 0x58d206, 0x58d287, 0x58d2c9, 0x58d30b, 0x58cdf7, 0x58ce2c, 0x58ce5d, 0x58ce96, 0x58c24e, 0x58cec9, 0x58cefe, 0x58cf33, 0x58cf68, 0x58cf9d, 0x58cfd2, 0x58c220, 0x58c24e, 0x58d001, 0x58d048, 0x58d077, 0x58d0a6, 0x58d0e6, 0x58d126, 0x58c979, 0x58ca6f, 0x58caaf, 0x58caef, 0x58cb2f, 0x58cb64, 0x58c24e, 0x58e1e8, 0x58e23c, 0x58c48d, 0x58e2ca, 0x58e469, 0x58e5d5, 0x58d65a, 0x58e1c7, 0x58c645, 0x58c298, 0x58c69c, 0x58df1d, 0x58df4b, 0x58e0ee, 0x58e13b, 0x58e17f, 0x58d6ad, 0x58e3c5, 0x58cb93, 0x58cbd7, 0x58cc06, 0x58cc35, 0x58cc64, 0x58cc93, 0x58ccd3, 0x58cd13, 0x58cd53, 0x58cd93, 0x58c795, 0x58c7d5, 0x58c815, 0x58c844, 0x58c884, 0x58c8c4, 0x58c900, 0x58c93c, 0x58d3f1, 0x58d155, 0x58c6fe, 0x58c746, 0x58c24e, 0x58e3ee, 0x58e67f, 0x58e4d9, 0x58e572, 0x58d5c8, 0x58dd24, 0x58da4d, 0x58d237, 0x58c39e, 0x58d4e7, 0x58c24e, 0x58c24e, 0x58d542, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58d58d <repeats 64 times>} count = 12 stack = { pc = 0x1e2d071 "\204\252", byte_string = 28413508, byte_string_start = 0x1e2d010 "\bT\020\306 \307\310\311\312\313\005!\314\"\315$\216\t\203\032", next = 0x7fffffffd260 } result = 2 type = 8 #6 0x00000000005577b4 in Ffuncall (nargs=<optimized out>, args=0x7fffffffd1e0) at ../../src/eval.c:2711 fun = <optimized out> original_fun = 19090096 funcar = 2 numargs = <optimized out> val = <optimized out> internal_args = <optimized out> count = 11 #7 0x000000000055884d in Fapply (nargs=2, args=0x7fffffffd1e0) at ../../src/eval.c:2231 i = <optimized out> numargs = <optimized out> funcall_nargs = <optimized out> funcall_args = 0x0 spread_arg = 0 fun = 19090096 retval = <optimized out> sa_avail = 16384 sa_must_free = false #8 0x00000000005578b2 in Ffuncall (nargs=<optimized out>, args=0x7fffffffd1d8) at ../../src/eval.c:2630 fun = 11695261 original_fun = 9456 funcar = 2 numargs = <optimized out> val = <optimized out> internal_args = <optimized out> count = 10 #9 0x000000000058c1bd in exec_byte_code (bytestr=0, vector=11811648, maxdepth=11943304, args_template=140737488343528, nargs=3, args=0x101010101010101) at ../../src/bytecode.c:880 targets = {0x58c24e, 0x58c780, 0x58c78a, 0x58c785, 0x58c02a, 0x58c030, 0x58c2c6, 0x58c345, 0x58c33b, 0x58c340, 0x58c30c, 0x58c311, 0x58c06d, 0x58c070, 0x58c479, 0x58c316, 0x58c620, 0x58c625, 0x58c62a, 0x58c635, 0x58c0dc, 0x58c0e0, 0x58c688, 0x58c580, 0x58c44a, 0x58c44f, 0x58c454, 0x58c459, 0x58c151, 0x58c158, 0x58c674, 0x58c425, 0x58c40d, 0x58c412, 0x58c417, 0x58c3e3, 0x58c197, 0x58c1a0, 0x58c465, 0x58c3e8, 0x58e3a2, 0x58e3a7, 0x58e3ac, 0x58e3b5, 0x58c1e0, 0x58c1e0, 0x58d81d, 0x58e37d, 0x58e0c0, 0x58e0b5, 0x58df90, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58d70b, 0x58d7a8, 0x58d7e3, 0x58de2a, 0x58de64, 0x58c53b, 0x58c5a5, 0x58dea9, 0x58c500, 0x58c5e5, 0x58dedd, 0x58dc3b, 0x58dc6a, 0x58dcaa, 0x58dce7, 0x58dd74, 0x58dda3, 0x58dde3, 0x58d831, 0x58d860, 0x58d88f, 0x58d8cf, 0x58d90f, 0x58d94f, 0x58d996, 0x58d9d3, 0x58da10, 0x58da9d, 0x58dae1, 0x58db21, 0x58dbf6, 0x58db6c, 0x58dbb1, 0x58cdb2, 0x58d4aa, 0x58d42e, 0x58d46d, 0x58d33a, 0x58d377, 0x58d3b4, 0x58d195, 0x58c220, 0x58d1d7, 0x58d206, 0x58d287, 0x58d2c9, 0x58d30b, 0x58cdf7, 0x58ce2c, 0x58ce5d, 0x58ce96, 0x58c24e, 0x58cec9, 0x58cefe, 0x58cf33, 0x58cf68, 0x58cf9d, 0x58cfd2, 0x58c220, 0x58c24e, 0x58d001, 0x58d048, 0x58d077, 0x58d0a6, 0x58d0e6, 0x58d126, 0x58c979, 0x58ca6f, 0x58caaf, 0x58caef, 0x58cb2f, 0x58cb64, 0x58c24e, 0x58e1e8, 0x58e23c, 0x58c48d, 0x58e2ca, 0x58e469, 0x58e5d5, 0x58d65a, 0x58e1c7, 0x58c645, 0x58c298, 0x58c69c, 0x58df1d, 0x58df4b, 0x58e0ee, 0x58e13b, 0x58e17f, 0x58d6ad, 0x58e3c5, 0x58cb93, 0x58cbd7, 0x58cc06, 0x58cc35, 0x58cc64, 0x58cc93, 0x58ccd3, 0x58cd13, 0x58cd53, 0x58cd93, 0x58c795, 0x58c7d5, 0x58c815, 0x58c844, 0x58c884, 0x58c8c4, 0x58c900, 0x58c93c, 0x58d3f1, 0x58d155, 0x58c6fe, 0x58c746, 0x58c24e, 0x58e3ee, 0x58e67f, 0x58e4d9, 0x58e572, 0x58d5c8, 0x58dd24, 0x58da4d, 0x58d237, 0x58c39e, 0x58d4e7, 0x58c24e, 0x58c24e, 0x58d542, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58c24e, 0x58d58d <repeats 64 times>} count = 6 stack = { pc = 0xa9b350 ")0\202\237", byte_string = 10053332, byte_string_start = 0xa9b2cf "\b\021\n\020\v\022\306\034\v\033\307\v!\206\026", next = 0x0 } result = 2 type = CONDITION_CASE #10 0x000000000055746a in funcall_lambda (fun=10053285, nargs=<optimized out>, arg_vector=0x7fffffffd3d8) at ../../src/eval.c:2876 val = <optimized out> syms_left = 0 next = 0 lexenv = 0 i = <optimized out> optional = <optimized out> rest = <optimized out> #11 0x00000000005577b4 in Ffuncall (nargs=<optimized out>, args=0x7fffffffd3d0) at ../../src/eval.c:2711 fun = <optimized out> original_fun = 44976 funcar = 2 numargs = <optimized out> val = <optimized out> internal_args = <optimized out> count = 4 #12 0x0000000000557c0a in call1 (fn=<optimized out>, arg1=<optimized out>) at ../../src/eval.c:2509 No locals. #13 0x00000000004e81ed in timer_check_2 (idle_timers=<optimized out>, timers=<optimized out>) at ../../src/keyboard.c:4408 old_deactivate_mark = 0 idle_timer_ripe = <optimized out> timer = <optimized out> timer_time = { tv_sec = 1447557651, tv_nsec = 578159175 } timer_difference = <optimized out> idle_timer_difference = <optimized out> ripe = <optimized out> idle_timer = <optimized out> idle_timer_time = { tv_sec = 201019408, tv_nsec = 140737325745505 } timer_ripe = <optimized out> now = { tv_sec = 0, tv_nsec = 606352165 } idleness_now = <optimized out> chosen_timer = <optimized out> #14 timer_check () at ../../src/keyboard.c:4470 nexttime = <optimized out> timers = 105088275 idle_timers = 105088179 tem = <optimized out> #15 0x00000000005947e1 in wait_reading_process_output (time_limit=<optimized out>, nsecs=<optimized out>, read_kbd=<optimized out>, do_display=true, wait_for_cell=<optimized out>, wait_proc=<optimized out>, just_wait_proc=0) at ../../src/process.c:4611 old_timers_run = 1338598 old_buffer = 0xbd0d80 old_window = 58933997 process_skipped = false channel = <optimized out> nfds = <optimized out> Available = { fds_bits = {0 <repeats 16 times>} } Writeok = { fds_bits = {0 <repeats 16 times>} } check_write = <optimized out> check_delay = <optimized out> no_avail = <optimized out> xerrno = 11 proc = <optimized out> timeout = { tv_sec = 29, tv_nsec = 822930168 } end_time = { tv_sec = 1447557681, tv_nsec = 429276800 } timer_delay = { tv_sec = 0, tv_nsec = 148877016 } got_output_end_time = { tv_sec = 1447557681, tv_nsec = <optimized out> } wait = TIMEOUT got_some_output = 85 now = { tv_sec = 1447557651, tv_nsec = <optimized out> } #16 0x000000000041c5aa in sit_for (timeout=<optimized out>, reading=true, display_option=<optimized out>) at ../../src/dispnew.c:5756 sec = 30 nsec = 0 do_display = <optimized out> #17 0x00000000004ee6d2 in read_char (commandflag=1, map=104777747, prev_event=0, used_mouse_menu=0x7fffffffe1ff, end_time=0x0) at ../../src/keyboard.c:2702 tem0 = <optimized out> timeout = 30 delay_level = <optimized out> buffer_size = <optimized out> c = 0 local_getcjmp = {{ __jmpbuf = {0, -3652804491282325823, 147176864, 70562112, 12389765, 0, 3652806128017891009, -3652805553712636223}, __mask_was_saved = 0, __saved_mask = { __val = {0, 0, 0, 105486435, 105486435, 105486432, 0, 4611686019484352512, 5649663, 20544720, 5650325, 165792, 0, 4611686018595160064, 4611686019484352512, 140737488346656} } }} save_jump = {{ __jmpbuf = {0, 106470408, 2, 1, 459, 58976608, 58976608, 4553804}, __mask_was_saved = 2, __saved_mask = { __val = {0, 0, 106470408, 58976608, 61759928, 0, 4959320, 0, 0, 0, 0, 0, 216480896, 106470408, 6020526, 0} } }} tem = <optimized out> save = <optimized out> previous_echo_area_message = 0 also_record = 0 reread = false recorded = false polling_stopped_here = false orig_kboard = 0x8c5bda0 #18 0x00000000004ef6e1 in read_key_sequence (keybuf=0x7fffffffe260, prompt=0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=<optimized out>, bufsize=30) at ../../src/keyboard.c:9030 interrupted_kboard = 0x8c5bda0 interrupted_frame = 0x434b140 key = <optimized out> used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = <optimized out> t = 0 echo_start = 0 keys_start = 0 current_binding = 104777747 first_event = 0 first_unbound = 31 mock_input = 0 fkey = { parent = 62239811, map = 62239811, start = 0, end = 0 } keytran = { parent = 12343875, map = 12343875, start = 0, end = 0 } indec = { parent = 62239843, map = 62239843, start = 0, end = 0 } shift_translated = false delayed_switch_frame = 0 original_uppercase = 0 original_uppercase_position = -1 dummyflag = false starting_buffer = 0xbd0d80 fake_prefixed_keys = 0 #19 0x00000000004f08f4 in command_loop_1 () at ../../src/keyboard.c:1348 cmd = <optimized out> keybuf = {536870930, 394, 202, 136328819, 0, 8088352, 0, 0, 4611686018595160064, 4611686019484352512, 140737488348032, 35702467, 140737488347968, 23808, 0, 0, 140737488348736, 5602228, 156656, 35702467, 8667492, 23808, 140737488347968, 5138889, 45552, 35702467, 0, 5139159, 30928640, 0} i = <optimized out> prev_modiff = 16413 prev_buffer = 0x350c0e0 #20 0x0000000000555e64 in internal_condition_case (bfun=0x4f0760 <command_loop_1>, handlers=<optimized out>, hfun=0x4e69f0 <cmd_error>) at ../../src/eval.c:1309 val = <optimized out> c = 0xffffffffffffffc8 #21 0x00000000004e4ffc in command_loop_2 (ignore=<optimized out>) at ../../src/keyboard.c:1088 val = 2 #22 0x0000000000555d78 in internal_catch (tag=<error reading variable: Cannot access memory at address 0xffffffffffffffd0>, func=0x4e4fe0 <command_loop_2>, arg=0) at ../../src/eval.c:1073 val = <optimized out> c = 0xffffffffffffffc8 #23 0x00000000004e4f4c in command_loop () at ../../src/keyboard.c:1067 No locals. #24 0x00000000004e65d6 in recursive_edit_1 () at ../../src/keyboard.c:673 val = <optimized out> #25 0x00000000004e6915 in Frecursive_edit () at ../../src/keyboard.c:744 buffer = <optimized out> #26 0x00000000004124c3 in main (argc=1, argv=0x7fffffffe648) at ../../src/emacs.c:1644 dummy = 140737349306136 stack_bottom_variable = 0 '\000' do_initial_setlocale = <optimized out> dumping = <optimized out> skip_args = 0 rlim = { rlim_cur = 8720000, rlim_max = 18446744073709551615 } no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x0 Lisp Backtrace: "input-pending-p" (0xffffcf20) "auto-revert-buffers" (0xffffd1e8) "apply" (0xffffd1e0) "timer-event-handler" (0xffffd3d8) (gdb) fr 0 #0 readable_events (flags=<optimized out>) at ../../src/keyboard.c:3338 3338 && !((flags & READABLE_EVENTS_IGNORE_SQUEEZABLES) (gdb) list 3333 #ifdef USE_TOOLKIT_SCROLL_BARS 3334 (flags & READABLE_EVENTS_FILTER_EVENTS) && 3335 #endif 3336 event->kind == FOCUS_IN_EVENT) 3337 #ifdef USE_TOOLKIT_SCROLL_BARS 3338 && !((flags & READABLE_EVENTS_IGNORE_SQUEEZABLES) 3339 && (event->kind == SCROLL_BAR_CLICK_EVENT 3340 || event->kind == HORIZONTAL_SCROLL_BAR_CLICK_EVENT) 3341 && event->ie.part == scroll_bar_handle 3342 && event->ie.modifiers == 0) (gdb) p event $1 = (union buffered_input_event *) 0xb63d88 (gdb) p &kbd_buffer $2 = (union buffered_input_event (*)[4096]) 0xb43b40 (gdb) p &kbd_buffer[4096] $3 = (union buffered_input_event *) 0xb7bb40 (gdb) p kbd_fetch_ptr $4 = (union buffered_input_event *) 0xb7bb08 (gdb) p kbd_store_ptr $5 = (union buffered_input_event * volatile) 0xb7bb40 (gdb) set print elements 4096 (gdb) p kbd_buffer $6 = {{ kind = BUFFER_SWITCH_EVENT, ie = { kind = BUFFER_SWITCH_EVENT, part = scroll_bar_nowhere, code = 0, modifiers = 0, x = 0, y = 0, timestamp = 0, frame_or_window = 0, arg = 0 }, sie = { kind = BUFFER_SWITCH_EVENT, dpyinfo = 0x0, requestor = 0, selection = 0, target = 0, property = 0, time = 0 } } <repeats 4096 times>} (gdb) q In GNU Emacs 25.0.50.14 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll bars) of 2015-10-13 Repository revision: 18b0eb7f1cc16fe33f89c74d2497a6fcb4b863fd Windowing system distributor 'The X.Org Foundation', version 11.0.11103000 System Description: Ubuntu 12.04.5 LTS Configured using: 'configure --prefix=/permabit/user/raeburn/dev/emacs/emacs/lx/Inst --with-x-toolkit=lucid' Configured features: XAW3D XPM JPEG TIFF GIF PNG RSVG SOUND DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS LUCID X11 Important settings: locale-coding-system: nil Major mode: Lisp Interaction Minor modes in effect: shell-dirtrack-mode: t rcirc-track-minor-mode: t diff-auto-refine-mode: t display-time-mode: t global-hi-lock-mode: t hi-lock-mode: t icomplete-mode: t desktop-save-mode: t global-edit-server-edit-mode: t jabber-activity-mode: t which-function-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent messages: Setting up indent for shell type sh Indentation variables are now local. Indentation setup for shell type sh Setting up indent for shell type sh Indentation variables are now local. Indentation setup for shell type sh Note: file is write protected [4 times] Wrote /permabit/user/raeburn/.emacs.d/.emacs.desktop.lock.just-testing.permabit.com Desktop: 9 frames, 144 buffers restored, 5 failed to restore. For information about GNU Emacs and the GNU system, type C-h C-a. Load-path shadows: /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-muc-nick-completion hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-muc-nick-completion /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-modeline hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-modeline /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-screen hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-screen /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-socks5 hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-socks5 /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-muc hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-muc /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-chatbuffer hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-chatbuffer /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-events hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-events /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-chatstates hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-chatstates /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/fsm hides /usr/share/emacs/site-lisp/emacs-jabber/fsm /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-widget hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-widget /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-si-client hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-si-client /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-sasl hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-sasl /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-ratpoison hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ratpoison /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-time hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-time /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-logon hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-logon /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-browse hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-browse /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-ahc-presence hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ahc-presence /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-roster hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-roster /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/srv hides /usr/share/emacs/site-lisp/emacs-jabber/srv /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-ft-client hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ft-client /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-compose hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-compose /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-search hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-search /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-feature-neg hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-feature-neg /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-sawfish hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-sawfish /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-vcard hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-vcard /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-ft-server hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ft-server /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-activity hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-activity /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-export hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-export /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-conn hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-conn /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-xml hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-xml /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber hides /usr/share/emacs/site-lisp/emacs-jabber/jabber /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-util hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-util /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-festival hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-festival /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-xmessage hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-xmessage /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-iq hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-iq /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-autoloads hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-autoloads /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-vcard-avatars hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-vcard-avatars /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-ft-common hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ft-common /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-menu hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-menu /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-awesome hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-awesome /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-si-server hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-si-server /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-bookmarks hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-bookmarks /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-wmii hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-wmii /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-core hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-core /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-version hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-version /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-ourversion hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ourversion /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-autoaway hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-autoaway /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-keymap hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-keymap /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-register hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-register /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-avatar hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-avatar /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-presence hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-presence /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-gmail hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-gmail /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-osd hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-osd /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-alert hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-alert /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-disco hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-disco /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-chat hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-chat /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-si-common hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-si-common /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-history hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-history /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-keepalive hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-keepalive /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-truncate hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-truncate /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-ahc hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ahc /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-private hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-private /permabit/user/raeburn/.emacs.d/elpa/jabber-20150627.1006/jabber-watch hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-watch ~/permabit-emacs/objdump hides /permabit/user/raeburn/elisp/objdump/objdump ~/permabit-emacs/kr-pdoc hides /permabit/user/raeburn/elisp/kr-pdoc /permabit/user/raeburn/.emacs.d/elpa/ssh-20120904.1342/ssh hides /permabit/user/raeburn/elisp/ssh /permabit/user/raeburn/.emacs.d/elpa/edit-server-20141231.1358/edit-server hides /permabit/user/raeburn/elisp/edit-server ~/permabit-emacs/c-fns hides /permabit/user/raeburn/elisp/c-fns /permabit/user/raeburn/elisp/objdump/loaddefs hides /permabit/user/raeburn/dev/emacs/emacs/lisp/loaddefs Features: (shadow sort mail-extr gnus-msg emacsbug sendmail add-log objdump org-element org-rmail org-mhe org-irc org-info org-gnus org-docview doc-view jka-compr org-bibtex bibtex org-bbdb org-w3m org org-macro org-footnote org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs autoconf autoconf-mode make-mode image-mode systemtap-mode cc-awk cc-langs python tramp-sh tramp tramp-compat tramp-loaddefs trampver shell warnings pcomplete json sh-script smie executable face-remap autorevert filenotify rcirc vc vc-dispatcher vc-git diff-mode easy-mmode hideshow time hi-lock icomplete kr-stuff kr-hesiod hideshowvis desktop frameset ses unsafep browse-url edit-server kr-gnus gnus-demon nntp gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems nnheader mail-utils iso-transl kr-dbus kr-math cc-mode cc-fonts cc-guess cc-menus cc-cmds jabber jabber-notifications notifications jabber-libnotify dbus jabber-awesome jabber-osd jabber-wmii jabber-xmessage jabber-festival jabber-sawfish jabber-ratpoison jabber-tmux jabber-screen jabber-socks5 jabber-ft-server jabber-si-server jabber-ft-client jabber-ft-common jabber-si-client jabber-si-common jabber-feature-neg jabber-truncate jabber-time jabber-autoaway jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard jabber-avatar mailcap jabber-activity jabber-watch jabber-modeline jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion jabber-muc-nick-completion hippie-exp jabber-browse jabber-search jabber-register jabber-roster format-spec jabber-presence jabber-muc jabber-bookmarks jabber-private jabber-muc-nick-coloring hexrgb jabber-widget jabber-disco wid-edit jabber-chat jabber-history jabber-chatbuffer jabber-alert jabber-iq jabber-core jabber-console sgml-mode ewoc jabber-keymap jabber-sasl sasl sasl-anonymous sasl-login sasl-plain fsm jabber-logon jabber-conn srv dns starttls tls gnutls jabber-xml xml jabber-menu jabber-util auth-source cl-seq eieio byte-opt bytecomp byte-compile cl-extra cconv eieio-core cl-macs gnus-util mm-util help-fns help-mode mail-prsvr password-cache kr-autoloads finder-inf ssh-autoloads info package epg-config idutils derived thingatpt compile comint ansi-color ring cperl-mode easymenu which-func imenu cc-styles cc-align cc-engine cc-vars p4 dired kr-message-timestamp advice c-eldoc cl gv cc-defs cl-loaddefs pcase cl-lib timeclock time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind inotify dynamic-setting system-font-setting font-render-setting x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 705632 85679) (symbols 48 50606 0) (miscs 40 68234 1168) (strings 32 120065 15281) (string-bytes 1 3738730) (vectors 16 48099) (vector-slots 8 992647 34688) (floats 8 615 524) (intervals 56 41573 248) (buffers 976 157) (heap 1024 84116 7901))
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.