Subject: Re: bug#21313: 25.0.50; Strange errors from dbus-handle-event

From: Tassilo Horn <[email-masked]>
Date: Wed, 09 Sep 2015 22:43:28 +0200

This problem has nothing to to with dbus in particular.  Today I had a
different occurrence of the bug where during repeated killing in a
message-mode buffer I suddenly got an error about something with a
file-notify event.  I've stopped killing then just to read the error
message, and then I restarted killing which out of sudden made emacs
crash.

Since then I've let emacs run in the debugger.  Just right now I had
another crash during repeated killing in message-mode, and below is the
backtrace.

To me that backtrace looks like there's a bug in the error printing code
which seems to cause the crashes.  But it does not explain the source of
the errors I sometimes get during pressing and holding C-k in
message-mode.  Those errors always sound as if events of the wrong kind
have been delegated to some event handlers, e.g., `dbus-handle-event'
might have received some file-notify event or `file-notify-handle-event'
might have received some keyboard event.

Any ideas how to debug that?  The problem is that it is not really
reproducible, it just happens once every second day or so.

--8<---------------cut here---------------start------------->8---
Program received signal SIGSEGV, Segmentation fault.
0x000000000054ab2f in SYMBOL_INTERNED_P (sym=185795904) at lisp.h:1770
1770	  return XSYMBOL (sym)->interned != SYMBOL_UNINTERNED;
(gdb) bt full
#0  0x000000000054ab2f in SYMBOL_INTERNED_P (sym=185795904) at lisp.h:1770
No locals.
#1  0x0000000000610588 in print_preprocess (obj=185795904) at print.c:1179
        i = 0
        size = 0
        loop_count = 0
        halftail = 185795904
#2  0x0000000000610328 in print (obj=185795904, printcharfun=43968, escapeflag=true)
    at print.c:1116
No locals.
#3  0x000000000060df75 in Fprin1 (object=185795904, printcharfun=43968) at print.c:626
        old = 0xaecc460
        old_point = -1
        start_point = -1
        old_point_byte = -1
        start_point_byte = -1
        specpdl_count = 3
        free_print_buffer = false
        multibyte = true
        original = 43968
#4  0x000000000060fead in print_error_message (data=86346515, stream=43968, 
    context=0xbe1a9f <pure+2999999> "", caller=23712) at print.c:946
        obj = 185795904
        sep = 0x6b806f ", "
        errname = 50304
        errmsg = 9499852
        file_error = 0
        tail = 86346563
#5  0x000000000055226d in Fcommand_error_default_function (data=86346515, 
    context=9458692, signal=23712) at keyboard.c:1026
        sf = 0x129aca0
#6  0x00000000005ec8f8 in Ffuncall (nargs=4, args=0x7ffe058b14b0) at eval.c:2641
        internal_argbuf = {0, 0, 140728991421808, 5581510, 0, 5581464, 9458692, 
          140728991421504}
        fun = 9446293
        original_fun = 321456
        funcar = 9458692
        numargs = 3
        lisp_numargs = 5547072
        val = 23712
        internal_args = 0x7ffe058b14b8
        count = 2
#7  0x00000000005ec33d in call3 (fn=321456, arg1=86346515, arg2=9458692, arg3=23712)
    at eval.c:2509
No locals.
#8  0x0000000000552105 in cmd_error_internal (data=86346515, context=0x7ffe058b1520 "")
    at keyboard.c:981
No locals.
#9  0x0000000000552019 in cmd_error (data=86346515) at keyboard.c:950
        old_level = 0
        old_length = 0
        macroerror = "\000\000\000\000\000\000\000\000\256\254^\000\000\000\000\000\000\000\000\000\001\000\000\000\203j\021\001\000\000\000\000\260\323\306\000\000\000\000\000`\304\354\n\000\000\000\000A\001"
#10 0x00000000005e9656 in internal_condition_case (bfun=0x5526bc <command_loop_1>, 
---Type <return> to continue, or q <return> to quit---
    handlers=18912, hfun=0x551ea6 <cmd_error>) at eval.c:1290
        val = 86346515
        val = 5546463
        c = 0x1542ca0
#11 0x00000000005523c3 in command_loop_2 (ignore=0) at keyboard.c:1088
        val = 2
#12 0x00000000005e8e20 in internal_catch (tag=45312, func=0x55239a <command_loop_2>, 
    arg=0) at eval.c:1057
        val = 5546463
        c = 0x1542b70
#13 0x0000000000552365 in command_loop () at keyboard.c:1067
No locals.
#14 0x0000000000551a6e in recursive_edit_1 () at keyboard.c:673
        count = 1
        val = 140728991422112
#15 0x0000000000551c02 in Frecursive_edit () at keyboard.c:744
        count = 0
        buffer = 0
#16 0x000000000054fafd in main (argc=1, argv=0x7ffe058b18a8) at emacs.c:1643
        dummy = 0
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = true
        dumping = false
        skip_args = 0
        rlim = {
          rlim_cur = 8720000, 
          rlim_max = 18446744073709551615
        }
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0

Lisp Backtrace:
"command-error-default-function" (0x58b14b8)
(gdb) 
--8<---------------cut here---------------end--------------->8---