Subject: bug#17975: 24.3.92; assertion failure deleting frames with varying names for the same display (and, using multiple X11 connections in that case too)

From: Ken Raeburn <[email-masked]>
Date: Tue, 08 Jul 2014 15:59:42 -0400

(Yet another attempt to send while fighting with customize over my email
options...)

This is a simplified version of a crash I got using emacsclient, daemon
mode, and desktop-save-mode. My saved desktop configuration somehow has
frames with different names for the same local display, perhaps because
window manager buttons I use to invoke emacsclient cause ":0.0" to be
used, and my xterm shells have DISPLAY set to ":0".

Emacs is compiled with "--enable-checking --with-x-toolkit=lucid".

Recipe:
 1. emacs -Q --daemon
 2. DISPLAY=:0 emacsclient -c -n
 3. DISPLAY=:0.0 emacsclient -c -n
 4. Use	a window-manager button	to delete the first Emacs window.
 5. Emacs crashes with an assertion failure.

(gdb) bt full
#0  terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:350
No locals.
#1  0x000000000057fc24 in die (msg=<optimized out>, file=<optimized out>, line=<optimized out>) at alloc.c:6833
No locals.
#2  0x00000000004ea74d in xim_close_dpy (dpyinfo=0xd14520) at xterm.c:8007
        ret = <optimized out>
        xim_inst = 0xcf5560
#3  x_delete_terminal (terminal=<optimized out>) at xterm.c:10376
        dpyinfo = 0xd14520
        connection = -1
#4  0x00000000004ddfe2 in Fdelete_terminal (terminal=18228141, force=<optimized out>) at terminal.c:348
        t = 0x11623a8
#5  0x0000000000423756 in delete_frame (frame=<optimized out>, force=<optimized out>) at frame.c:1399
        tmp = 6
        terminal = 0x11623a8
        f = 0x127ee38
        sf = 0xc9b268
        kb = 0x0
        minibuffer_selected = <optimized out>
        is_tooltip_frame = 0
#6  0x00000000005a16fe in Ffuncall (nargs=<optimized out>, args=0x7fff1460f978) at eval.c:2818
        fun = 9051333
        original_fun = <optimized out>
        funcar = 66
        numargs = <optimized out>
        val = <optimized out>
        internal_args = 0x7fff1460f980
        i = <optimized out>
