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

Publisher::WaitForConnection() is being used without timeout #774

Open
osrf-migration opened this issue Jul 11, 2013 · 5 comments
Open

Publisher::WaitForConnection() is being used without timeout #774

osrf-migration opened this issue Jul 11, 2013 · 5 comments
Labels
all bug Something isn't working major transport

Comments

@osrf-migration
Copy link

Original report (archived issue) by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


I have observed occasional hangs at Publisher::WaitForConnection(), which has a potentially infinite loop. There is an alternative version of the function with takes a common::Time as a timeout argument, but it's only being used by gzlog.cc:959.

The function is called without a timeout in the following places:

Seeing Scene.cc in this list makes me think of issue #681 (blank gzclient windows on startup).

@osrf-migration
Copy link
Author

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


  • set component to "transport"

@osrf-migration
Copy link
Author

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


Noted another timeout failure while testing INTEGRATION_transceiver while testing pull request #811.

@osrf-migration
Copy link
Author

Original comment by Jose Luis Rivero (Bitbucket: Jose Luis Rivero, GitHub: j-rivero).


Use fixed values timeouts for testing is a bit tricky since the machine performance could vary, which could end up in false positives. They could be valid when we expect a value and get a result which is clearly above or under the magnitude order we expect. To optimize the check, probably the ideal case would be to overload the Publisher::WaitForConnection() to include a callback.

If we don't set an explicit Timeout here, gtest will kill it after 240 secs right? That should cover the infinite loops and problems with the async calls.

@osrf-migration
Copy link
Author

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


True, gtest will kill it after 240 seconds, but gzserver and gzclient would hang if it happened. I wonder if ignition-transport will have this same problem? @caguero

@osrf-migration
Copy link
Author

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


  • set version to "all"

@osrf-migration osrf-migration added major transport bug Something isn't working all labels Apr 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
all bug Something isn't working major transport
Projects
None yet
Development

No branches or pull requests

1 participant