From: Miles Bader <miles@lsi.nec.co.jp>
Subject: gdb-ui / fring coredump question
Date: Tue, 01 Feb 2005 13:22:22 +0900 [thread overview]
Message-ID: <buo4qgw9af5.fsf@mctpc71.ucom.lsi.nec.co.jp> (raw)
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.
next reply other threads:[~2005-02-01 4:22 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-01 4:22 Miles Bader [this message]
2005-02-01 6:58 ` gdb-ui / fring coredump question Miles Bader
2005-02-01 8:56 ` Kim F. Storm
2005-02-02 6:20 ` Miles Bader
2005-02-01 19:48 ` Nick Roberts
2005-02-01 20:08 ` Nick Roberts
2005-02-02 6:28 ` Miles Bader
2005-02-02 8:09 ` Nick Roberts
2005-02-02 13:18 ` Robert J. Chassell
2005-02-02 21:31 ` Nick Roberts
2005-02-02 23:00 ` Kim F. Storm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=buo4qgw9af5.fsf@mctpc71.ucom.lsi.nec.co.jp \
--to=miles@lsi.nec.co.jp \
--cc=miles@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).