Subject: bug#17691: 24.3.91; crash closing remote frame

From: Ken Raeburn <[email-masked]>
Date: Wed, 04 Jun 2014 13:09:03 -0400

1) Build Emacs with "lucid" toolkit because you like making frames on
   multiple displays.
2) Fire up Emacs on your local X11 display :0.
3) ssh into the machine and use emacsclient to get a frame on display
   :10 or whatever.
4) Drop the remote connection, or use your window manager to kill the
   remote frame, or poke around in (current-frame-configuration) to find
   the frame and apply delete-frame to it.
5) Watch your Emacs process die.

It seems to be repeatable.

Program received signal SIGSEGV, Segmentation fault.
PSEUDOVECTORP (code=15, a=122485729734501) at lisp.h:2394
2394	      return PSEUDOVECTOR_TYPEP (h, code);
(gdb) bt
#0  PSEUDOVECTORP (code=15, a=122485729734501) at lisp.h:2394
#1  font_clear_cache (cache=69278262, driver=<optimized out>, f=<optimized out>) at font.c:2604
#2  0x0000000000564f0b in font_finish_cache (driver=0xb707a0, f=0x45a77b0) at font.c:2563
#3  font_update_drivers (f=0x45a77b0, new_drivers=12059762) at font.c:3472
#4  0x000000000041effc in delete_frame (frame=<optimized out>, force=12059810) at frame.c:1335
#5  0x0000000000551580 in Ffuncall (nargs=<optimized out>, args=0x7fffa40cdcb8) at eval.c:2818
#6  0x000000000058664d in exec_byte_code (bytestr=4611686018679046144, vector=11995040, maxdepth=4611686019484352512, args_template=54, nargs=3, args=0x0) at bytecode.c:916
#7  0x000000000055103f in funcall_lambda (fun=9785413, nargs=<optimized out>, arg_vector=0x7fffa40cdeb8) at eval.c:3049
#8  0x0000000000551364 in Ffuncall (nargs=<optimized out>, args=0x7fffa40cdeb0) at eval.c:2876
#9  0x000000000054d885 in Fcall_interactively (function=12419650, record_flag=12059762, keys=40388517) at callint.c:836
#10 0x000000000055156d in Ffuncall (nargs=<optimized out>, args=0x7fffa40ce088) at eval.c:2822
#11 0x000000000058664d in exec_byte_code (bytestr=4611686018679046144, vector=11995040, maxdepth=4611686019484352512, args_template=108, nargs=4, args=0x7fffa40ce1d8) at bytecode.c:916
#12 0x0000000000551364 in Ffuncall (nargs=<optimized out>, args=0x7fffa40ce1d0) at eval.c:2876
#13 0x0000000000551759 in call4 (fn=<optimized out>, arg1=<optimized out>, arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at eval.c:2663
#14 0x00000000004e8dee in read_char (commandflag=1, map=60420038, prev_event=12059762, used_mouse_menu=0x7fffa40ce5bf, end_time=0x0) at keyboard.c:2944
#15 0x00000000004ea9e4 in read_key_sequence (keybuf=0x7fffa40ce610, prompt=12059762, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, bufsize=30) at keyboard.c:9087
#16 0x00000000004ebc1a in command_loop_1 () at keyboard.c:1452
#17 0x000000000054f942 in internal_condition_case (bfun=0x4eba40 <command_loop_1>, handlers=<optimized out>, hfun=0x4e2ce0 <cmd_error>) at eval.c:1354
#18 0x00000000004e057e in command_loop_2 (ignore=<optimized out>) at keyboard.c:1177
#19 0x000000000054f848 in internal_catch (tag=<error reading variable: Cannot access memory at address 0x400000000effffc8>, func=0x4e0560 <command_loop_2>, arg=12059762) at eval.c:1118
#20 0x00000000004e28c7 in command_loop () at keyboard.c:1156
#21 recursive_edit_1 () at keyboard.c:777
#22 0x00000000004e2bed in Frecursive_edit () at keyboard.c:848
#23 0x0000000000411775 in main (argc=2, argv=<optimized out>) at emacs.c:1646

Lisp Backtrace:
"delete-frame" (0xa40cdcc0)
"handle-delete-frame" (0xa40cdeb8)
"call-interactively" (0xa40ce090)
"command-execute" (0xa40ce1d8)
(gdb) fr 1
#1  PSEUDOVECTORP (code=15, a=122485729734501) at lisp.h:2394
2394	      return PSEUDOVECTOR_TYPEP (h, code);
(gdb) list
2389	    return false;
2390	  else
2391	    {
2392	      /* Converting to struct vectorlike_header * avoids aliasing issues.  */
2393	      struct vectorlike_header *h = XUNTAG (a, Lisp_Vectorlike);
2394	      return PSEUDOVECTOR_TYPEP (h, code);
2395	    }
2396	}
2397	
2398	
(gdb) p a
$1 = 122485729734501
(gdb) xtype 
Lisp_Vectorlike
Cannot access memory at address 0x6f666e692f60
(gdb) p/x a
$2 = 0x6f666e692f65

