Subject: bug#19322: 25.0.50; 1.6Mb one line file chocks Emacs

From: Vitalie Spinu <[email-masked]>
Date: Tue, 09 Dec 2014 15:58:36 -0800

Hi Eli,

I have 16GB of RAM and 10GB of Swap. When emacs is stuck it blink
periodically about every 2 seconds as if throwing an error and system
RAM usage goes up and down by about 6GB or so with the same periodicity.

With "--enable-checking 'CFLAGS=-O0 -g3' CPPFLAGS=-DGLYPH_DEBUG=1", the
backtrace is:
   
   (gdb) break memory_full
   Breakpoint 1 at 0x60dc1d: file alloc.c, line 3784.
   (gdb) run
   Starting program: /home/vitoshka/bin/emacs/src/emacs
   [Thread debugging using libthread_db enabled]
   Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
   [New Thread 0x7fffe8d65700 (LWP 6289)]
   
   ** (emacs:6285): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-wgMsBj3J4m: Connection refused
   [New Thread 0x7fffe3dc3700 (LWP 6290)]
   [New Thread 0x7fffe3068700 (LWP 6293)]
   
   Breakpoint 1, memory_full (nbytes=14854559328) at alloc.c:3784
   3784      bool enough_free_memory = 0;
   (gdb)
   (gdb) backtrace
   #0  memory_full (nbytes=14854559328) at alloc.c:3784
   #1  0x00000000006099ce in xrealloc (block=0x7ffba0368010, size=14854559328) at alloc.c:776
   #2  0x0000000000609c61 in xpalloc (pa=0x7ffba0368010, nitems=0xd357a8, nitems_incr_min=200, nitems_max=1238368963057837, item_size=7448) at alloc.c:882
   #3  0x0000000000515e41 in bidi_cache_ensure_space (idx=1329624) at bidi.c:743
   #4  0x0000000000515ec6 in bidi_cache_iterator_state (bidi_it=0x7fffffff3cd8, resolved=false, update_only=false) at bidi.c:766
   #5  0x000000000051a37c in bidi_find_bracket_pairs (bidi_it=0x7fffffff3cd8) at bidi.c:2480
   #6  0x000000000051afbe in bidi_resolve_brackets (bidi_it=0x7fffffff3cd8) at bidi.c:2719
   #7  0x000000000051b38f in bidi_resolve_neutral (bidi_it=0x7fffffff3cd8) at bidi.c:2820
   #8  0x000000000051bb39 in bidi_type_of_next_char (bidi_it=0x7fffffff3cd8) at bidi.c:3024
   #9  0x000000000051bda9 in bidi_level_of_next_char (bidi_it=0x7fffffff3cd8) at bidi.c:3091
   #10 0x000000000051c3cc in bidi_move_to_visually_next (bidi_it=0x7fffffff3cd8) at bidi.c:3258
   #11 0x0000000000456644 in get_visually_first_element (it=0x7fffffff3340) at xdisp.c:7805
   #12 0x0000000000457aab in next_element_from_buffer (it=0x7fffffff3340) at xdisp.c:8248
   #13 0x0000000000453cf0 in get_next_display_element (it=0x7fffffff3340) at xdisp.c:6934
   #14 0x00000000004836a0 in display_line (it=0x7fffffff3340) at xdisp.c:20257
   #15 0x00000000004754a5 in try_window (window=20399237, pos=..., flags=1) at xdisp.c:17031
   #16 0x0000000000471a67 in redisplay_window (window=20399237, just_this_one_p=false) at xdisp.c:16504
   #17 0x000000000046887d in redisplay_window_0 (window=20399237) at xdisp.c:14329
   #18 0x00000000006345d3 in internal_condition_case_1 (bfun=0x46883b <redisplay_window_0>, arg=20399237, handlers=14393142, hfun=0x46880a <redisplay_window_error>) at eval.c:1369
   #19 0x00000000004687eb in redisplay_windows (window=20399237) at xdisp.c:14309
   #20 0x000000000046754f in redisplay_internal () at xdisp.c:13905
   #21 0x0000000000464fc9 in redisplay () at xdisp.c:13185
   #22 0x000000000058d84e in read_char (commandflag=1, map=61337350, prev_event=14421890, used_mouse_menu=0x7fffffffd4c9, end_time=0x0) at keyboard.c:2593
   #23 0x000000000059dd52 in read_key_sequence (keybuf=0x7fffffffd6b0, bufsize=30, prompt=14421890, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true,
       prevent_redisplay=false) at keyboard.c:9206
   #24 0x000000000058a76f in command_loop_1 () at keyboard.c:1462
   #25 0x000000000063445f in internal_condition_case (bfun=0x58a35e <command_loop_1>, handlers=14473826, hfun=0x589a85 <cmd_error>) at eval.c:1345
   #26 0x0000000000589fde in command_loop_2 (ignore=14421890) at keyboard.c:1197
   #27 0x000000000063388a in internal_catch (tag=14469458, func=0x589fb8 <command_loop_2>, arg=14421890) at eval.c:1106
   #28 0x0000000000589f8c in command_loop () at keyboard.c:1176
   #29 0x000000000058958d in recursive_edit_1 () at keyboard.c:786
   #30 0x0000000000589775 in Frecursive_edit () at keyboard.c:857
   #31 0x000000000058738a in main (argc=1, argv=0x7fffffffdac8) at emacs.c:1623

Hope it's helpful, 

  Vitalie