Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vim seems to crash session replay #385

Open
AdoPi opened this issue Mar 30, 2023 · 9 comments
Open

vim seems to crash session replay #385

AdoPi opened this issue Mar 30, 2023 · 9 comments

Comments

@AdoPi
Copy link

AdoPi commented Mar 30, 2023

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

@speed47
Copy link
Collaborator

speed47 commented Mar 31, 2023

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.

@AdoPi
Copy link
Author

AdoPi commented Mar 31, 2023

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

@speed47
Copy link
Collaborator

speed47 commented Mar 31, 2023

Would you be okay to attach this test file to this bug report?

@AdoPi
Copy link
Author

AdoPi commented Mar 31, 2023

Yes sure, I will send you the recorded session as soon as possible!

Edit: Sorry, I misread.

@AdoPi
Copy link
Author

AdoPi commented Apr 3, 2023

Here you can find the file which doesn't work well with ttyplay (at least on my computer):
vim.ttyrec.gz

@CorentinDeBoisset
Copy link

CorentinDeBoisset commented Oct 3, 2023

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.

@speed47
Copy link
Collaborator

speed47 commented Oct 3, 2023

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?

@speed47
Copy link
Collaborator

speed47 commented Oct 3, 2023

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)

@CorentinDeBoisset
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants