Package: emacs;
Reported by: Stephen Berman <stephen.berman <at> gmx.net>
Date: Thu, 4 Sep 2008 22:40:05 UTC
Severity: normal
Done: Chong Yidong <cyd <at> stupidchicken.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Stephen Berman <stephen.berman <at> gmx.net> To: emacs-pretest-bug <at> gnu.org Subject: bug#891: 23.0.60; Emacs aborts after buffer-swap-text Date: Fri, 05 Sep 2008 00:33:41 +0200
Please write in English if possible, because the Emacs maintainers usually do not have translators to read other languages for them. Your bug report will be posted to the emacs-pretest-bug <at> gnu.org mailing list. Please describe exactly what actions triggered the bug and the precise symptoms of the bug: 1. emacs -Q 2. Load the library tabbar.el, available from http://emhacks.cvs.sourceforge.net/emhacks/emhacks/tabbar.el?revision=1.69&view=markup 3. M-x tabbar-mode 4. M-: (buffer-swap-text (get-buffer "*Messages*")) 5. C-c C-right (tabbar-forward) ==> Emacs aborts The full backtrace is below. According to the Lisp backtrace, the abort occurs during or after switch-to-buffer. Yet typing C-x b after step 4 above does not make Emacs abort. Moreover, when I directly call any of the tabbar.el functions listed in the backtrace and step through them with edebug, this also fails to make Emacs abort. Yet the above recipe is reliably reproducible. (Since the abort occurs in unshow_buffer, my guess, based on a comment at line 8314 of xdisp.c, is that switch-to-buffer needs to have something like the code in with_echo_area_buffer that changes w->pointm. I guess this would go after the call to Fset_buffer in switch-to-buffer, but I don't know how to write the code.) (gdb) r -Q -fn "Dejavu Sans Mono-10" `/Users/steve/lib/emacs-cvs-gtk/src/emacs' has changed; re-reading symbols. Breakpoint 1 at 0x8116c06: file /home/steve/cvsroot/emacs/src/emacs.c, line 417. Breakpoint 2 at 0x8130f89: file /Users/steve/cvsroot/emacs/src/sysdep.c, line 1135. Starting program: /Users/steve/lib/emacs-cvs-gtk/src/emacs -Q -fn "Dejavu Sans Mono-10" Breakpoint 1, abort () at /home/steve/cvsroot/emacs/src/emacs.c:417 417 kill (getpid (), SIGABRT); (gdb) bt full #0 abort () at /home/steve/cvsroot/emacs/src/emacs.c:417 No locals. #1 0x08096ebb in unshow_buffer (w=0x8c5a3b0) at /home/steve/cvsroot/emacs/src/window.c:1392 buf = 139270356 #2 0x0809a158 in Fset_window_buffer (window=147170228, buffer=141881804, keep_margins=137857225) at /home/steve/cvsroot/emacs/src/window.c:3497 tem = <value optimized out> w = (struct window *) 0x8c5a3b0 #3 0x08139c9b in switch_to_buffer_1 (buffer=141881804, norecord=137857225) at /home/steve/cvsroot/emacs/src/buffer.c:1766 buf = 141881804 #4 0x081802c1 in Feval (form=147885501) at /Users/steve/cvsroot/emacs/src/eval.c:2378 numargs = <value optimized out> argvals = {141881804, 137857225, 0, 148096029, -1080555584, -1080555720, -1080555776, 2} args_left = 137857225 i = 2 fun = <value optimized out> val = <value optimized out> original_fun = 138019601 original_args = 147885469 funcar = <value optimized out> backtrace = { next = 0xbf9807c0, function = 0xbf980748, args = 0xbf980710, nargs = 1, evalargs = 1 '\001', debug_on_exit = 0 '\0' } #5 0x0818056f in Fprogn (args=137857273) at /Users/steve/cvsroot/emacs/src/eval.c:449 val = 137857225 #6 0x08180383 in Feval (form=147886349) at /Users/steve/cvsroot/emacs/src/eval.c:2322 numargs = 137857273 argvals = {148096829, 148320841, -1080555480, 135790656, -1080555456, -1080555576, -1080555680, 2} args_left = 147885965 ---Type <return> to continue, or q <return> to quit--- i = <value optimized out> fun = <value optimized out> val = <value optimized out> original_fun = 137996201 original_args = 147885965 funcar = <value optimized out> backtrace = { next = 0xbf9808a0, function = 0xbf9807d8, args = 0xbf9807d4, nargs = -1, evalargs = 0 '\0', debug_on_exit = 0 '\0' } #7 0x0818056f in Fprogn (args=137857273) at /Users/steve/cvsroot/emacs/src/eval.c:449 val = 137857225 #8 0x08182a8f in Flet (args=147886389) at /Users/steve/cvsroot/emacs/src/eval.c:1089 tem = 141881804 elt = <value optimized out> varlist = <value optimized out> #9 0x08180383 in Feval (form=147887125) at /Users/steve/cvsroot/emacs/src/eval.c:2322 numargs = 137857273 argvals = {208, 148290853, -1080555424, -1080555312, 148246920, 13, 142318232, 5} args_left = 147886389 i = <value optimized out> fun = <value optimized out> val = <value optimized out> original_fun = 137998577 original_args = 147886389 funcar = <value optimized out> backtrace = { next = 0xbf980968, function = 0xbf9808b8, args = 0xbf9808b4, nargs = -1, evalargs = 0 '\0', debug_on_exit = 0 '\0' ---Type <return> to continue, or q <return> to quit--- } #10 0x0818056f in Fprogn (args=137857273) at /Users/steve/cvsroot/emacs/src/eval.c:449 val = 137857225 #11 0x08180804 in funcall_lambda (fun=147884632, nargs=2, arg_vector=0xbf9809b4) at /Users/steve/cvsroot/emacs/src/eval.c:3224 val = <value optimized out> syms_left = 137857225 next = <value optimized out> i = 2 optional = 0 rest = 0 #12 0x08180b3f in Ffuncall (nargs=3, args=0xbf9809b0) at /Users/steve/cvsroot/emacs/src/eval.c:3101 fun = 147884637 original_fun = 142818729 funcar = <value optimized out> numargs = 2 val = <value optimized out> backtrace = { next = 0xbf980a00, function = 0xbf9809b0, args = 0xbf9809b4, nargs = 2, evalargs = 0 '\0', debug_on_exit = 0 '\0' } internal_args = (Lisp_Object *) 0xbf9809b4 i = <value optimized out> #13 0x08180370 in Feval (form=148243701) at /Users/steve/cvsroot/emacs/src/eval.c:2348 numargs = <value optimized out> argvals = {224, 148096029, 15, 136329824, 136329832, 14, 142318232, 148135861} args_left = 137857225 i = <value optimized out> fun = <value optimized out> val = <value optimized out> original_fun = 137998889 original_args = 148243709 funcar = <value optimized out> ---Type <return> to continue, or q <return> to quit--- backtrace = { next = 0xbf980a90, function = 0xbf980a18, args = 0xbf9809b0, nargs = 3, evalargs = 1 '\001', debug_on_exit = 0 '\0' } #14 0x0818056f in Fprogn (args=137857273) at /Users/steve/cvsroot/emacs/src/eval.c:449 val = 137857225 #15 0x08180383 in Feval (form=148290925) at /Users/steve/cvsroot/emacs/src/eval.c:2322 numargs = 137857273 argvals = {136329944, 148135861, 137998601, 148134112, 137499040, 0, -1080554944, 136329923} args_left = 148290933 i = <value optimized out> fun = <value optimized out> val = <value optimized out> original_fun = 137996225 original_args = 148290933 funcar = <value optimized out> backtrace = { next = 0xbf980b10, function = 0xbf980aa8, args = 0xbf980aa4, nargs = -1, evalargs = 0 '\0', debug_on_exit = 0 '\0' } #16 0x08180383 in Feval (form=148290901) at /Users/steve/cvsroot/emacs/src/eval.c:2322 numargs = 137857273 argvals = {136329756, 142824729, 148243701, 148243757, 148243693, 148096445, 138010225, 148096480} args_left = 148290909 i = <value optimized out> fun = <value optimized out> val = <value optimized out> original_fun = 137996177 ---Type <return> to continue, or q <return> to quit--- original_args = 148290909 funcar = <value optimized out> backtrace = { next = 0xbf980b90, function = 0xbf980b28, args = 0xbf980b24, nargs = -1, evalargs = 0 '\0', debug_on_exit = 0 '\0' } #17 0x08180130 in Feval (form=148243685) at /Users/steve/cvsroot/emacs/src/eval.c:2433 numargs = <value optimized out> argvals = {137857225, 137969097, 5, 148300117, 148300269, 138229905, -1080554488, 135790656} args_left = <value optimized out> i = <value optimized out> fun = <value optimized out> val = <value optimized out> original_fun = 138020321 original_args = 148243693 funcar = <value optimized out> backtrace = { next = 0xbf980cb0, function = 0xbf980ba8, args = 0xbf980ba4, nargs = -1, evalargs = 1 '\001', debug_on_exit = 0 '\0' } #18 0x0818056f in Fprogn (args=137857273) at /Users/steve/cvsroot/emacs/src/eval.c:449 val = 137857225 #19 0x08180804 in funcall_lambda (fun=148243888, nargs=2, arg_vector=0xbf980c20) at /Users/steve/cvsroot/emacs/src/eval.c:3224 val = <value optimized out> syms_left = 137857225 next = <value optimized out> i = 2 optional = 1 rest = 0 ---Type <return> to continue, or q <return> to quit--- #20 0x08180920 in apply_lambda (fun=148243893, args=148300445, eval_flag=1) at /Users/steve/cvsroot/emacs/src/eval.c:3155 args_left = 137857225 arg_vector = (Lisp_Object *) 0x83788c9 i = 2 tem = 137857225 #21 0x0817ffd4 in Feval (form=148300437) at /Users/steve/cvsroot/emacs/src/eval.c:2435 fun = 137857225 val = <value optimized out> original_fun = 142868745 original_args = 148300445 funcar = 137857273 backtrace = { next = 0xbf980d40, function = 0xbf980cc8, args = 0xbf980c20, nargs = 2, evalargs = 0 '\0', debug_on_exit = 0 '\0' } #22 0x0818056f in Fprogn (args=137857273) at /Users/steve/cvsroot/emacs/src/eval.c:449 val = 137857225 #23 0x08180383 in Feval (form=148291021) at /Users/steve/cvsroot/emacs/src/eval.c:2322 numargs = 137857273 argvals = {139575457, 148291101, -1080554072, 135790656, -1080554048, -1080554168, 136329752, 2} args_left = 148291029 i = <value optimized out> fun = <value optimized out> val = <value optimized out> original_fun = 137996225 original_args = 148291029 funcar = <value optimized out> backtrace = { next = 0xbf980dc0, function = 0xbf980d58, args = 0xbf980d54, nargs = -1, ---Type <return> to continue, or q <return> to quit--- evalargs = 0 '\0', debug_on_exit = 0 '\0' } #24 0x08180383 in Feval (form=148290997) at /Users/steve/cvsroot/emacs/src/eval.c:2322 numargs = 137857273 argvals = {148300437, 136329756, -1080554024, 135799515, 148301381, -1080554032, -1080553992, 135792928} args_left = 148291005 i = <value optimized out> fun = <value optimized out> val = <value optimized out> original_fun = 137996177 original_args = 148291005 funcar = <value optimized out> backtrace = { next = 0xbf980e40, function = 0xbf980dd8, args = 0xbf980dd4, nargs = -1, evalargs = 0 '\0', debug_on_exit = 0 '\0' } #25 0x08180130 in Feval (form=148301373) at /Users/steve/cvsroot/emacs/src/eval.c:2433 numargs = <value optimized out> argvals = {137897993, 137900042, 3, 139270352, -1080553884, 2, 137857249, 137897992} args_left = <value optimized out> i = <value optimized out> fun = <value optimized out> val = <value optimized out> original_fun = 138020321 original_args = 148301381 funcar = <value optimized out> backtrace = { next = 0xbf980f00, function = 0xbf980e58, args = 0xbf980e54, nargs = -1, evalargs = 1 '\001', ---Type <return> to continue, or q <return> to quit--- debug_on_exit = 0 '\0' } #26 0x0818056f in Fprogn (args=137857273) at /Users/steve/cvsroot/emacs/src/eval.c:449 val = 137857225 #27 0x08182c25 in FletX (args=148301365) at /Users/steve/cvsroot/emacs/src/eval.c:1033 varlist = 137857225 val = 137857225 elt = 137969097 #28 0x08180383 in Feval (form=148301085) at /Users/steve/cvsroot/emacs/src/eval.c:2322 numargs = 137857273 argvals = {137012732, 4, 142318232, 4, 0, 0, 0, -1080553696} args_left = 148301365 i = <value optimized out> fun = <value optimized out> val = <value optimized out> original_fun = 137998601 original_args = 148301365 funcar = <value optimized out> backtrace = { next = 0xbf981010, function = 0xbf980f18, args = 0xbf980f14, nargs = -1, evalargs = 0 '\0', debug_on_exit = 0 '\0' } #29 0x0818056f in Fprogn (args=137857273) at /Users/steve/cvsroot/emacs/src/eval.c:449 val = 137857225 #30 0x08180804 in funcall_lambda (fun=148300480, nargs=0, arg_vector=0xbf980f90) at /Users/steve/cvsroot/emacs/src/eval.c:3224 val = <value optimized out> syms_left = 137857225 next = <value optimized out> i = 0 optional = 1 rest = 0 #31 0x08180920 in apply_lambda (fun=148300485, args=137857225, eval_flag=1) ---Type <return> to continue, or q <return> to quit--- at /Users/steve/cvsroot/emacs/src/eval.c:3155 args_left = 0 arg_vector = (Lisp_Object *) 0x83788c9 i = 0 tem = 137857225 #32 0x0817ffd4 in Feval (form=148300653) at /Users/steve/cvsroot/emacs/src/eval.c:2435 fun = 137857225 val = <value optimized out> original_fun = 142869129 original_args = 137857225 funcar = 137857273 backtrace = { next = 0xbf9810d8, function = 0xbf981028, args = 0xbf980f90, nargs = 0, evalargs = 0 '\0', debug_on_exit = 0 '\0' } #33 0x0818056f in Fprogn (args=137857273) at /Users/steve/cvsroot/emacs/src/eval.c:449 val = 137857225 #34 0x08180804 in funcall_lambda (fun=148300664, nargs=0, arg_vector=0xbf981114) at /Users/steve/cvsroot/emacs/src/eval.c:3224 val = <value optimized out> syms_left = 137857225 next = <value optimized out> i = 0 optional = 0 rest = 138140528 #35 0x08180b3f in Ffuncall (nargs=1, args=0xbf981110) at /Users/steve/cvsroot/emacs/src/eval.c:3101 fun = 148300669 original_fun = 142869249 funcar = <value optimized out> numargs = 0 val = <value optimized out> backtrace = { next = 0xbf981278, function = 0xbf981110, ---Type <return> to continue, or q <return> to quit--- args = 0xbf981114, nargs = 0, evalargs = 0 '\0', debug_on_exit = 0 '\0' } internal_args = (Lisp_Object *) 0xbf981114 i = <value optimized out> #36 0x081824c9 in apply1 (fn=142869249, arg=137857225) at /Users/steve/cvsroot/emacs/src/eval.c:2785 ret_ungc_val = 139270352 #37 0x0817cbb4 in Fcall_interactively (function=142869249, record_flag=137857225, keys=137895660) at /Users/steve/cvsroot/emacs/src/callint.c:389 values = 0 input = <value optimized out> args = <value optimized out> visargs = <value optimized out> specs = 137857225 filter_specs = <value optimized out> teml = <value optimized out> up_event = <value optimized out> enable = 137857225 next_event = <value optimized out> prefix_arg = 137857225 string = <value optimized out> tem = <value optimized out> varies = <value optimized out> i = <value optimized out> j = <value optimized out> foo = <value optimized out> prompt1 = '\0' <repeats 41 times>, " ", '\0' <repeats 57 times> arg_from_tty = <value optimized out> key_count = 2 record_then_fail = <value optimized out> save_this_command = 142869249 save_last_command = 143064897 save_this_original_command = 142869249 save_real_this_command = 142869249 #38 0x08180d89 in Ffuncall (nargs=4, args=0xbf9812b0) at /Users/steve/cvsroot/emacs/src/eval.c:3050 fun = <value optimized out> ---Type <return> to continue, or q <return> to quit--- original_fun = <value optimized out> funcar = <value optimized out> numargs = 3 val = <value optimized out> backtrace = { next = 0x0, function = 0xbf9812b0, args = 0xbf9812b4, nargs = 3, evalargs = 0 '\0', debug_on_exit = 0 '\0' } internal_args = (Lisp_Object *) 0xbf9812b4 i = <value optimized out> #39 0x08180ed9 in call3 (fn=138021481, arg1=142869249, arg2=137857225, arg3=137857225) at /Users/steve/cvsroot/emacs/src/eval.c:2874 ret_ungc_val = 139270352 #40 0x08127d6e in command_loop_1 () at /home/steve/cvsroot/emacs/src/keyboard.c:1879 cmd = <value optimized out> lose = <value optimized out> nonundocount = 0 keybuf = {24, 143064993, 135408094, 141287205, 137857273, -1080552662, 137857225, -1080552624, 137857225, -1080552600, 135408352, 141287205, -1080552662, 0, -1219210608, -1220685348, 0, 0, -1208525780, 0, -1080552632, -1080552784, 0, -1220673536, 137857225, 143204425, 0, 138380480, 138380464, -1080552600} i = <value optimized out> prev_modiff = 5 prev_buffer = (struct buffer *) 0x84d18d0 already_adjusted = 0 #41 0x0817f670 in internal_condition_case (bfun=0x8127a10 <command_loop_1>, handlers=137900465, hfun=0x8122a30 <cmd_error>) at /Users/steve/cvsroot/emacs/src/eval.c:1511 val = <value optimized out> c = { tag = 137857225, val = 137857225, next = 0xbf981490, gcpro = 0x0, jmp = {{ ---Type <return> to continue, or q <return> to quit--- __jmpbuf = {0, 138380480, 138380464, -1080552360, -919785769, -689459784}, __mask_was_saved = 0, __saved_mask = { __val = {1, 3075522548, 1617, 3075522548, 147162920, 147162920, 3214414464, 3214414872, 3214414928, 3086452336, 134545314, 2822930839, 0, 0, 3075473410, 3086398473, 134544643, 3214414864, 3214415152, 4294967295, 3214415000, 135464899, 3214415152, 3214414864, 128, 3074312832, 3075756688, 0, 4294967295, 3086450676, 3086452336, 134523856} } }}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } h = { handler = 137900465, var = 137857225, chosen_clause = 137857273, tag = 0xbf98137c, next = 0x0 } #42 0x08121f83 in command_loop_2 () at /home/steve/cvsroot/emacs/src/keyboard.c:1338 val = 139270352 #43 0x0817f74a in internal_catch (tag=137896441, func=0x8121f60 <command_loop_2>, arg=137857225) at /Users/steve/cvsroot/emacs/src/eval.c:1247 c = { tag = 137896441, val = 137857225, next = 0x0, gcpro = 0x0, jmp = {{ __jmpbuf = {0, 138380480, 138380464, -1080552104, -920465705, -689588808}, ---Type <return> to continue, or q <return> to quit--- __mask_was_saved = 0, __saved_mask = { __val = {0 <repeats 12 times>, 3074707950, 0, 0, 0, 0, 0, 0, 0, 138096610, 138096040, 138096608, 3214415176, 135730245, 138096041, 138096610, 137857225, 137883080, 0, 0, 137857249} } }}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } #44 0x08122897 in command_loop () at /home/steve/cvsroot/emacs/src/keyboard.c:1317 No locals. #45 0x08122bfb in recursive_edit_1 () at /home/steve/cvsroot/emacs/src/keyboard.c:942 val = <value optimized out> #46 0x08122d31 in Frecursive_edit () at /home/steve/cvsroot/emacs/src/keyboard.c:1004 buffer = 137857225 #47 0x081179dc in main (argc=4, argv=0xbf981964) at /home/steve/cvsroot/emacs/src/emacs.c:1693 displayname = 0x0 count_before = <value optimized out> dummy = -1080551208 stack_bottom_variable = 8 '\b' do_initial_setlocale = 1 skip_args = 0 rlim = { rlim_cur = 8388608, rlim_max = 18446744073709551615 } no_loadup = 0 junk = 0x0 Lisp Backtrace: "switch-to-buffer" (0xbf980710) ---Type <return> to continue, or q <return> to quit--- "cond" (0xbf9807d4) "let" (0xbf9808b4) "tabbar-buffer-select-tab" (0xbf9809b4) "funcall" (0xbf9809b0) "progn" (0xbf980aa4) "if" (0xbf980b24) "when" (0xbf980ba4) "tabbar-click-on-tab" (0xbf980c20) "progn" (0xbf980d54) "if" (0xbf980dd4) "when" (0xbf980e54) "let*" (0xbf980f14) "tabbar-cycle" (0xbf980f90) "tabbar-forward" (0xbf981114) "call-interactively" (0xbf9812b4) If Emacs crashed, and you have the Emacs process in the gdb debugger, please include the output from the following gdb commands: `bt full' and `xbacktrace'. If you would like to further debug the crash, please read the file /usr/local/share/emacs/23.0.60/etc/DEBUG for instructions. In GNU Emacs 23.0.60.2 (i686-pc-linux-gnu, GTK+ Version 2.12.0) of 2008-09-04 on escher Windowing system distributor `The X.Org Foundation', version 11.0.70200000 Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=local locale-coding-system: utf-8-unix default-enable-multibyte-characters: t Major mode: Emacs-Lisp Minor modes in effect: eldoc-mode: t shell-dirtrack-mode: t show-paren-mode: t recentf-mode: t diff-auto-refine-mode: t tabbar-mwheel-mode: t tabbar-mode: t display-time-mode: t tooltip-mode: t tool-bar-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t global-auto-composition-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t temp-buffer-resize-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent input: y M-x g u <return> y <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> J j y M-g <return> 2 0 <return> SPC n n SPC n <select-window> <help-echo> <select-window> <help-echo> SPC n u SPC SPC q M-x c v s <tab> e x <tab> <return> <M-backspace> <M-backspace> <M-backspace> <M-backspace> <M-backspace> c v <tab> e m <tab> / <backspace> <return> <down> <up> <up> <down> <down> <down> <down> <down> e C-h e C-c j <return> M-u q M-x s h e <tab> <return> c d SPC . . <return> . . / . . / l i b <tab> <M-backspace> c v <tab> e m <tab> / C-x d SPC <backspace> ~ / c v <tab> e <tab> <return> s <down> <down> <return> <next> <next> <prior> <prior> <f11> <return> <down> <return> <next> <prior> C-x k <return> <f11> <return> C-c j p <return> c o n <tab> u <tab> <return> C-c j i <return> C-x b <return> m a k e <return> C-r e r r o C-g C-r w a r n C-w C-r C-r C-r C-g <down-mouse-1> <mouse-1> C-x d <return> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> i <help-echo> <down-mouse-1> <mouse-1> g g d x y e s <return> <help-echo> C-x C-f ~ / C-g M-x e d <return> s i <tab> t a b b <tab> <return> <S-left> <down-mouse-1> <mouse-1> M-x r e p o <tab> r <tab> <return> Recent messages: Partially completed Completing file name... Partially completed Ido mode enabled [2 times] Quit [2 times] Mark set 1 of 1 deletions 1 deletion done Quit Making completion list...
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.