emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gdb-ui / fring coredump question


From: Miles Bader
Subject: gdb-ui / fring coredump question
Date: Tue, 01 Feb 2005 13:22:22 +0900

I'm getting a coredump if I use gdb-ui inside of emacs, as soon as I set
a breakpoint; the basic problem seems to be that in displaying the
stop-sign icon in the fringe, it's trying to push more than 2 elements on
the iterator stack (the max iterator stack-size is two).

I wanted to see if I could debug it in standard CVS emacs, since I have
a lot of my own display hacks, but discovered something funny:  if I use
gdb-ui in standard CVS emacs, it uses the display "margin" to display
the stop-sign icon instead of using the fringe, whereas in my personal
emacs it uses the fringe!  Is this correct?  How does gdb-ui determine
which display mechanism (margin for stop-sign and fringe for arrow, or
fringe for both) to use?  [I looked briefly at the lisp code, and saw no
obvious reason for this behavior.]

Unfortunately, the combined stop/arrow in the fringe seems to be a
necessary ingredient in the crash.  Oh, and also I suppose xassert is
disabled by default (whereas my emacs doesn't); hmmm, maybe I'll have to
enable that in CVS and try again.

Also, anyone know offhand if recent display changes could have caused the
max iterator stack-size to increase past two?  [Otherwise it must be
missing a pop somewhere]

Thanks,

-Miles

Stack backtrace follows.  The line numbers are off from CVS, but the
place it's dying seems to be the following xassert in xdsip.c:

        push_it (it)
             struct it *it;
        {
          struct iterator_stack_entry *p;
        
          xassert (it->sp < 2);
          p = it->stack + it->sp;

#0  abort () at /usr/local/src/emacs/miles/src/emacs.c:454
#1  0x0809a325 in push_it (it=0xbfffcd30)
    at /usr/local/src/emacs/miles/src/xdisp.c:4536
#2  0x08098b61 in handle_single_display_spec (it=0xbfffcd30, spec=142897157, 
    object=143344835, position=0xbfffcddc, display_replaced_before_p=0)
    at /usr/local/src/emacs/miles/src/xdisp.c:3748
#3  0x08098472 in handle_display_prop (it=0xbfffcd30)
    at /usr/local/src/emacs/miles/src/xdisp.c:3474
#4  0x0809a7d5 in back_to_previous_visible_line_start (it=0xbfffd570)
    at /usr/local/src/emacs/miles/src/xdisp.c:4723
#5  0x0809ca4c in move_it_vertically_backward (it=0xbfffd570, dy=111)
    at /usr/local/src/emacs/miles/src/xdisp.c:6270
#6  0x080a5ab3 in redisplay_window (window=143124060, just_this_one_p=0)
    at /usr/local/src/emacs/miles/src/xdisp.c:12253
#7  0x080a3673 in redisplay_window_0 (window=-1073754832)
    at /usr/local/src/emacs/miles/src/xdisp.c:10835
#8  0x081853b4 in internal_condition_case_1 (
    bfun=0x80a3640 <redisplay_window_0>, arg=143124060, handlers=137648461, 
    hfun=0x80a3620 <redisplay_window_error>)
    at /usr/local/src/emacs/miles/src/eval.c:1500
#9  0x080a361b in redisplay_windows (window=480)
    at /usr/local/src/emacs/miles/src/xdisp.c:10814
#10 0x080a35d4 in redisplay_windows (window=480)
    at /usr/local/src/emacs/miles/src/xdisp.c:10808
#11 0x080a2925 in redisplay_internal (preserve_echo_area=1)
    at /usr/local/src/emacs/miles/src/xdisp.c:10396
#12 0x080a322c in redisplay_preserve_echo_area (from_where=-1073754832)
    at /usr/local/src/emacs/miles/src/xdisp.c:10625
#13 0x081b8084 in wait_reading_process_output (time_limit=30, microsecs=0, 
    read_kbd=-1, do_display=1, wait_for_cell=137621521, wait_proc=0x0, 
    just_wait_proc=0) at /usr/local/src/emacs/miles/src/process.c:4561
#14 0x0808bcc7 in sit_for (sec=30, usec=0, reading=1, display=1, 
    initial_display=0) at /usr/local/src/emacs/miles/src/dispnew.c:6371
#15 0x08126aa6 in read_char (commandflag=1, nmaps=3, maps=0xbfffe55c, 
    prev_event=137621521, used_mouse_menu=0xbfffe598)
    at /usr/local/src/emacs/miles/src/keyboard.c:2765
#16 0x0812d534 in read_key_sequence (keybuf=0xbfffe6c0, bufsize=30, 
    prompt=137621521, dont_downcase_last=0, can_return_switch_frame=1, 
    fix_current_buffer=1) at /usr/local/src/emacs/miles/src/keyboard.c:8799
#17 0x08123ce3 in command_loop_1 ()
    at /usr/local/src/emacs/miles/src/keyboard.c:1534
#18 0x081852ae in internal_condition_case (bfun=0x8123b50 <command_loop_1>, 
    handlers=137682609, hfun=0x8123640 <cmd_error>)
    at /usr/local/src/emacs/miles/src/eval.c:1459
#19 0x0812399e in command_loop_2 ()
    at /usr/local/src/emacs/miles/src/keyboard.c:1315
#20 0x08184deb in internal_catch (tag=-1073754832, 
    func=0x8123970 <command_loop_2>, arg=137621521)
    at /usr/local/src/emacs/miles/src/eval.c:1218
#21 0x08123943 in command_loop ()
    at /usr/local/src/emacs/miles/src/keyboard.c:1294
#22 0x081233a4 in recursive_edit_1 ()
    at /usr/local/src/emacs/miles/src/keyboard.c:987
#23 0x081234e1 in Frecursive_edit ()
    at /usr/local/src/emacs/miles/src/keyboard.c:1048
#24 0x08121a4d in main (argc=3, argv=0xbfffed74)
    at /usr/local/src/emacs/miles/src/emacs.c:1763


-- 
Quidquid latine dictum sit, altum viditur.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]