Subject: bug#17170: 24.3.50; debug: Terminal 3 is locked, cannot read from it

From: Eli Zaretskii <[email-masked]>
Date: Sun, 06 Apr 2014 19:25:35 +0300

> From: Nicolas Richard <[email-masked]>
> Cc: Nicolas Richard <[email-masked]>,  [email-masked]
> Date: Sun, 06 Apr 2014 12:08:31 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> > Please try "C-h l" next time, and report the commands that cause this.
> 
> It just happened again. Again, I'm in emacs -nw through gdb through tmux
> through ssh. Again, I apparently have left one GUI frame open on my
> remote box.

I'm confused: you in "emacs -nw", but you have a GUI frame open?  How
can both of these happen in the same session?

> C-c NUL			;; rcirc-next-active-buffer
> C-x K
> C-u C-u C-c NUL		;; rcirc-next-active-buffer
> C-z			;; suspend-frame
> C-x C-k e		;; edit-kbd-macro
> C-h l			;; view-lossage
> 
> The error appeared when I did C-z for suspend-frame. "C-x K" kills
> current buffer.
> 
> Note that suspend-frame makes an error:
> x-win-suspend-error: Cannot suspend Emacs while running under X

Looks like Emacs doesn't know it has a TTY frame, and thinks you are
in a GUI frame?

> If I do M-: (debug) RET, I get the "Terminal locked" message, and enter
> another level of recursive edit and can't exit it (because of "No catch
> for tag: exit").
> 
> At this moment I have three pairs of brackets in the modeline.
> 
> Now, I deleted the distant graphical frame (with (delete-frame (car
> (frame-list))))
> 
> At this point M-: (debug) doesn't throw the terminal locked error
> anymore and enter the debugger correctly (entering a 4th pair of
> brackets ), and I can exit the debugger correctly too, but I'm stuck
> within those 3 pairs of brackets. So it seems that the remote graphical
> frame really was a problem and entered me into a weird state.

Please describe how you started the remote session, and how you got
into "emacs -nw" in the same session.  There's something I must be
missing here.