Skip to content

Conversation

@james-bruten-mo
Copy link
Collaborator

Description

Summary

With large changesets fcm_bdiff can fill the buffer, causing a hang - this is often seen with a non-appearing trac.log. This ticket adds a timeout to the fcm_bdiff subprocess, preventing the hang. This has been tested on a Apps branch with a large changeset.

Changes

Add timeout to fcm_bdiff subprocess command. Also changes from subprocess.popen to subprocess.run which is a nicer interface.

Dependency

Using subprocess.run with text=True, means fcm_bdiff now requires python3.9.

Checklist

  • I have performed a self-review of my own changes

@james-bruten-mo james-bruten-mo requested a review from a team as a code owner April 23, 2025 13:40
@james-bruten-mo james-bruten-mo requested review from Pierre-siddall, jennyhickson, r-sharp and t00sa and removed request for a team, Pierre-siddall and r-sharp April 23, 2025 13:40
Copy link
Collaborator

@jennyhickson jennyhickson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a sensible modification. Assuming that 120 is plenty long enough for the bdiff itself to have either finished or got stuck.

Copy link
Contributor

@t00sa t00sa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@t00sa t00sa merged commit fa52cc6 into main May 6, 2025
19 checks passed
@t00sa t00sa deleted the add_fcm_bdiff_timeout branch May 6, 2025 07:17
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

Successfully merging this pull request may close these issues.

4 participants