Subject: bug#32502: 27.0.50; Tramp; C-g during asynchronous remote find-file kills Emacs

From: Eli Zaretskii <[email-masked]>
Date: Thu, 23 Aug 2018 17:01:34 +0300

> From: Gemini Lasswell <[email-masked]>
> Cc: [email-masked]
> Date: Wed, 22 Aug 2018 14:12:18 -0700
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > In frame #2, which one of these 2 conditions caused the abort:
> >
> >   if (gc_in_progress || waiting_for_input)
> >     emacs_abort ();
> 
> > And in frame #4, what is current_thread->error_symbol?
> >
> > Thanks.
> 
> (gdb) p gc_in_progress
> $1 = false
> (gdb) p waiting_for_input
> $2 = true
> (gdb) up 4
> #4  0x00000000005d5555 in post_acquire_global_lock (self=self@entry=0xc19320 <main_thread>) at thread.c:93
> 93	      Fsignal (sym, data);
> (gdb) p current_thread->error_symbol
> $3 = XIL(0)
> (gdb) pr
> (gdb) pp current_thread->error_symbol
> (gdb) p current_thread->error_symbol
> $4 = XIL(0)
> (gdb) xpr
> Lisp_Symbol
> $5 = (struct Lisp_Symbol *) 0xbf5420 <lispsym>
> "nil"

Thanks.  So my assumption was true: the main thread is signaled while
waiting for input.  Perhaps we should disallow that.