Subject: Re: bug#8790: 24.0.50; abort

From: Eli Zaretskii <[email-masked]>
Date: Sat, 04 Jun 2011 10:21:11 +0300

> Date: Fri, 3 Jun 2011 18:10:30 -0400
> From: Sam Steingold <[email-masked]>
> Cc: [email-masked]
> 
> (gdb) up
> #1  0x000000000055eae6 in internal_condition_case_n (
>     bfun=0x55d210 <Ffuncall>, nargs=3, args=0x7fffbed6d3d0,
>     handlers=11763538, hfun=0x435920 <safe_eval_handler>)
>     at /home/sds/src/emacs/trunk/src/eval.c:1625
> 1625        abort ();
> (gdb) p coding_s
> coding_set_destination      coding_system
> coding_set_source           coding_system_charset_list
> (gdb) p coding_system
> No symbol "coding_system" in current context.
> (gdb) xsymbol coding_system
> The history is empty.
> (gdb) down
> #0  abort () at /home/sds/src/emacs/trunk/src/emacs.c:374
> 374     {
> (gdb) down
> Bottom (innermost) frame selected; you cannot go down.
> (gdb) xsymbol coding_system
> The history is empty.
> (gdb) p coding_system
> No symbol "coding_system" in current context.
> (gdb) local
> Undefined command: "local".  Try "help".
> (gdb) up
> #1  0x000000000055eae6 in internal_condition_case_n (
>     bfun=0x55d210 <Ffuncall>, nargs=3, args=0x7fffbed6d3d0,
>     handlers=11763538, hfun=0x435920 <safe_eval_handler>)
>     at /home/sds/src/emacs/trunk/src/eval.c:1625
> 1625        abort ();
> (gdb) up
> #2  0x000000000042ca92 in safe_call (nargs=3, args=0x7fffbed6d3d0)
>     at /home/sds/src/emacs/trunk/src/xdisp.c:2156
> 2156          val = internal_condition_case_n (Ffuncall, nargs, args, Qt,
> (gdb) up
> #3  0x0000000000489cdc in encode_coding_object (coding=0x7fffbed6d450,
>     src_object=185324785, from=0, from_byte=0, to=9, to_byte=9,
>     dst_object=11763538) at /home/sds/src/emacs/trunk/src/coding.c:7826
> 7826            safe_call (3, args);
> (gdb) p coding
> $1 = (struct coding_system *) 0x7fffbed6d450

No, I mean the Lisp object (a symbol) that specifies the
coding-system.  In this crash, it's in frame #4:

> #4  0x000000000048ac28 in code_convert_string (string=185324785,
>     coding_system=12118818, dst_object=11763538, encodep=1,
>     nocopy=<value optimized out>, norecord=1)
>     at /home/sds/src/emacs/trunk/src/coding.c:8940

Use "p coding_system" followed by "xsymbol".

Also, can you show the value of x_error_message->string?  That seems
to be the immediate cause of the crash, because Emacs aborts here:

  if (x_catching_errors ())
    abort ();