[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs unexpectedly stalls on remote image
From: |
Michael Albinus |
Subject: |
Re: Emacs unexpectedly stalls on remote image |
Date: |
Thu, 10 Dec 2020 13:09:46 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Mikhail P <mikpom@fastmail.com> writes:
> Greetings,
Hi Mikhail,
> After that, on resizing the window with image or the whole frame Emacs
> stalls. The hang occurred from 10:29 till 10:35 (as seen from
> timestamps in attached file) when I interrupted it with C-g.
Thanks for the debug info. It explains what happens, best seen in the
backtrace.
> 10:35:15.924058 tramp-accept-process-output (10) #
> backtrace()
> tramp-signal-hook-function(quit nil)
> accept-process-output(#<process *tramp/ssh horsehop*> nil nil t)
> tramp-accept-process-output(#<process *tramp/ssh horsehop*>)
[...]
> file-readable-p("/ssh:horsehop:/storage1/mikpom/wizard_devel/CNV/fi...")
> image-toggle-display-image()
> image-fit-to-window(#<window 3 on TCGA-02-2485.png>)
> apply(image-fit-to-window #<window 3 on TCGA-02-2485.png>)
> timer-event-handler([t 0 1 0 nil image-fit-to-window (#<window 3 on
> TCGA-02-2485.png>) idle 0])
> accept-process-output(#<process *tramp/ssh horsehop*> nil nil t)
> tramp-accept-process-output(#<process *tramp/ssh horsehop*>)
[...]
> file-readable-p("/ssh:horsehop:/storage1/mikpom/wizard_devel/CNV/fi...")
> image-toggle-display-image()
> image-fit-to-window(#<window 3 on TCGA-02-2485.png>)
> apply(image-fit-to-window #<window 3 on TCGA-02-2485.png>)
> timer-event-handler([t 0 1 0 nil image-fit-to-window (#<window 3 on
> TCGA-02-2485.png>) idle 0])
> accept-process-output(#<process *tramp/ssh horsehop*> nil nil t)
> tramp-accept-process-output(#<process *tramp/ssh horsehop*>)
[...]
> file-readable-p("/ssh:horsehop:/storage1/mikpom/wizard_devel/CNV/fi...")
> image-toggle-display-image()
> image-fit-to-window(#<window 3 on TCGA-02-2485.png>)
> apply(image-fit-to-window #<window 3 on TCGA-02-2485.png>)
> timer-event-handler([t 0 1 0 nil image-fit-to-window (#<window 3 on
> TCGA-02-2485.png>) idle 0])
> accept-process-output(#<process *tramp/ssh horsehop*> nil nil t)
> tramp-accept-process-output(#<process *tramp/ssh horsehop*>)
and so on. Obviously, the idle timer image-fit-to-window is called, and
it doesn't finish within the image-auto-resize-on-window-resize time
frame (1 second). So the next idle timer is called on top, which also
doesn't finish in time, etc pp. This confuses Tramp.
I have prepared a patch for tramp-sh.el (appended), which shall prevent
this scenario. Could you pls try, whether this patch fixes your problem?
> -Thanks,
>
> Mikhail
Best regards, Michael.
txtTwKPaDcnLa.txt
Description: Text Data