GNU bug report logs - #716
23.0.60; opening tgz file causes emacs crash

Previous Next

Packages: emacs, w32;

Reported by: robert marshall <robert.marshall <at> tnei.co.uk>

Date: Thu, 14 Aug 2008 09:15:04 UTC

Severity: grave

Merged with 805, 899, 1088

Done: Jason Rumney <jasonr <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #33 received at control <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Jason Rumney <jasonr <at> gnu.org>
To: Stephen Berman <stephen.berman <at> gmx.net>, 891 <at> debbugs.gnu.org
Subject: Re: bug#891: 23.0.60; Emacs aborts after buffer-swap-text
Date: Fri, 05 Sep 2008 07:06:57 +0800
merge 891 716
reassign 716 emacs
reassign 805 emacs
thanks

Stephen Berman wrote:
> 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
>   

This seems to be the same bug as has been happening with tar-mode on 
Windows since tar-mode was changed to use buffer-swap-text. So the 
underlying bug is not platform specific after all. Do you also get 
crashes when opening tar files in Emacs?

> 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.)
>   

Can this be done in Fbuffer_swap_text, rather than expecting other code 
to clean up after the fact? Some of the crashes I've seen while 
debugging this have not involved switch-to-buffer, so there are probably 
many other locations where this clean up code needs to go if it can't be 
done in Fbuffer_swap_text for some reason.




This bug report was last modified 16 years and 154 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.