the-bastion
the-bastion copied to clipboard
vim seems to crash session replay
Hello, thanks for this amazing project!
I've tried to open vim in some of my sessions. When I want to replay these sessions, it crashes immediatly after the vim command is entered.
Is there any tips to workaround this issue?
Thanks
Do you mean that ttyplay
actually exits unexpectedly before the end of the replay?
Is there an error message displayed?
Note that for software using a lot of terminal control chars like vim, be sure to replay the session in a terminal at least as big as the original one, or the output will be somehow garbled. But it should never crash in any case.
Yes it exits just right after it tries to display vim. In fact I can see commands which are typed after vim, but not what is typed in vim itself. Also the session doesnt respect the input delay after the vim command is replayed ( seems like it is flushing everything before exiting ? ).
Note: I use the same terminal for both ssh and the replay.
Here I copy paste what I see when using the selfPlaySession command:
$ echo "Trying to reproduce this bug"
Trying to reproduce this bug
$ vim
$
exit
$
Connection to x.x.x.x closed.
╰──────────────────────────────────────────────────────────</selfPlaySession>───
x@rhinocorne(master)> :1$r0 q^[\^[[?12;4$y
Would you be okay to attach this test file to this bug report?
Yes sure, I will send you the recorded session as soon as possible!
Edit: Sorry, I misread.
Here you can find the file which doesn't work well with ttyplay (at least on my computer): vim.ttyrec.gz
I have the same problem here, I tried to only use ovh-ttyrec on my local machine (MacOS 14, iTerm 3.4.20, zsh 5.9) and the replay crashes sometimes when I use vim but don't execute too many commands.
It seems that entering insert mode makes it so that the recording doesn't crash - maybe it edits the right character in the terminal window ?
Here is a record that works: 2023-10-03.10-23-23.224270.8829.ttyrec.zip
And here is a record that crashed: 2023-10-03.10-22-53.492213.8634.ttyrec.zip
In both cases, I only open a file using vim, fiddle around a bit, close it down and end the recording. In the working case, I do more edits than in the crashing case, which leads me to my hypothesis above.
Hey @CorentinDeBoisset ,
It's not clear to me whether, in your use case, it is ttyrec
or ttyplay
that crashes, at some point you're saing that "the recording doesn't crash", then that the "replay crashes".
I viewed both your files under ttyplay
and I see you edit the file in vim, then quit with !q
, so it's not obvious what behaviour is expected or if that's what you're actually seeing too.
I'm using xfce4-terminal under Linux, so maybe what I'm seeing is different from what you see under iTerm, can you detail exactly what you mean by "crash"? Is it during the recording? Does ttyrec crash completely and kills your shell? Or is it just during the replay?
As a side note, if ttyplay seems to be the problem, can you try with ibpt
("it's playback time") which is a ttyrec file player made by the PuTTY author? Under Debian or Ubuntu you can install it by apt install its-playback-time
. On @AdoPi 's file above, I can see a difference with ipbt
(which works correctly), but I don't see any difference with your files. So I'm not sure yet that your problem is the same than @AdoPi 's (which I still have to investigate, and is clearly located in ttyplay
because ipbt
works where ttyplay
seems to skip some frames)
It is indeed when replaying the recording with ttyplay
. It stops just before the end and leaves the two following lines in my shell (zsh):
0000
12;4$y
I'm on MacOS but i'll investigate on how to install its-playback-time.