#7  0x00000000005e055d in exec_byte_code (bytestr=66, vector=2147483647, maxdepth=139883996531360, args_template=54, nargs=3, args=0x0) at bytecode.c:916
        targets = {0x5e05f1, 0x5e0e35, 0x5e0e3a, 0x5e0e3f, 0x5e03b2, 0x5e03b8, 0x5e1baa, 0x5e1bf0, 0x5e1c78, 0x5e1c7d, 0x5e1c49, 0x5e1c4e, 0x5e03f9, 0x5e0400, 0x5e0b35, 0x5e1c53, 0x5e0d4a, 0x5e0d4f, 0x5e0cc2, 0x5e0cc7, 0x5e046c, 0x5e0470, 0x5e0c67, 0x5e0c42, 0x5e0b1a, 0x5e0b1f, 0x5e0b24, 0x5e0b29, 0x5e04f1, 0x5e04f8, 0x5e0cae, 0x5e0af5, 0x5e0ae4, 0x5e0ae9, 0x5e0aee, 0x5e0aba, 0x5e0537, 0x5e0540, 0x5e0aa6, 0x5e0abf, 0x5e1e0f, 0x5e1e14, 0x5e1e19, 0x5e1de5, 0x5e0580, 0x5e0580, 0x5e1da5, 0x5e1dea, 0x5e0995, 0x5e098a, 0x5e083e, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e1fca, 0x5e206b, 0x5e20a6, 0x5e25cc, 0x5e2607, 0x5e0c00, 0x5e0ccc, 0x5e264f, 0x5e0bc2, 0x5e0d0c, 0x5e2684, 0x5e23e0, 0x5e240f, 0x5e244f, 0x5e248c, 0x5e2516, 0x5e2545, 0x5e2585, 0x5e21c8, 0x5e21f7, 0x5e29da, 0x5e2a1a, 0x5e28dc, 0x5e291c, 0x5e2960, 0x5e299d, 0x5e26c4, 0x5e2751, 0x5e278d, 0x5e27cd, 0x5e2897, 0x5e280d, 0x5e2852, 0x5e142c, 0x5e1471, 0x5e14ae, 0x5e14e3, 0x5e1520, 0x5e155d, 0x5e159a, 0x5e1654, 0x5e05c3, 0x5e16ae, 0x5e16dd, 0x5e175a, 0x5e17b4, 0x5e180e, 0x5e1839, 0x5e186a, 0x5e189b, 0x5e18ec, 0x5e05f1, 0x5e191e, 0x5e1953, 0x5e1988, 0x5e19bd, 0x5e19f2, 0x5e1a27, 0x5e05c3, 0x5e05f1, 0x5e1a56, 0x5e1a9d, 0x5e1acc, 0x5e1afb, 0x5e1b3b, 0x5e1b7b, 0x5e102f, 0x5e10e8, 0x5e13ac, 0x5e13ec, 0x5e1128, 0x5e115d, 0x5e05f1, 0x5e0773, 0x5e1e25, 0x5e0b49, 0x5e1eb5, 0x5e2226, 0x5e2299, 0x5e0720, 0x5e06ff, 0x5e0c7b, 0x5e063c, 0x5e0d54, 0x5e07cb, 0x5e07f9, 0x5e09c3, 0x5e0a13, 0x5e0a57, 0x5e1f69, 0x5e1db9, 0x5e1188, 0x5e11cf, 0x5e11fe, 0x5e122d, 0x5e125c, 0x5e128b, 0x5e12cb, 0x5e130b, 0x5e134b, 0x5e138b, 0x5e0e45, 0x5e0e85, 0x5e0ec5, 0x5e0ef4, 0x5e0f34, 0x5e0f74, 0x5e0fb3, 0x5e0ff2, 0x5e15d7, 0x5e1614, 0x5e0db9, 0x5e0e00, 0x5e05f1, 0x5e20e1, 0x5e215e, 0x5e2346, 0x5e2a5a, 0x5e066a, 0x5e24c9, 0x5e2701, 0x5e170e, 0x5e1c82, 0x5e1cc7, 0x5e05f1, 0x5e05f1, 0x5e1d1f, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e1d6a <repeats 64 times>}
        count = 8
        stack = {
          pc = 0xb8211e "\202\070", 
          byte_string = 10257961, 
          byte_string_start = 0xb820eb "\304\b!\211@\262\001\305\306 \031\032\033\t\203)", 
          next = 0x7fff1460fdf0
        }
        result = 66
        type = 4
#8  0x00000000005a0f92 in funcall_lambda (fun=10257909, nargs=<optimized out>, arg_vector=0x7fff1460fb88) at eval.c:3049
        val = <optimized out>
        syms_left = <optimized out>
        next = 5
        lexenv = 13137010
        i = <optimized out>
        optional = <optimized out>
        rest = <optimized out>
#9  0x00000000005a1324 in Ffuncall (nargs=<optimized out>, args=0x7fff1460fb80) at eval.c:2876
        fun = <optimized out>
        original_fun = 13496946
        funcar = 66
        numargs = <optimized out>
        val = <optimized out>
        internal_args = <optimized out>
        i = <optimized out>
