I am using Ubuntu 12.04 and GNU Emacs 23.3.1.
I just tried the bookmarks+ library (http://www.emacswiki.org/emacs/BookmarkPlus) I downloaded the files from that site, e.g. bookmarks+.el from http://www.emacswiki.org/emacs/download/bookmark%2b.el
I put the files in my ~/emacs directory, and I put
(setq load-path
(append (list nil "~/emacs")
load-path))
(require 'bookmark+)
in my ~/.emacs startup file. To debug I have deleted everything else in my ~/.emacs..
To make it simple, lets say I now start Emacs as follows:
bash$ emacs ~/.emacs &
Then I add a single bookmark using C-x p m, and then enter C-x r l to bring up the bookmarks buffer, and I get the follwing screen shot:

Now there are several ways to make Emacs crash:
- I can just wait some seconds
- I can try to change buffer with C-x b
- I can select the bookmark and then return to the
.emacsbuffer, and then press C-x b again..
When it crashes the frame is grayed and nothing happens, whereas in the Gnome terminal I get the error message
*** glibc detected *** emacs: realloc(): invalid next size: 0x000000000228e1a0 ***
If you have the same problem after trying a different Emacs build (order not too important, and items are not necessarily related -- i.e., try one or more of these things):
Remove
nilfrom your sexp that updatesload-path. And remove~/.emacs, unless it is a directory.load-pathshould be a list of directory names. And it should include the directory where the Bookmark+ files are located. Typically, you do(add-to-list 'load-path "/some/directory")to add a directory toload-path.For your testing, unless you have already done so, remove your bookmarks file. IOW start from zero, as you tried to do by emptying your
.emacs. Start with no bookmarks.What happens if you do the same things (e.g.
C-x r lfollowed byC-x b) without loading Bookmark+, i.e., using the vanilla Emacs bookmark code?Remove any byte-compiled Bookmark+ files, so you use
*.elfiles, not*.elc. Then setdebug-on-errortot. (But if Emacs is crashing then you probably won't get a Lisp backtrace.)Try
M-x debug-on-entry switch-to-buffer(or whatever other function you think the crash might occur in), and then step through the debugger usingd(or skip through parts you don't care about, usingc). For the most clarity (detail), load the Lisp source file that defines the function that you pass todebug-on-entry. E.g., if it isswitch-to-bufferthen in recent Emacs builds the file would bewindow.el. DoC-h f switch-to-buffer(or whatever function) to see just what file to load. Load the file usingload-fileorload-library(with an explicit.elsuffix), notrequire, so you load the*.el.Every Emacs crash indicates an Emacs bug (Emacs should never crash). If the crash creates a file
emacs_backtrace.txtin the current directory then useM-x report-emacs-bugand include that file in your bug report.If debugging this helps narrow down the cause of the crash, then consider using
M-x report-emacs-bugto report the narrowed-down recipe to reproduce the crash.