Note that this is an invalid pointer but valid ASCII string content
("e/info\0\0" after byte swapping).

I told gdb to save a core file (it reported errors accessing some
memory) and went back to look at the core file when I had a useable
emacs process running again. (Poor foresight on my part, "xbacktrace"
doesn't work on a core file.)

(gdb) bt full 
#0  PSEUDOVECTOR_TYPEP (code=15, a=<optimized out>) at lisp.h:2380
No locals.
#1  PSEUDOVECTORP (code=15, a=122485729734501) at lisp.h:2394
        h = 0x4212a90
#2  font_clear_cache (cache=69278262, driver=<optimized out>, f=<optimized out>) at font.c:2604
        tail = 69282438
        entity = 122485729734501
        i = <optimized out>
#3  0x0000000000564f0b in font_finish_cache (driver=0xb707a0, f=0x45a77b0) at font.c:2563
        cache = <optimized out>
        val = <optimized out>
#4  font_update_drivers (f=0x45a77b0, new_drivers=12059762) at font.c:3472
        driver = 0xb707a0
        active_drivers = 12059762
        list = 0x27b2020
#5  0x000000000041effc in delete_frame (frame=<optimized out>, force=12059810) at frame.c:1335
        f = 0x45a77b0
        sf = <optimized out>
        kb = <optimized out>
        minibuffer_selected = 0
        is_tooltip_frame = 0
#6  0x0000000000551580 in Ffuncall (nargs=<optimized out>, args=0x7fffa40cdcb8) at eval.c:2818
        fun = 8580261
        original_fun = <optimized out>
        funcar = 4611686018679046144
        numargs = <optimized out>
        val = <optimized out>
        internal_args = 0x7fffa40cdcc0
        i = <optimized out>
#7  0x000000000058664d in exec_byte_code (bytestr=4611686018679046144, vector=11995040, maxdepth=4611686019484352512, args_template=54, nargs=3, args=0x0) at bytecode.c:916
        targets = {0x5866e1, 0x586f0b, 0x586f10, 0x586f15, 0x5864c2, 0x5864c8, 0x588019, 0x588062, 0x5880ea, 0x5880ef, 0x5880bb, 0x5880c0, 0x586505, 0x586508, 0x586bb0, 0x5880c5, 0x586d3b, 0x586d40, 0x586dc1, 0x586dc6, 0x586574, 0x586578, 0x586d6a, 0x586d45, 0x586df0, 0x586df5, 0x586dfa, 0x586e05, 0x5865e9, 0x5865f0, 0x586dad, 0x586dcb, 0x586e4e, 0x586e53, 0x586e58, 0x586e65, 0x58662f, 0x586630, 0x586e15, 0x586e29, 0x586751, 0x586756, 0x58675b, 0x586e89, 0x586670, 0x586670, 0x586e75, 0x58672c, 0x5883c8, 0x5883bd, 0x58828a, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x587e4f, 0x587eeb, 0x587f26, 0x587f61, 0x587f9c, 0x586c7b, 0x586cbd, 0x587fe4, 0x586c3d, 0x586cfd, 0x5889b2, 0x588874, 0x5888a3, 0x588af5, 0x588b32, 0x588a42, 0x588a71, 0x588ab1, 0x58854f, 0x58857e, 0x5885ad, 0x5885ed, 0x58862d, 0x58866d, 0x5886b1, 0x5886ee, 0x58872b, 0x5887b8, 0x5887f8, 0x588834, 0x58896d, 0x5888e3, 0x588928, 0x5874a2, 0x5874e7, 0x587524, 0x587559, 0x587596, 0x5875d3, 0x587610, 0x5876ca, 0x5866b3, 0x587708, 0x587737, 0x5877b8, 0x5877f6, 0x587834, 0x587863, 0x587898, 0x5878c9, 0x5878fe, 0x5866e1, 0x587934, 0x587969, 0x58799e, 0x5879d3, 0x587a08, 0x587a3d, 0x5866b3, 0x5866e1, 0x587a6c, 0x587ab3, 0x587ae2, 0x587b11, 0x587b51, 0x587b91, 0x58710f, 0x5871e2, 0x587d6e, 0x587dae, 0x587222, 0x587257, 0x5866e1, 0x5884fb, 0x586765, 0x586bc4, 0x5869e5, 0x586872, 0x586b03, 0x58744d, 0x5884da, 0x586d7e, 0x58738a, 0x587325, 0x588217, 0x588245, 0x5883f6, 0x588447, 0x58848b, 0x587dee, 0x5872f9, 0x587286, 0x5872ca, 0x587bc0, 0x587bef, 0x587c1e, 0x587c4d, 0x587c8d, 0x587ccd, 0x587d0d, 0x587d4d, 0x586f25, 0x586f65, 0x586fa5, 0x586fd4, 0x587014, 0x587054, 0x587093, 0x5870d2, 0x58764d, 0x58768a, 0x586e8e, 0x586ed5, 0x5866e1, 0x5867f5, 0x586a99, 0x5868e5, 0x58697f, 0x5873b8, 0x5889f2, 0x588768, 0x587768, 0x5880f4, 0x588139, 0x5866e1, 0x5866e1, 0x588191, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5881dc <repeats 64 times>}
        count = 8
        stack = {
          pc = 0xa7b994 "\202\070", 
          byte_string = 9785465, 
          byte_string_start = 0xa7b961 "\304\b!\211@\262\001\305\306 \031\032\033\t\203)", 
          next = 0x7fffa40ce0f0
        }
        result = 4611686018679046144
        type = CATCHER
#8  0x000000000055103f in funcall_lambda (fun=9785413, nargs=<optimized out>, arg_vector=0x7fffa40cdeb8) at eval.c:3049
        val = <optimized out>
        syms_left = 12059762
        next = 12059762
        lexenv = 12059762
        i = <optimized out>
        optional = <optimized out>
        rest = <optimized out>
#9  0x0000000000551364 in Ffuncall (nargs=<optimized out>, args=0x7fffa40cdeb0) at eval.c:2876
        fun = <optimized out>
        original_fun = 12419650
        funcar = 4611686018679046144
        numargs = <optimized out>
        val = <optimized out>
        internal_args = <optimized out>
        i = <optimized out>
#10 0x000000000054d885 in Fcall_interactively (function=12419650, record_flag=12059762, keys=40388517) at callint.c:836
        val = <optimized out>
        args = 0x7fffa40cdeb0
        visargs = 0x7fffa40cde90
        specs = <optimized out>
        filter_specs = <optimized out>
        teml = <optimized out>
        up_event = 12059762
        enable = 140735945694832
        next_event = <optimized out>
        prefix_arg = 12059762
        string = <optimized out>
        tem = <optimized out>
        varies = 0x7fffa40cde70 ""
        i = <optimized out>
        nargs = <optimized out>
        mark = <optimized out>
        arg_from_tty = <optimized out>
        key_count = 1
        record_then_fail = false
        save_this_command = 12059762
        save_last_command = 12102322
        save_this_original_command = 12059762
        save_real_this_command = 12059762
#11 0x000000000055156d in Ffuncall (nargs=<optimized out>, args=0x7fffa40ce088) at eval.c:2822
        fun = 11474597
        original_fun = <optimized out>
        funcar = 4611686018679046144
        numargs = <optimized out>
        val = <optimized out>
        internal_args = 0x7fffa40ce090
        i = <optimized out>
#12 0x000000000058664d in exec_byte_code (bytestr=4611686018679046144, vector=11995040, maxdepth=4611686019484352512, args_template=108, nargs=4, args=0x7fffa40ce1d8) at bytecode.c:916
        targets = {0x5866e1, 0x586f0b, 0x586f10, 0x586f15, 0x5864c2, 0x5864c8, 0x588019, 0x588062, 0x5880ea, 0x5880ef, 0x5880bb, 0x5880c0, 0x586505, 0x586508, 0x586bb0, 0x5880c5, 0x586d3b, 0x586d40, 0x586dc1, 0x586dc6, 0x586574, 0x586578, 0x586d6a, 0x586d45, 0x586df0, 0x586df5, 0x586dfa, 0x586e05, 0x5865e9, 0x5865f0, 0x586dad, 0x586dcb, 0x586e4e, 0x586e53, 0x586e58, 0x586e65, 0x58662f, 0x586630, 0x586e15, 0x586e29, 0x586751, 0x586756, 0x58675b, 0x586e89, 0x586670, 0x586670, 0x586e75, 0x58672c, 0x5883c8, 0x5883bd, 0x58828a, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x587e4f, 0x587eeb, 0x587f26, 0x587f61, 0x587f9c, 0x586c7b, 0x586cbd, 0x587fe4, 0x586c3d, 0x586cfd, 0x5889b2, 0x588874, 0x5888a3, 0x588af5, 0x588b32, 0x588a42, 0x588a71, 0x588ab1, 0x58854f, 0x58857e, 0x5885ad, 0x5885ed, 0x58862d, 0x58866d, 0x5886b1, 0x5886ee, 0x58872b, 0x5887b8, 0x5887f8, 0x588834, 0x58896d, 0x5888e3, 0x588928, 0x5874a2, 0x5874e7, 0x587524, 0x587559, 0x587596, 0x5875d3, 0x587610, 0x5876ca, 0x5866b3, 0x587708, 0x587737, 0x5877b8, 0x5877f6, 0x587834, 0x587863, 0x587898, 0x5878c9, 0x5878fe, 0x5866e1, 0x587934, 0x587969, 0x58799e, 0x5879d3, 0x587a08, 0x587a3d, 0x5866b3, 0x5866e1, 0x587a6c, 0x587ab3, 0x587ae2, 0x587b11, 0x587b51, 0x587b91, 0x58710f, 0x5871e2, 0x587d6e, 0x587dae, 0x587222, 0x587257, 0x5866e1, 0x5884fb, 0x586765, 0x586bc4, 0x5869e5, 0x586872, 0x586b03, 0x58744d, 0x5884da, 0x586d7e, 0x58738a, 0x587325, 0x588217, 0x588245, 0x5883f6, 0x588447, 0x58848b, 0x587dee, 0x5872f9, 0x587286, 0x5872ca, 0x587bc0, 0x587bef, 0x587c1e, 0x587c4d, 0x587c8d, 0x587ccd, 0x587d0d, 0x587d4d, 0x586f25, 0x586f65, 0x586fa5, 0x586fd4, 0x587014, 0x587054, 0x587093, 0x5870d2, 0x58764d, 0x58768a, 0x586e8e, 0x586ed5, 0x5866e1, 0x5867f5, 0x586a99, 0x5868e5, 0x58697f, 0x5873b8, 0x5889f2, 0x588768, 0x587768, 0x5880f4, 0x588139, 0x5866e1, 0x5866e1, 0x588191, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5866e1, 0x5881dc <repeats 64 times>}
        count = 3
        stack = {
          pc = 0xa9b4fa "\006\006\071\203\233", 
          byte_string = 9530937, 
          byte_string_start = 0xa9b486 "\306\020\211?\205\f", 
          next = 0x0
        }
        result = 4611686018679046144
        type = 2752307672
#13 0x0000000000551364 in Ffuncall (nargs=<optimized out>, args=0x7fffa40ce1d0) at eval.c:2876
        fun = <optimized out>
        original_fun = 12103650
        funcar = 4611686018679046144
        numargs = <optimized out>
        val = <optimized out>
        internal_args = <optimized out>
        i = <optimized out>
#14 0x0000000000551759 in call4 (fn=<optimized out>, arg1=<optimized out>, arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at eval.c:2663
        ret_ungc_val = 4611686018679046144
        args = {12103650, 12419650, 12059762, 40388517, 12059810}
#15 0x00000000004e8dee in read_char (commandflag=1, map=60420038, prev_event=12059762, used_mouse_menu=0x7fffa40ce5bf, end_time=0x0) at keyboard.c:2944
        prev_buffer = 0xb86d50
        c = 62612038
        local_getcjmp = {{
            __jmpbuf = {12059762, -3514578156732679419, 12059762, 62613222, 12059762, 0, 3514766505763142405, -3514570196288668923}, 
            __mask_was_saved = 0, 
            __saved_mask = {
              __val = {0 <repeats 11 times>, 12086608, 5537799, 20129915, 0, 0}
            }
          }}
        save_jump = {{
            __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, 
            __mask_was_saved = 0, 
            __saved_mask = {
              __val = {0 <repeats 16 times>}
            }
          }}
        tem = 12419650
        save = <optimized out>
        previous_echo_area_message = 12059762
        also_record = 12059762
        reread = false
        polling_stopped_here = false
        orig_kboard = 0x4322770
#16 0x00000000004ea9e4 in read_key_sequence (keybuf=0x7fffa40ce610, prompt=12059762, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, bufsize=30) at keyboard.c:9087
        interrupted_kboard = 0x4322770
        interrupted_frame = 0x45a6f08
        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 = 60420038
        first_event = 12059762
        first_unbound = 31
        mock_input = 0
        fkey = {
          parent = 69278518, 
          map = 69278518, 
          start = 0, 
          end = 0
        }
        keytran = {
          parent = 12039750, 
          map = 12039750, 
          start = 0, 
          end = 0
        }
        indec = {
          parent = 69278534, 
          map = 69278534, 
          start = 0, 
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = 12059762
        original_uppercase = 0
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0xb86d50
        fake_prefixed_keys = 12059762
#17 0x00000000004ebc1a in command_loop_1 () at keyboard.c:1452
        cmd = <optimized out>
        keybuf = {12107250, 5576045, 4294967296, 12059762, 0, 140735945696936, 3, 140735945696936, 16392194, -6727987734337709568, 4611686018595160064, 59337078, 12243042, 12059762, 4294967295, 140735945697696, 140735945697008, 5576580, 12107250, 59337078, 8613697, 12243042, 140735945697008, 5123245, 12107298, 59337078, 12059762, 5123575, 12059648, 16143360}
        i = <optimized out>
        prev_modiff = 0
        prev_buffer = 0x0
#18 0x000000000054f942 in internal_condition_case (bfun=0x4eba40 <command_loop_1>, handlers=<optimized out>, hfun=0x4e2ce0 <cmd_error>) at eval.c:1354
        val = <optimized out>
        c = 0x400000000effffc0
#19 0x00000000004e057e in command_loop_2 (ignore=<optimized out>) at keyboard.c:1177
        val = 4611686018679046144
#20 0x000000000054f848 in internal_catch (tag=<error reading variable: Cannot access memory at address 0x400000000effffc8>, func=0x4e0560 <command_loop_2>, arg=12059762) at eval.c:1118
        val = <optimized out>
        c = 0x400000000effffc0
#21 0x00000000004e28c7 in command_loop () at keyboard.c:1156
No locals.
#22 recursive_edit_1 () at keyboard.c:777
        val = 2
#23 0x00000000004e2bed in Frecursive_edit () at keyboard.c:848
        buffer = <optimized out>
#24 0x0000000000411775 in main (argc=2, 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 = 0xb80472 ""
You can't do that without a process to debug.
(gdb)

(gdb) fr 2
#2  font_clear_cache (cache=69278262, driver=<optimized out>, f=<optimized out>) at font.c:2604
2604		      if (FONT_ENTITY_P (entity)
(gdb) list
2599		  eassert (VECTORP (elt));
2600		  for (i = 0; i < ASIZE (elt); i++)
2601		    {
2602		      entity = AREF (elt, i);
2603	
2604		      if (FONT_ENTITY_P (entity)
2605			  && EQ (driver->type, AREF (entity, FONT_TYPE_INDEX)))
2606			{
2607			  Lisp_Object objlist = AREF (entity, FONT_OBJLIST_INDEX);
2608	
(gdb) p entity
$1 = 122485729734501
(gdb) p/x entity
$2 = 0x6f666e692f65
(gdb) p elt
$3 = <optimized out>
(gdb) p i 
$6 = <optimized out>
(gdb) 

I'm rebuilding with --enable-checking to look a little closer.

In GNU Emacs 24.3.91.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2014-05-29 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.91.precise
 --with-x-toolkit=lucid'

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:
<down-mouse-1> <mouse-1> <escape> x e m a c s - b u 
<tab> <escape> <backspace> <escape> <backspace> r e 
p o r t <tab> <return>

Recent messages:
Indentation variables are now local.
Indentation setup for shell type sh
Note: file is write protected [5 times]
Setting up indent for shell type bash
Indentation variables are now local.
Indentation setup for shell type bash
Wrote /permabit/user/raeburn/.emacs.d/.emacs.desktop.lock.just-testing.permabit.com
Desktop: 1 frame, 252 buffers restored.
Starting Emacs daemon.
When done with this frame, type C-x 5 0

Load-path shadows:
~/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.91.precise/share/emacs/24.3.91/lisp/loaddefs

Features:
(shadow sort mail-extr gnus-msg emacsbug sendmail mule-util make-mode
sh-script smie executable systemtap-mode cc-awk nroff-mode flyspell
ispell git-commit-mode server log-edit easy-mmode pcvs-util add-log
objdump autorevert filenotify rcirc vc-git hideshow cc-langs cc-mode
cc-fonts cc-guess cc-menus cc-cmds 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 595122 57649)
 (symbols 48 43738 0)
 (miscs 40 90119 5085)
 (strings 32 82057 9920)
 (string-bytes 1 2619894)
 (vectors 16 33642)
 (vector-slots 8 882063 10737)
 (floats 8 312 523)
 (intervals 56 23058 137)
 (buffers 960 266)
 (heap 1024 54013 1272))