#10 0x000000000059ccb9 in Fcall_interactively (function=13496946, record_flag=13137010, keys=140733535288128) at callint.c:836
        val = <optimized out>
        args = 0x7fff1460fb80
        visargs = <optimized out>
        specs = <optimized out>
        filter_specs = <optimized out>
        teml = <optimized out>
        up_event = 13137010
        enable = 2
        next_event = <optimized out>
        prefix_arg = 13137010
        string = <optimized out>
        tem = <optimized out>
        varies = 0x7fff1460fb40 ""
        i = <optimized out>
        nargs = <optimized out>
        mark = <optimized out>
        arg_from_tty = <optimized out>
        key_count = 1
        record_then_fail = false
        save_this_command = 13137010
        save_last_command = 13179570
        save_this_original_command = 13137010
        save_real_this_command = 13137010
#11 0x00000000005a16c6 in Ffuncall (nargs=<optimized out>, args=0x7fff1460fd78) at eval.c:2822
        fun = 12550661
        original_fun = <optimized out>
        funcar = 66
        numargs = <optimized out>
        val = <optimized out>
        internal_args = 0x7fff1460fd80
        i = <optimized out>
#12 0x00000000005e055d in exec_byte_code (bytestr=66, vector=2147483647, maxdepth=139883996531360, args_template=108, nargs=4, args=0x0) at bytecode.c:916
        targets = {0x5e05f1, 0x5e0e35, 0x5e0e3a, 0x5e0e3f, 0x5e03b2, 0x5e03b8, 0x5e1baa, 0x5e1bf0, 0x5e1c78, 0x5e1c7d, 0x5e1c49, 0x5e1c4e, 0x5e03f9, 0x5e0400, 0x5e0b35, 0x5e1c53, 0x5e0d4a, 0x5e0d4f, 0x5e0cc2, 0x5e0cc7, 0x5e046c, 0x5e0470, 0x5e0c67, 0x5e0c42, 0x5e0b1a, 0x5e0b1f, 0x5e0b24, 0x5e0b29, 0x5e04f1, 0x5e04f8, 0x5e0cae, 0x5e0af5, 0x5e0ae4, 0x5e0ae9, 0x5e0aee, 0x5e0aba, 0x5e0537, 0x5e0540, 0x5e0aa6, 0x5e0abf, 0x5e1e0f, 0x5e1e14, 0x5e1e19, 0x5e1de5, 0x5e0580, 0x5e0580, 0x5e1da5, 0x5e1dea, 0x5e0995, 0x5e098a, 0x5e083e, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e1fca, 0x5e206b, 0x5e20a6, 0x5e25cc, 0x5e2607, 0x5e0c00, 0x5e0ccc, 0x5e264f, 0x5e0bc2, 0x5e0d0c, 0x5e2684, 0x5e23e0, 0x5e240f, 0x5e244f, 0x5e248c, 0x5e2516, 0x5e2545, 0x5e2585, 0x5e21c8, 0x5e21f7, 0x5e29da, 0x5e2a1a, 0x5e28dc, 0x5e291c, 0x5e2960, 0x5e299d, 0x5e26c4, 0x5e2751, 0x5e278d, 0x5e27cd, 0x5e2897, 0x5e280d, 0x5e2852, 0x5e142c, 0x5e1471, 0x5e14ae, 0x5e14e3, 0x5e1520, 0x5e155d, 0x5e159a, 0x5e1654, 0x5e05c3, 0x5e16ae, 0x5e16dd, 0x5e175a, 0x5e17b4, 0x5e180e, 0x5e1839, 0x5e186a, 0x5e189b, 0x5e18ec, 0x5e05f1, 0x5e191e, 0x5e1953, 0x5e1988, 0x5e19bd, 0x5e19f2, 0x5e1a27, 0x5e05c3, 0x5e05f1, 0x5e1a56, 0x5e1a9d, 0x5e1acc, 0x5e1afb, 0x5e1b3b, 0x5e1b7b, 0x5e102f, 0x5e10e8, 0x5e13ac, 0x5e13ec, 0x5e1128, 0x5e115d, 0x5e05f1, 0x5e0773, 0x5e1e25, 0x5e0b49, 0x5e1eb5, 0x5e2226, 0x5e2299, 0x5e0720, 0x5e06ff, 0x5e0c7b, 0x5e063c, 0x5e0d54, 0x5e07cb, 0x5e07f9, 0x5e09c3, 0x5e0a13, 0x5e0a57, 0x5e1f69, 0x5e1db9, 0x5e1188, 0x5e11cf, 0x5e11fe, 0x5e122d, 0x5e125c, 0x5e128b, 0x5e12cb, 0x5e130b, 0x5e134b, 0x5e138b, 0x5e0e45, 0x5e0e85, 0x5e0ec5, 0x5e0ef4, 0x5e0f34, 0x5e0f74, 0x5e0fb3, 0x5e0ff2, 0x5e15d7, 0x5e1614, 0x5e0db9, 0x5e0e00, 0x5e05f1, 0x5e20e1, 0x5e215e, 0x5e2346, 0x5e2a5a, 0x5e066a, 0x5e24c9, 0x5e2701, 0x5e170e, 0x5e1c82, 0x5e1cc7, 0x5e05f1, 0x5e05f1, 0x5e1d1f, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e05f1, 0x5e1d6a <repeats 64 times>}
        count = 3
        stack = {
          pc = 0xba1f82 "\006\006\071\203\233", 
          byte_string = 10002481, 
          byte_string_start = 0xba1f0e "\306\020\211?\205\f", 
          next = 0x0
        }
        result = 66
        type = 13
