Conversation
This disables the attribute access timeout from client to server and bumps the server to client one. This is to avoid that slow properties (like system infomation) make the connection timeout and the run void Minor: this also fixes a very old bug where print_tb was used instead of print_exception
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1887 +/- ##
=======================================
Coverage 50.44% 50.44%
=======================================
Files 382 382
Lines 41026 41026
Branches 6890 6890
=======================================
Hits 20696 20696
Misses 19585 19585
Partials 745 745
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
fernando79513
approved these changes
Apr 24, 2025
Collaborator
fernando79513
left a comment
There was a problem hiding this comment.
LGTM +1!
I didn't liked the infinite timeout in the beginning, but as you said, there is not a better way to handle the recovery in this case.
Meulengracht
pushed a commit
to Meulengracht/checkbox
that referenced
this pull request
May 19, 2025
Fixes a timeout on properties access This disables the attribute access timeout from client to server and bumps the server to client one. This is to avoid that slow properties (like system infomation) make the connection timeout and the run void Minor: this also fixes a very old bug where print_tb was used instead of print_exception
mreed8855
pushed a commit
that referenced
this pull request
Jul 30, 2025
Fixes a timeout on properties access This disables the attribute access timeout from client to server and bumps the server to client one. This is to avoid that slow properties (like system infomation) make the connection timeout and the run void Minor: this also fixes a very old bug where print_tb was used instead of print_exception
mreed8855
pushed a commit
that referenced
this pull request
Jul 31, 2025
Fixes a timeout on properties access This disables the attribute access timeout from client to server and bumps the server to client one. This is to avoid that slow properties (like system infomation) make the connection timeout and the run void Minor: this also fixes a very old bug where print_tb was used instead of print_exception
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This disables the attribute access timeout from client to server and bumps the server to client one. This is to avoid that slow properties (like system infomation) make the connection timeout and the run void
Minor: this also fixes a very old bug where print_tb was used instead of print_exception
Description
On very slow devices, the tar exporter fails because the access to
system_informationtriggers the (very generous imo) timeout of 2m. Regardless, the timeout is pointless, Checkbox should wait for a result on property access regardless of how much time it takes, as the controller has no way to recover either way if the agent is stuck on a task and failing would just make the problem worse.This fixes both of the issues in this log:
Log reported by @LiaoU3
Resolved issues
Fixes: https://warthogs.atlassian.net/browse/CHECKBOX-1877
Documentation
Documented the rationale above it.
Tests
Tested this interactively by using this launcher:
First, I set the controller to agent timeout to 1 and added a breakpoint to the system_information property. When this is done the same exception as above is triggered after 1 second (at the end of the run when the agent tries to create the submission files).
I've modified the traceback call to the correct one and the following was printed: (Not crashing the controller this time!)
Good, now that we have the correct exception and not some broken mess, I changed the timeout to
-1, doing so the controller is blocked forever on the breakpoint (tested 15m which is less than forever but more than 120s)