Subject: Re: bug#11416: 24.1.50; Abort in Fadd_text_properties on Windows

From: Eli Zaretskii <[email-masked]>
Date: Sun, 06 May 2012 22:31:22 +0300

> Date: Sun, 06 May 2012 12:26:24 -0600
> From: Christoph Scholtes <[email-masked]>
> CC: [email-masked]
> 
> Eli Zaretskii <[email-masked]> writes:
> 
>  > What is 'object' in frame #2?
> 
> from bt full:
> 
> #2  0x01263a6c in Fadd_text_properties (start=1232, end=1236,
>      properties=280626054, object=283151365) at textprop.c:129
>      i = (INTERVAL) 0x0
>      unchanged = (INTERVAL) 0x88c374
>      s = 308
>      len = 1
>      modified = 0
>      gcpro1 = {
>    next = 0x2,
>    var = 0x88c150,
>    nvars = 58206234

Sorry, I should have been more clear.  I meant this:

 (gdb) p object
 (gdb) xtype

If "xtype" says it's a symbol, follow immediately by "xsymbol" to see
which symbol it is.  Other Lisp data types have their respective xFOO
commands to do similar things.

Btw, is this an optimized build?  I didn't pay attention before, but I
see now that the C backtrace is entirely bogus: almost all frames
there are "at eval.c:175", which is obviously nonsense, since the
function names are different.  The place where abort was called,
claimed to be textprop.c:129, is also a lie, as nothing around that
line can ever call abort (unless I'm missing something).  I'm guessing
it actually aborted at line 1194:

      if (i == 0)
	abort ();

Not sure what that means, though.

And what versions of GCC and GDB did you use?

> Lisp Backtrace:
> "add-text-properties" (0x88c284)
> "let" (0x88c49c)
> "org-indent-set-line-properties" (0x88c590)
> "let*" (0x88c82c)
> "cond" (0x88c97c)
> "while" (0x88cadc)
> "progn" (0x88cbfc)
> "unwind-protect" (0x88cd1c)
> "let*" (0x88ce9c)
> "with-silent-modifications" (0x88cf8c)
> "let*" (0x88d10c)
> "save-restriction" (0x88d25c)
> "save-excursion" (0x88d3ac)
> "org-with-wide-buffer" (0x88d49c)
> "progn" (0x88d5bc)
> "unwind-protect" (0x88d6dc)
> "let" (0x88d89c)
> "save-match-data" (0x88d98c)
> "org-indent-add-properties" (0x88da80)
> "let" (0x88dd5c)
> "if" (0x88de7c)
> "progn" (0x88df9c)
> "unwind-protect" (0x88e0bc)
> "let" (0x88e27c)
> "save-match-data" (0x88e36c)
> "progn" (0x88e48c)
> "if" (0x88e5ac)
> "when" (0x88e69c)
> "org-indent-refresh-maybe" (0x88e8e8)
> "insert" (0x88e9f0)
> "progn" (0x88ebac)
> "if" (0x88eccc)
> "let" (0x88ee9c)
> "org-align-tags-here" (0x88ef90)
> "progn" (0x88f1cc)
> "if" (0x88f2ec)
> "when" (0x88f3dc)
> "org-fix-tags-on-the-fly" (0x88f4d0)
> "cond" (0x88f72c)
> "org-self-insert-command" (0x88f914)
> "call-interactively" (0x88fb44)

Any hope of you remembering what you did at that point?