#13 0x00000000005a1324 in Ffuncall (nargs=<optimized out>, args=0x7fff1460fed0) at eval.c:2876
        fun = <optimized out>
        original_fun = 13180898
        funcar = 66
        numargs = <optimized out>
        val = <optimized out>
        internal_args = <optimized out>
        i = <optimized out>
#14 0x00000000005a1909 in call4 (fn=<optimized out>, arg1=<optimized out>, arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at eval.c:2663
        ret_ungc_val = 66
        args = {13180898, 13496946, 13137010, 16481285, 13137058}
#15 0x00000000005274fe in read_char (commandflag=1, map=17049222, prev_event=13137010, used_mouse_menu=0x7fff146102cf, end_time=0x0) at keyboard.c:2944
        prev_buffer = 0xc8dd50
        c = 17533830
        local_getcjmp = {{
            __jmpbuf = {13137010, 1302660280949707907, 0, 19394104, 17049222, 0, -1302152121081228157, 1302661719464907907}, 
            __mask_was_saved = 0, 
            __saved_mask = {
              __val = {0, 0, 0, 0, 0, 0, 0, 13163856, 5859230, 0, 0, 0, 0, 13163856, 13163856, 192}
            }
          }}
        save_jump = {{
            __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, 
            __mask_was_saved = 0, 
            __saved_mask = {
              __val = {0 <repeats 16 times>}
            }
          }}
        tem = 13496946
        save = <optimized out>
        previous_echo_area_message = 13137010
        also_record = 13137010
        reread = false
        polling_stopped_here = false
        orig_kboard = 0xd14f40
