Subject: Re: bug#28430: 26.0.50; Segfault on unexpected connection loss

From: Daniel Kraus <[email-masked]>
Date: Thu, 14 Sep 2017 12:56:46 +0800

Hi!

Eli Zaretskii <[email-masked]> writes:

>> From: Daniel Kraus <[email-masked]>
>> Cc: [email-masked]
>> Date: Thu, 14 Sep 2017 10:27:08 +0800
>>
>> >  (gdb) frame 4
>> >  (gdb) pp error_val
>> >
>> > After "frame 4", you should be in this function:
>> >
>> >    #4  0x00000000006c5edd in exec_sentinel_error_handler (error_val=...) at process.c:7105
>> >
>> > If not, adjust the argument 4 as needed.
>
> Sorry, you need to source .gdbinit file for "pp" to work.

Ups, sorry. Thought emacs would do that for me.

Here (with backtrace again just to be sure since error_val seems empty):

--cut--

(gdb) r
Starting program: /home/daniel/repos/emacs-git/src/emacs-git/src/bootstrap-emacs -Q
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffe5693700 (LWP 13037)]
[New Thread 0x7fffdffff700 (LWP 13038)]
[New Thread 0x7fffdf670700 (LWP 13039)]
[New Thread 0x7fffdea4ca40 (LWP 13395)]
[Thread 0x7fffdea4ca40 (LWP 13395) exited]

Thread 1 "bootstrap-emacs" received signal SIGABRT, Aborted.
0x00007ffff017ac40 in raise () from /usr/lib/libpthread.so.0
(gdb) source .gdbinit
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
DISPLAY = :0
TERM = dumb
Breakpoint 1 at 0x5979ca: file emacs.c, line 363.
Temporary breakpoint 2 at 0x5c3fe7: file sysdep.c, line 1025.
(gdb) frame 4
#4  0x00000000006c5edd in exec_sentinel_error_handler (error_val=XIL(0)) at process.c:7105
7105	  cmd_error_internal (error_val, "error in process sentinel: ");
(gdb) pp error_val
(gdb) bt
#0  0x00007ffff017ac40 in raise () at /usr/lib/libpthread.so.0
#1  0x0000000000597ab9 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:394
#2  0x0000000000632a74 in die (msg=0x778761 "CONSP (data)", file=0x7786d1 "keyboard.c", line=999) at alloc.c:7419
#3  0x000000000059c3e1 in cmd_error_internal (data=XIL(0), context=0x798c6c "error in process sentinel: ") at keyboard.c:999
#4  0x00000000006c5edd in exec_sentinel_error_handler (error_val=XIL(0)) at process.c:7105
#5  0x0000000000657d51 in internal_condition_case_1 (bfun=0x6c2b0d <read_process_output_call>, arg=XIL(0x3198673), handlers=XIL(0x51f0), hfun=0x6c5ebe <exec_sentinel_error_handler>) at eval.c:1352
#6  0x00000000006c609c in exec_sentinel (proc=XIL(0x17e0c65), reason=XIL(0x30c5004)) at process.c:7158
#7  0x00000000006c6303 in status_notify (deleting_process=0x0, wait_proc=0x0) at process.c:7260
#8  0x00000000006c1353 in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=XIL(0), wait_proc=0x0, just_wait_proc=0) at process.c:5199
#9  0x00000000004285e6 in sit_for (timeout=make_number(30), reading=true, display_option=1) at dispnew.c:5763
#10 0x00000000005a1080 in read_char (commandflag=1, map=XIL(0x3199cd3), prev_event=XIL(0), used_mouse_menu=0x7fffffffe2b1, end_time=0x0) at keyboard.c:2724
#11 0x00000000005b0ffd in read_key_sequence (keybuf=0x7fffffffe450, bufsize=30, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9151
#12 0x000000000059d045 in command_loop_1 () at keyboard.c:1372
#13 0x0000000000657c85 in internal_condition_case (bfun=0x59cbe3 <command_loop_1>, handlers=XIL(0x51f0), hfun=0x59c1c7 <cmd_error>) at eval.c:1332
#14 0x000000000059c7bd in command_loop_2 (ignore=XIL(0)) at keyboard.c:1114
#15 0x000000000065712e in internal_catch (tag=XIL(0xc630), func=0x59c790 <command_loop_2>, arg=XIL(0)) at eval.c:1097
#16 0x000000000059c75b in command_loop () at keyboard.c:1093
#17 0x000000000059bcb1 in recursive_edit_1 () at keyboard.c:699
#18 0x000000000059bea6 in Frecursive_edit () at keyboard.c:770
#19 0x000000000059988d in main (argc=2, argv=0x7fffffffe8a8) at emacs.c:1709

--cut--

Thanks,
  Daniel