From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Alex =?utf-8?Q?Benn=C3=A9e?= Newsgroups: gmane.emacs.devel Subject: Re: Terminal locked when spawning a new tty frame Date: Wed, 06 Nov 2019 17:17:22 +0000 Message-ID: <87eeykj55p.fsf@linaro.org> References: <87a7a1580d.fsf@linaro.org> <87wocvmmyn.fsf@linaro.org> <875zkftn4u.fsf@igel.home> <87r233mjy4.fsf@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="64156"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: mu4e 1.3.5; emacs 27.0.50 Cc: Emacs Developers To: Andreas Schwab Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 06 18:19:02 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iSOxR-000GYp-4F for ged-emacs-devel@m.gmane.org; Wed, 06 Nov 2019 18:19:01 +0100 Original-Received: from localhost ([::1]:33500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iSOxP-0005Ix-RC for ged-emacs-devel@m.gmane.org; Wed, 06 Nov 2019 12:19:00 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44252) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iSOvx-0005GW-Mz for emacs-devel@gnu.org; Wed, 06 Nov 2019 12:17:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iSOvv-0000Mj-I7 for emacs-devel@gnu.org; Wed, 06 Nov 2019 12:17:29 -0500 Original-Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:40928) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iSOvv-0000JZ-9z for emacs-devel@gnu.org; Wed, 06 Nov 2019 12:17:27 -0500 Original-Received: by mail-wr1-x430.google.com with SMTP id i10so6154705wrs.7 for ; Wed, 06 Nov 2019 09:17:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=r4yW0EyqeqkYxtlYy02jZ2OTE5MWtlb5UCtr5WX+ACE=; b=zsFYlVUMy+I4Ku4qVh5cogUWg2ZVF8WWDARhg27SrJIAMwMgOjp97UbHPilsJ4/bfp S9f0tXLjQ9RM7Y62d4j2CUUuLRXdAf0gHwaGLBxYesfBmKoX3Pn9DU4x6RbWmmLZ0QL1 XwY9XX9W5CrN6dKVcZRV8pQgKxzlzSUVr+nXbFULGkbB7LYI/D7SFNdzDuTTDFKJQ+qk Y/L1RpLcNI5TEwLkKPBjeiRtdovu1krkOjR3wDJeqraDZbyJc8LDsvVpa9vs+aSmWOzP eFSjweMN+ys2GDpSNlw7LmpG+ovUQ+wFfQjx0+vHsX8enUeUJ1GlOiWW6wZSQFNeuDsg LZiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=r4yW0EyqeqkYxtlYy02jZ2OTE5MWtlb5UCtr5WX+ACE=; b=UAtUY7WZS69kvkJFg1ruqWzfCobo3wFe7MfFAn7U0tJdX8U8sZSKUteVQOa4wZmcIU 1EiKaiCXqtXZALDlQrnLoqXvR+P5aZnMu+ZUIAHTx9CJ1LIGCuf2TvI8cylgMhLb1iF3 MS35P7JAcUpI92kChIFY1oHlJKCxJwSut6gr2LzFPloc7b1krc9QqhQ+AgWLjRlFSSRH xE/e0mlZl6fhNPiJPaf83Oy+OwnyLYwQGqBPnoGKH2h0kNYGyKFIx9RCU+x6/v1FKiJO IBo24wADv9DeX5GAvy0cl04/hTGWZhim3DA0W4m56PgOzC82V85ZrIqF5nFoocFm1d16 QiJQ== X-Gm-Message-State: APjAAAW09FAiPs1/m5tY6KYv6wPTXxYz7vW9e1CzQ/QqA9cBAaN8rC9f 7Ru/a6OM0apgQv4JcR/aGyE6fFVjNXM= X-Google-Smtp-Source: APXvYqxRgNJb9eWB0BdR6aKuKGBfWaQD7bQhqB+3+SkXnbKCWu6pFaQCorXyUigkcD5Xqpw6HCCWsQ== X-Received: by 2002:adf:f684:: with SMTP id v4mr3539557wrp.336.1573060644720; Wed, 06 Nov 2019 09:17:24 -0800 (PST) Original-Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id w13sm30503116wrm.8.2019.11.06.09.17.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Nov 2019 09:17:23 -0800 (PST) Original-Received: from zen (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id EF92E1FF87; Wed, 6 Nov 2019 17:17:22 +0000 (GMT) In-reply-to: <87r233mjy4.fsf@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::430 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:241865 Archived-At: Alex Benn=C3=A9e writes: > Andreas Schwab writes: > >> On Okt 23 2019, Alex Benn=C3=A9e wrote: >> >>> #13 0x000055ed55d1f5f6 in recursive_edit_1 () at keyboard.c:714 >>> #14 0x000055ed55d1f915 in Frecursive_edit () at keyboard.c:786 >>> #15 0x000055ed55d8e2a3 in Ffuncall (nargs=3D1, args=3Dargs@entry=3D0x7f= fd0aca1ca8) at lisp.h:2109 >>> #16 0x000055ed55dc1d51 in exec_byte_code (bytestr=3D, ve= ctor=3D, maxdepth=3D, args_template=3D, nargs=3D, args=3D) at bytecode.c:633 >>> #17 0x000055ed55d8e1ff in Ffuncall (nargs=3D3, args=3D0x7ffd0aca2060) a= t eval.c:2808 >>> #18 0x000055ed55d8e532 in Fapply (nargs=3Dnargs@entry=3D2, args=3Dargs@= entry=3D0x7ffd0aca20f0) at eval.c:2424 >>> #19 0x000055ed55d8e66c in apply1 (fn=3D, arg=3Darg@entry= =3D0x55ed5d981de3) at lisp.h:1399 >>> #20 0x000055ed55d8e858 in call_debugger (arg=3D0x55ed5d981de3) at eval.= c:339 >>> #21 0x000055ed55d8ef01 in maybe_call_debugger (data=3D0x55ed5d1a9ec3, s= ig=3D0xe520, conditions=3D0x7f26ae4ed72b) at lisp.h:1032 >>> #22 0x000055ed55d8ef01 in signal_or_quit (error_symbol=3D0xe520, data= =3D0x55ed5d1a9ec3, keyboard_quit=3D) at eval.c:1666 >>> #23 0x000055ed55c44214 in Fsignal (error_symbol=3D, erro= r_symbol@entry=3D0xe520, data=3D) at eval.c:1568 >> >> So you have a frame inside the debugger, probably because debug-on-error >> is non-nil. > > I'll check next time. I might of knocked it on by mistake. The other > Andr=C3=A9s mentioned one workaround was killing an errant *Backtrace* bu= t I > must admit I didn't check if the debugger was active during the > failure. So I have a reproducer and sure enough the *Backtrace* buffer was at: Debugger entered--Lisp error: (quit) irony-iotask-run(# #s(irony-iotask-packaged-task :task (:s= tart (lambda (process buffer) (if (assq buffer (process-get process :unsave= d-buffers)) (irony--server-send-command "reset-unsaved" (irony--get-buffer-= path-for-server buffer)) (irony-iotask-set-result t))) :update irony--serve= r-command-update :finish (lambda (process buffer) (process-put process :uns= aved-buffers (assq-delete-all buffer (process-get process :unsaved-buffers)= )))) :args (# #) :result #s(irony-iotask-re= sult :-tag nil :-value nil :-error nil :-error-data nil) :plist nil :contin= uation #s(irony-iotask-packaged-task :task (:start (lambda (process buffer = buf-state) (let ((elem ...) temp-file) (if (eq ... buf-state) (irony-iotask= -set-result t) (setq temp-file ...) (irony-iotask-put :temp-file temp-file)= (irony-iotask-put :buffer-state buf-state) (process-put process :buffer-st= ate buf-state) (with-current-buffer buffer ... ...)))) :update irony--serve= r-command-update :finish (lambda (&rest _args) (delete-file (irony-iotask-g= et :temp-file))) :on-success (lambda (process buffer &rest _args) (let* ((u= nsaved-buffers ...) (elem ...) (buf-state ...)) (if elem (setcdr elem buf-s= tate) (process-put process :unsaved-buffers ...))))) :args (# #> #s(irony--buffer-state :file "/home/alex/lsrc/qe= mu.git/target/arm/gdbstub.c" :exists t :modified t :tick 3269)) :result #s(= irony-iotask-result :-tag nil :-value nil :-error nil :-error-data nil) :pl= ist nil :continuation #s(irony-iotask-packaged-task :task (:start (lambda (= file line column compile-options) (apply #'irony--server-send-command "comp= lete" file line column "--" compile-options)) :update irony--server-command= -update) :args ("/home/alex/lsrc/qemu.git/target/arm/gdbstub.c" 173 10 ("-x= " "c")) :result #s(irony-iotask-result :-tag nil :-value nil :-error nil :-= error-data nil) :plist nil :continuation #s(irony-iotask-packaged-task :tas= k (:start (lambda (prefix style) (irony--server-send-command "candidates" p= refix ...)) :update irony--server-query-update) :args ("dyn_svereg_xml" exa= ct) :result #s(irony-iotask-result :-tag nil :-value nil :-error nil :-erro= r-data nil) :plist nil :continuation nil))))) irony--run-task(#s(irony-iotask-packaged-task :task (:start (lambda (proc= ess buffer) (if (assq buffer (process-get process :unsaved-buffers)) (irony= --server-send-command "reset-unsaved" (irony--get-buffer-path-for-server bu= ffer)) (irony-iotask-set-result t))) :update irony--server-command-update := finish (lambda (process buffer) (process-put process :unsaved-buffers (assq= -delete-all buffer (process-get process :unsaved-buffers))))) :args (# #) :result #s(irony-iotask-result :-tag nil :-v= alue nil :-error nil :-error-data nil) :plist nil :continuation #s(irony-io= task-packaged-task :task (:start (lambda (process buffer buf-state) (let ((= elem ...) temp-file) (if (eq ... buf-state) (irony-iotask-set-result t) (se= tq temp-file ...) (irony-iotask-put :temp-file temp-file) (irony-iotask-put= :buffer-state buf-state) (process-put process :buffer-state buf-state) (wi= th-current-buffer buffer ... ...)))) :update irony--server-command-update := finish (lambda (&rest _args) (delete-file (irony-iotask-get :temp-file))) := on-success (lambda (process buffer &rest _args) (let* ((unsaved-buffers ...= ) (elem ...) (buf-state ...)) (if elem (setcdr elem buf-state) (process-put= process :unsaved-buffers ...))))) :args (# #> #s(irony--buffer-state :file "/home/alex/lsrc/qemu.git/target/arm/= gdbstub.c" :exists t :modified t :tick 3269)) :result #s(irony-iotask-resul= t :-tag nil :-value nil :-error nil :-error-data nil) :plist nil :continuat= ion #s(irony-iotask-packaged-task :task (:start (lambda (file line column c= ompile-options) (apply #'irony--server-send-command "complete" file line co= lumn "--" compile-options)) :update irony--server-command-update) :args ("/= home/alex/lsrc/qemu.git/target/arm/gdbstub.c" 173 10 ("-x" "c")) :result #s= (irony-iotask-result :-tag nil :-value nil :-error nil :-error-data nil) :p= list nil :continuation #s(irony-iotask-packaged-task :task (:start (lambda = (prefix style) (irony--server-send-command "candidates" prefix ...)) :updat= e irony--server-query-update) :args ("dyn_svereg_xml" exact) :result #s(iro= ny-iotask-result :-tag nil :-value nil :-error nil :-error-data nil) :plist= nil :continuation nil))))) irony-completion-at-point() completion--capf-wrapper(irony-completion-at-point optimist) run-hook-wrapped(completion--capf-wrapper irony-completion-at-point optim= ist) company--capf-data-real() company--capf-data() company-capf(prefix) apply(company-capf prefix) company-call-backend-raw(prefix) apply(company-call-backend-raw prefix) company--force-sync(company-call-backend-raw (prefix) company-capf) company-call-backend(prefix) company--begin-new() company--perform() company-auto-begin() company-idle-begin(#> #> 3269 5417) apply(company-idle-begin (#> #> 3269 5417)) timer-event-handler([t 24001 55199 331097 nil company-idle-begin (#> #> 3269 5417) nil 869000]) read-event(nil t 3) sit-for(3) flyspell-check-word-p() flyspell-post-command-hook() Killing the *Backtrace* buffer restores things to working. It doesn't seem to be specific to the backtrace as I can C-g while switching buffers and get: Debugger entered--Lisp error: (quit) read-from-minibuffer("Switch to buffer: " nil (keymap (keymap (11 . ivy-s= witch-buffer-kill)) keymap (36 . ivy-magic-read-file-env) (3 keymap (19 . i= vy-rotate-sort) (1 . ivy-toggle-ignore) (15 . ivy-occur)) (67108903 . ivy-a= vy) (33554464 . ivy-restrict-to-matches) (15 . hydra-ivy/body) (22 . ivy-sc= roll-up-command) (prior . ivy-scroll-down-command) (next . ivy-scroll-up-co= mmand) (7 . minibuffer-keyboard-quit) (right . ivy-forward-char) (32 . self= -insert-command) (18 . ivy-reverse-i-search) (19 . ivy-next-line-or-history= ) (remap keymap (describe-mode . ivy-help) (kill-ring-save . ivy-kill-ring-= save) (kill-whole-line . ivy-kill-whole-line) (kill-line . ivy-kill-line) (= scroll-down-command . ivy-scroll-down-command) (scroll-up-command . ivy-scr= oll-up-command) (end-of-buffer . ivy-end-of-buffer) (beginning-of-buffer . = ivy-beginning-of-buffer) (kill-word . ivy-kill-word) (forward-char . ivy-fo= rward-char) (delete-char . ivy-delete-char) (backward-kill-word . ivy-backw= ard-kill-word) (backward-delete-char-untabify . ivy-backward-delete-char) (= delete-backward-char . ivy-backward-delete-char) (previous-line . ivy-previ= ous-line) (next-line . ivy-next-line)) (9 . ivy-partial-or-done) (10 . ivy-= alt-done) (27 keymap (1 . ivy-read-action) (15 . ivy-dispatching-call) (111= . ivy-dispatching-done) (25 . ivy-insert-current-full) (105 . ivy-insert-c= urrent) (106 . ivy-yank-word) (114 . ivy-toggle-regexp-quote) (16 . ivy-pre= vious-line-and-call) (14 . ivy-next-line-and-call) (118 . ivy-scroll-down-c= ommand) (112 . ivy-previous-history-element) (110 . ivy-next-history-elemen= t) (10 . ivy-immediate-done) (13 . ivy-call)) (mouse-3 . ivy-mouse-dispatch= ing-done) (mouse-1 . ivy-mouse-done) (down-mouse-1 . ignore) (13 . ivy-done= )) nil ivy-history) ivy-read("Switch to buffer: " internal-complete-buffer :keymap (keymap (1= 1 . ivy-switch-buffer-kill)) :preselect "*Backtrace*" :action ivy--switch-b= uffer-action :matcher ivy--switch-buffer-matcher :caller ivy-switch-buffer) ivy-switch-buffer() funcall-interactively(ivy-switch-buffer) call-interactively(ivy-switch-buffer nil nil) command-execute(ivy-switch-buffer) And the same hang will be observed - although in the above case if you complete the buffer selection the hang goes away and the new terminal window is usable. > >> >> Andreas. -- Alex Benn=C3=A9e