#16 0x00000000005295a4 in read_key_sequence (keybuf=0x7fff14610320, prompt=13137010, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, bufsize=30) at keyboard.c:9088
        interrupted_kboard = 0xd14f40
        interrupted_frame = 0x127ee38
        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 = 17049222
        first_event = 13137010
        first_unbound = 31
        mock_input = 0
        fkey = {
          parent = 20457062, 
          map = 20457062, 
          start = 0, 
          end = 0
        }
        keytran = {
          parent = 13116998, 
          map = 13116998, 
          start = 0, 
          end = 0
        }
        indec = {
          parent = 20426022, 
          map = 20426022, 
          start = 0, 
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = 13137010
        original_uppercase = 13305986
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0xc8dd50
        fake_prefixed_keys = 13137010
#17 0x000000000052b0c2 in command_loop_1 () at keyboard.c:1452
        cmd = <optimized out>
        keybuf = {17051382, 140733535290128, 4294967296, 0, 0, -6929747409077133824, 0, 9649312, 17429874, 2, 4611686018595160064, 4611686019484352512, 140733535290432, 5898849, 139883992655744, 139884077191168, 0, 0, 0, 336, 0, 5808116, 13306946, 13615984, 13137010, 13306946, 13615984, 5819474, 64, 5897286}
        i = <optimized out>
        prev_modiff = 11
        prev_buffer = 0xc8dd50
#18 0x000000000059f2a2 in internal_condition_case (bfun=0x52ae70 <command_loop_1>, handlers=<optimized out>, hfun=0x5200f0 <cmd_error>) at eval.c:1354
        val = <optimized out>
        c = 0xffffffffffffffc6
#19 0x000000000051cc2e in command_loop_2 (ignore=<optimized out>) at keyboard.c:1177
        val = 66
#20 0x000000000059f1a8 in internal_catch (tag=<error reading variable: Cannot access memory at address 0xffffffffffffffce>, func=0x51cc10 <command_loop_2>, arg=13137010) at eval.c:1118
        val = <optimized out>
        c = 0xffffffffffffffc6
#21 0x000000000051fc07 in command_loop () at keyboard.c:1156
No locals.
#22 recursive_edit_1 () at keyboard.c:777
        val = 3
#23 0x000000000051ff55 in Frecursive_edit () at keyboard.c:848
        buffer = <optimized out>
#24 0x0000000000411a95 in main (argc=3, argv=<optimized out>) at emacs.c:1646
        dummy = 0
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = <optimized out>
        dumping = <optimized out>
        skip_args = 1
        rlim = {
          rlim_cur = 8720000, 
          rlim_max = 18446744073709551615
        }
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0xccacd6 ""

Lisp Backtrace:
"delete-frame" (0x1460f980)
"handle-delete-frame" (0x1460fb88)
"call-interactively" (0x1460fd80)
"command-execute" (0x1460fed8)

In stack frame 4 the terminal we're deleting has a name of ":0" and a
certain X11 "Display" structure pointer. The other frame (found via
Vframe_list) has a different terminal structure with a name of ":0.0"
and a different X11 display pointer (and even a different file
descriptor number, so we've got two connections open, also a bug, but
less important).

The crash is in an assertion in xim_close_display, called from
x_delete_terminal:

          Bool ret = XUnregisterIMInstantiateCallback
            (dpyinfo->display, dpyinfo->xrdb, xim_inst->resource_name,
             emacs_class, xim_instantiate_callback,
             (XRegisterIMInstantiateCallback_arg6) xim_inst);
          eassert (ret == True);

Why XUnregisterIMInstantiateCallback would fail, I don't know. There's
an assertion at the XRegisterIMInstantiateCallback call as well which
didn't get triggered.

In GNU Emacs 24.3.92.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2014-06-27 on just-testing.permabit.com
Windowing system distributor `The X.Org Foundation', version 11.0.11103000
System Description:	Ubuntu 12.04.4 LTS

Configured using:
 `configure
 --prefix=/permabit/user/raeburn/I64/install/emacs-24.3.92.precise
 --with-x-toolkit=lucid --enable-checking'

Important settings:
  locale-coding-system: nil

Major mode: Lisp Interaction

Minor modes in effect:
  rcirc-track-minor-mode: t
  display-time-mode: t
  which-function-mode: t
  icomplete-mode: t
  desktop-save-mode: t
  jabber-activity-mode: t
  eldoc-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<backspace> SPC o v e r SPC m y SPC m a i l SPC s e 
t t i n g s . SPC O <backspace> A p o l o g i e s SPC 
i f SPC m u l t i p l e SPC o f SPC t h e <M-backspace> 
<M-backspace> c o p i e s SPC a c t u a l l y SPC g 
o t SPC t h r o u g h . <help-echo> <down-mouse-1> 
<mouse-1> <help-echo> <switch-frame> <switch-frame> 
C-a C-c C-c y e s <return> <help-echo> <help-echo> 
<help-echo> <help-echo> <switch-frame> <down-mouse-5> 
<mouse-5> <down-mouse-4> <mouse-4> <double-down-mouse-4> 
<double-mouse-4> <down-mouse-4> <mouse-4> <down-mouse-4> 
<mouse-4> <down-mouse-4> <mouse-4> <down-mouse-4> <mouse-4> 
<down-mouse-4> <mouse-4> <down-mouse-4> <mouse-4> <down-mouse-4> 
<mouse-4> <down-mouse-4> <mouse-4> <down-mouse-4> <mouse-4> 
<down-mouse-4> <mouse-4> <down-mouse-4> <mouse-4> <down-mouse-4> 
<mouse-4> <down-mouse-4> <mouse-4> <double-down-mouse-4> 
<double-mouse-4> <help-echo> <help-echo> <down-mouse-1> 
<mouse-movement> <mouse-1> C-h f r e p o r t - e m 
<tab> <return> <help-echo> <help-echo> <help-echo> 
<down-mouse-2> <mouse-1> <help-echo> C-x 1 C-u C-l 
C-x 2 M-< C-s s e n d - m a i l - f u n c t i o n C-s 
C-s C-s C-a C-l M-: m e s s a g e - s e n d - m a i 
l - f u n c t i o n <return> C-h v m e s s a g e - 
s e n d - m a i l - f u n <tab> <return> C-x 1 <help-echo> 
<help-echo> <help-echo> <down-mouse-2> <mouse-1> <down-mouse-1> 
<mouse-1> <help-echo> C-u C-p C-u C-p C-p C-u C-f C-u 
C-f C-u C-f C-f C-f <return> C-u C-f C-u C-f C-f C-f 
<return> n <help-echo> <switch-frame> <switch-frame> 
<help-echo> <switch-frame> <down-mouse-1> <mouse-movement> 
<mouse-1> <down-mouse-1> <mouse-1> <escape> x r e p 
o r t - e m <tab> <return>

Recent messages:
Mark saved where search started
message-send-mail-with-mailclient
Type "q" to restore previous buffer, M-x scroll-up to scroll help.
Creating customization items...
Creating customization items ...done
Resetting customization items...done
Creating customization setup...done
Saving file /permabit/user/raeburn/.emacs...
Delete excess backup versions of /permabit/user/raeburn/.emacs? (y or n) n
Wrote /permabit/user/raeburn/.emacs [2 times]

Load-path shadows:
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-festival hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-festival
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-chat hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-chat
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-bookmarks hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-bookmarks
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-ahc-presence hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ahc-presence
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-chatbuffer hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-chatbuffer
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-roster hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-roster
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-core hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-core
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-ft-common hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ft-common
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-presence hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-presence
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-si-server hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-si-server
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-autoloads hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-autoloads
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-truncate hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-truncate
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-ft-server hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ft-server
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-conn hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-conn
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-sasl hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-sasl
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/fsm hides /usr/share/emacs/site-lisp/emacs-jabber/fsm
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-ft-client hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ft-client
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-xmessage hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-xmessage
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-chatstates hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-chatstates
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-export hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-export
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-time hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-time
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-screen hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-screen
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-autoaway hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-autoaway
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-compose hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-compose
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber hides /usr/share/emacs/site-lisp/emacs-jabber/jabber
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-modeline hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-modeline
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-activity hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-activity
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/srv hides /usr/share/emacs/site-lisp/emacs-jabber/srv
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-events hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-events
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-version hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-version
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-feature-neg hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-feature-neg
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-menu hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-menu
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-history hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-history
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-avatar hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-avatar
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-muc hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-muc
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-watch hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-watch
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-xml hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-xml
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-muc-nick-completion hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-muc-nick-completion
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-alert hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-alert
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-osd hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-osd
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-ourversion hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ourversion
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-si-client hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-si-client
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-util hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-util
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-widget hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-widget
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-vcard hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-vcard
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-keepalive hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-keepalive
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-register hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-register
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-iq hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-iq
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-awesome hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-awesome
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-browse hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-browse
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-ratpoison hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ratpoison
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-si-common hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-si-common
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-wmii hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-wmii
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-disco hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-disco
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-search hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-search
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-keymap hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-keymap
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-gmail hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-gmail
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-socks5 hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-socks5
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-vcard-avatars hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-vcard-avatars
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-private hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-private
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-sawfish hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-sawfish
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-ahc hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ahc
/permabit/user/raeburn/.emacs.d/elpa/jabber-20140523.153/jabber-logon hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-logon
~/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/systemtap-mode-20121209.1510/systemtap-mode hides /permabit/user/raeburn/elisp/systemtap-mode
/permabit/user/raeburn/.emacs.d/elpa/ssh-20120904.1342/ssh hides /permabit/user/raeburn/elisp/ssh
/permabit/user/raeburn/.emacs.d/elpa/edit-server-20131229.441/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/I64/install/emacs-24.3.92.precise/share/emacs/24.3.92/lisp/loaddefs

Features:
(jka-compr find-func mailalias mailclient qp cus-edit cus-start cus-load
ielm help-mode pp shadow sort mail-extr gnus-msg emacsbug sendmail
misearch multi-isearch mule-util bug-reference make-mode flyspell ispell
git-commit-mode server log-edit easy-mmode pcvs-util add-log sh-script
smie executable systemtap-mode cc-awk python vc-git hideshow cc-langs
cc-mode cc-fonts cc-guess cc-menus cc-cmds autorevert filenotify rcirc
edit-server-autoloads info git-rebase-mode-autoloads
git-commit-mode-autoloads popup-autoloads ssh-autoloads
systemtap-mode-autoloads package time which-func warnings imenu
icomplete kr-stuff hideshowvis desktop frameset ses byte-opt bytecomp
byte-compile cconv unsafep browse-url edit-server gnus-demon nntp
gnus-art mm-uu mml2015 epg-config mm-view mml-smime smime password-cache
dig gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start
gnus-spec gnus-int gnus-range message cl-macs 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 gnus-util mail-utils mm-util mail-prsvr iso-transl kr-dbus
notifications dbus kr-math jabber jabber-awesome jabber-osd jabber-wmii
jabber-xmessage jabber-festival jabber-sawfish jabber-ratpoison
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 time-date
assoc jabber-muc jabber-newdisco jabber-widget jabber-disco wid-edit
jabber-chat ewoc jabber-history jabber-chatbuffer jabber-alert jabber-iq
jabber-keymap jabber-core jabber-sasl sasl sasl-anonymous sasl-login
sasl-plain fsm jabber-logon jabber-conn srv dns starttls tls jabber-xml
xml jabber-menu jabber-util jabber-autoloads idutils derived thingatpt
compile comint ansi-color ring cperl-mode easymenu cc-styles cc-align
cc-engine cc-vars p4 dired kr-message-timestamp advice c-eldoc cl gv
cl-loaddefs cl-lib cc-defs eldoc help-fns timeclock tooltip electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer 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 make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting x-toolkit x multi-tty emacs)

Memory information:
((conses 16 484925 57300)
 (symbols 48 39723 7)
 (miscs 40 64472 15015)
 (strings 32 82028 10941)
 (string-bytes 1 2721256)
 (vectors 16 36334)
 (vector-slots 8 860235 28377)
 (floats 8 377 354)
 (intervals 56 24052 396)
 (buffers 960 177)
 (heap 1024 71290 2347))