On Oct 4, 2011, at 5:42 PM, Eli Zaretskii wrote: > Is it > possible to have backtraces with source line numbers? how about the > equivalent of "bt full" in GDB? > > And a test case starting from "emacs -Q" is a must in most bugs. Only > a few can be debugged by just staring at the sources. First of all, this may have to do with GDB and passing Emacs environment variables to another Emacs instance. This may explain why we're seeing this abort in bidi: I am reproducing at least some type of crash in bidi_initialize() when I debug Emacs (24) from gdb session inside an Emacs 23 - this occurs all the time, but not when I start it outside of Emacs/GDB: The abort in question happens here: bidi_mirror_table = uniprop_table (intern ("mirroring")); if (NILP (bidi_mirror_table)) abort (); uniprop_table returns Qnil in this situation (chartab.c:1340): if (! CHAR_TABLE_P (table) || ! UNIPROP_TABLE_P (table)) return Qnil; And the reason for the return here is that (! CHAR_TABLE_P (table)). I can't show all of Vchar_code_property_alist (symbol not defined?!), but tracing uniprop_table() shows that we're correctly looking for prop="mirroring", and we find val: (gdb) xprintsym val "uni-mirrored.el"(gdb) At this point, table = XCDR (val) yields: (gdb) print table $4 = 3484193 (gdb) xprintsym table Cannot access memory at address 0x100000004 (gdb) xprintstr table Attempt to extract a component of a value that is not a structure pointer. STRINGP (table) evaluates to true, so we seem to load a file, but fail because (! CHAR_TABLE_P (table)). Is it possible that it's loading the wrong file? I've watched file system activity and found indeed an access to the uni-mirrored.el file coming from my Emacs 23 installation! Is it the environment? Within Emacs GDB, the following possibly variables are set: EMACSDATA=/Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/etc EMACSPATH=/Users/dr/ae.git/nextstep/Aquamacs.app/Contents/MacOS/bin EMACS=t EMACSLOADPATH=/Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp:/Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/leim INSIDE_EMACS=23.3.50.39,comint EMACSDOC=/Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/etc Does this explain what's going on? =====