Skip to content

[🐛 Bug]: Code verifying video integrity does not work #2743

Closed
@MJB222398

Description

@MJB222398

What happened?

I have a Docker Selenium Grid with a Hub, several nodes, and then a separate video container for each node. These video containers have SE_VIDEO_FILE_NAME=auto so the videos recorded have the filename of SessionId.mp4. My understanding is that function wait_for_file_integrity in video.sh should be called automatically when the driver session is ended. So what I am doing is disposing of the web driver (.NET bindings) at the end of each test and then making HTTP calls to the grid status endpoint to verify that the session has indeed finished. I then am grabbing the video file. What I am seeing though is that this video file is malformed and will not play because the file was not terminated yet - it was still being written/flushed to disk at the point I retrieved it.

Looking in the logs there is nothing there indicating that the wait_for_file_integrity function ran at all - though if the file is present and correct on first check there would be no logs. So either the function is not being called, or the function is not working properly and states the video is fine when it isn't, or perhaps the function is running later on in the background or something else? Is this function call blocking session termination untill the video integrity is good? Just not clear at all on how its supposed to work?

This Slack conversation includes some discussion on this issue:
https://seleniumhq.slack.com/archives/C0ABCS03F/p1743072688635059

Command used to start Selenium Grid with Docker (or Kubernetes)

N/A

Relevant log output

N/A

Operating System

Ubuntu

Docker Selenium version (image tag)

4.30.0-20250323 and ffmpeg-7.1.1.1.1-20250323

Selenium Grid chart version (chart version)

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions