Skip to content

ttyplay can break with ZSTD_decompressStream() error on ttyd/ttyrec/tmux chain  #33

@amsnek

Description

@amsnek

Hello again!

Now that ttyrec works even better with -Z and -a i noticed the following issue with ttyrec (or maybe ttyplay) in a very specific setup/use case. This may not be the fault of ttyrec/ttyplay, in which case feel free to close.

I am using ttyrec in a chain with ttyd (https://github.com/tsl0922/ttyd/) and tmux
for example: ttyd -> ttyrec -> tmux -> bash
simplified setup:
/usr/local/bin/ttyd.x86_64 -p 4200 /usr/local/bin/ttyrec -a -Z -f /logs/ttyrec_test -- /usr/local/bin/tmux new -A -s ttyrec_recording /bin/bash

-> connect via browser: http://:4200/

when a second browser connects -> the recording borks (or maybe ttyplay) with errors like
ZSTD_decompressStream() error: Data corruption detected
ZSTD_decompressStream() error: Unknown frame descriptor

This also happens without compression/append so that is probably not to cause.

The error does not occur if the chain is swapped:
for example: ttyd -> tmux -> ttyrec -> bash

however, then the recorded "lines" are often multiline/broken (e.g top) and the recording is not 1:1 or as "clean" as the other way round.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions