-
Notifications
You must be signed in to change notification settings - Fork 17
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
Handle lack of a temporary result file in the 'no output' warning #245
Labels
bug
Something isn't working
Comments
Found the problem while looking into PR #186, which comes back into our attention because of https://github.com/tarantool/tarantool/issues/5573. |
The temporary result file was removed, because the test passes: Lines 233 to 239 in 08a4817
But the worker stucks in waiting for stoping the server. |
Totktonada
added a commit
that referenced
this issue
Nov 29, 2020
When there is no output from workers during a long time (10 seconds by default or 60 seconds when --long argument is passed), test-run prints a warning and shows amount of lines in the temporary result file. It is useful to understand on which statement a test hungs. I reproduced the problem, when mangled tarantool to ignore SIGTERM and SIGINT signals and run a simple 'tarantool = core' test. The test successfully passes, but the worker stucks in waiting for stopping the tarantool server. This particular case should be resolved in PR #186, but just because the timeout for stopping the server is less than the warning delay. This assumption looks fragile, especially if we'll want to make some of those timeouts / delays configurable. Let's handle the situation when the file does not exist. Found while looking into https://github.com/tarantool/tarantool/issues/5573 Fixes #245
avtikhon
pushed a commit
that referenced
this issue
Nov 30, 2020
When there is no output from workers during a long time (10 seconds by default or 60 seconds when --long argument is passed), test-run prints a warning and shows amount of lines in the temporary result file. It is useful to understand on which statement a test hungs. I reproduced the problem, when mangled tarantool to ignore SIGTERM and SIGINT signals and run a simple 'tarantool = core' test. The test successfully passes, but the worker stucks in waiting for stopping the tarantool server. This particular case should be resolved in PR #186, but just because the timeout for stopping the server is less than the warning delay. This assumption looks fragile, especially if we'll want to make some of those timeouts / delays configurable. Let's handle the situation when the file does not exist. Found while looking into https://github.com/tarantool/tarantool/issues/5573 Fixes #245
avtikhon
pushed a commit
that referenced
this issue
Nov 30, 2020
When there is no output from workers during a long time (10 seconds by default or 60 seconds when --long argument is passed), test-run prints a warning and shows amount of lines in the temporary result file. It is useful to understand on which statement a test hungs. I reproduced the problem, when mangled tarantool to ignore SIGTERM and SIGINT signals and run a simple 'tarantool = core' test. The test successfully passes, but the worker stucks in waiting for stopping the tarantool server. This particular case should be resolved in PR #186, but just because the timeout for stopping the server is less than the warning delay. This assumption looks fragile, especially if we'll want to make some of those timeouts / delays configurable. Let's handle the situation when the file does not exist. Found while looking into https://github.com/tarantool/tarantool/issues/5573 Fixes #245
avtikhon
pushed a commit
that referenced
this issue
Nov 30, 2020
When there is no output from workers during a long time (10 seconds by default or 60 seconds when --long argument is passed), test-run prints a warning and shows amount of lines in the temporary result file. It is useful to understand on which statement a test hungs. I reproduced the problem, when mangled tarantool to ignore SIGTERM and SIGINT signals and run a simple 'tarantool = core' test. The test successfully passes, but the worker stucks in waiting for stopping the tarantool server. This particular case should be resolved in PR #186, but just because the timeout for stopping the server is less than the warning delay. This assumption looks fragile, especially if we'll want to make some of those timeouts / delays configurable. Let's handle the situation when the file does not exist. Found while looking into https://github.com/tarantool/tarantool/issues/5573 Fixes #245
avtikhon
pushed a commit
that referenced
this issue
Nov 30, 2020
When there is no output from workers during a long time (10 seconds by default or 60 seconds when --long argument is passed), test-run prints a warning and shows amount of lines in the temporary result file. It is useful to understand on which statement a test hungs. I reproduced the problem, when mangled tarantool to ignore SIGTERM and SIGINT signals and run a simple 'tarantool = core' test. The test successfully passes, but the worker stucks in waiting for stopping the tarantool server. This particular case should be resolved in PR #186, but just because the timeout for stopping the server is less than the warning delay. This assumption looks fragile, especially if we'll want to make some of those timeouts / delays configurable. Let's handle the situation when the file does not exist. Found while looking into https://github.com/tarantool/tarantool/issues/5573 Fixes #245
avtikhon
pushed a commit
that referenced
this issue
Dec 1, 2020
When there is no output from workers during a long time (10 seconds by default or 60 seconds when --long argument is passed), test-run prints a warning and shows amount of lines in the temporary result file. It is useful to understand on which statement a test hungs. I reproduced the problem, when mangled tarantool to ignore SIGTERM and SIGINT signals and run a simple 'tarantool = core' test. The test successfully passes, but the worker stucks in waiting for stopping the tarantool server. This particular case should be resolved in PR #186, but just because the timeout for stopping the server is less than the warning delay. This assumption looks fragile, especially if we'll want to make some of those timeouts / delays configurable. Let's handle the situation when the file does not exist. Found while looking into https://github.com/tarantool/tarantool/issues/5573 Fixes #245
avtikhon
pushed a commit
that referenced
this issue
Dec 1, 2020
When there is no output from workers during a long time (10 seconds by default or 60 seconds when --long argument is passed), test-run prints a warning and shows amount of lines in the temporary result file. It is useful to understand on which statement a test hungs. I reproduced the problem, when mangled tarantool to ignore SIGTERM and SIGINT signals and run a simple 'tarantool = core' test. The test successfully passes, but the worker stucks in waiting for stopping the tarantool server. This particular case should be resolved in PR #186, but just because the timeout for stopping the server is less than the warning delay. This assumption looks fragile, especially if we'll want to make some of those timeouts / delays configurable. Let's handle the situation when the file does not exist. Found while looking into https://github.com/tarantool/tarantool/issues/5573 Fixes #245
avtikhon
pushed a commit
that referenced
this issue
Dec 1, 2020
When there is no output from workers during a long time (10 seconds by default or 60 seconds when --long argument is passed), test-run prints a warning and shows amount of lines in the temporary result file. It is useful to understand on which statement a test hungs. I reproduced the problem, when mangled tarantool to ignore SIGTERM and SIGINT signals and run a simple 'tarantool = core' test. The test successfully passes, but the worker stucks in waiting for stopping the tarantool server. This particular case should be resolved in PR #186, but just because the timeout for stopping the server is less than the warning delay. This assumption looks fragile, especially if we'll want to make some of those timeouts / delays configurable. Let's handle the situation when the file does not exist. Found while looking into https://github.com/tarantool/tarantool/issues/5573 Fixes #245
avtikhon
pushed a commit
that referenced
this issue
Dec 3, 2020
When there is no output from workers during a long time (10 seconds by default or 60 seconds when --long argument is passed), test-run prints a warning and shows amount of lines in the temporary result file. It is useful to understand on which statement a test hungs. I reproduced the problem, when mangled tarantool to ignore SIGTERM and SIGINT signals and run a simple 'tarantool = core' test. The test successfully passes, but the worker stucks in waiting for stopping the tarantool server. This particular case should be resolved in PR #186, but just because the timeout for stopping the server is less than the warning delay. This assumption looks fragile, especially if we'll want to make some of those timeouts / delays configurable. Let's handle the situation when the file does not exist. Found while looking into https://github.com/tarantool/tarantool/issues/5573 Fixes #245
Totktonada
added a commit
that referenced
this issue
Dec 4, 2020
When there is no output from workers during a long time (10 seconds by default or 60 seconds when --long argument is passed), test-run prints a warning and shows amount of lines in the temporary result file. It is useful to understand on which statement a test hungs. I reproduced the problem, when mangled tarantool to ignore SIGTERM and SIGINT signals and run a simple 'tarantool = core' test. The test successfully passes, but the worker stucks in waiting for stopping the tarantool server. This particular case should be resolved in PR #186, but just because the timeout for stopping the server is less than the warning delay. This assumption looks fragile, especially if we'll want to make some of those timeouts / delays configurable. Let's handle the situation when the file does not exist. Found while looking into https://github.com/tarantool/tarantool/issues/5573 Fixes #245
Totktonada
added a commit
to tarantool/tarantool
that referenced
this issue
Dec 4, 2020
This changeset fixes a problem that unlikely will hit anyone, but in theory it may be triggered by an incorrect behaviour of tarantool. In brief, if tarantool does not react to SIGTERM after executing all tests and a test-run's worker stucks at waiting for termination of the tarantool process, the test-run's listener would fail at attempt to access a temporary result file that does not exists. See more details in [1]. [1]: tarantool/test-run#245
Totktonada
added a commit
to tarantool/tarantool
that referenced
this issue
Dec 4, 2020
This changeset fixes a problem that unlikely will hit anyone, but in theory it may be triggered by an incorrect behaviour of tarantool. In brief, if tarantool does not react to SIGTERM after executing all tests and a test-run's worker stucks at waiting for termination of the tarantool process, the test-run's listener would fail at attempt to access a temporary result file that does not exists. See more details in [1]. [1]: tarantool/test-run#245 (cherry picked from commit e9579d5)
Totktonada
added a commit
to tarantool/tarantool
that referenced
this issue
Dec 4, 2020
This changeset fixes a problem that unlikely will hit anyone, but in theory it may be triggered by an incorrect behaviour of tarantool. In brief, if tarantool does not react to SIGTERM after executing all tests and a test-run's worker stucks at waiting for termination of the tarantool process, the test-run's listener would fail at attempt to access a temporary result file that does not exists. See more details in [1]. [1]: tarantool/test-run#245 (cherry picked from commit e9579d5)
Totktonada
added a commit
to tarantool/tarantool
that referenced
this issue
Dec 4, 2020
This changeset fixes a problem that unlikely will hit anyone, but in theory it may be triggered by an incorrect behaviour of tarantool. In brief, if tarantool does not react to SIGTERM after executing all tests and a test-run's worker stucks at waiting for termination of the tarantool process, the test-run's listener would fail at attempt to access a temporary result file that does not exists. See more details in [1]. [1]: tarantool/test-run#245 (cherry picked from commit e9579d5)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Steps to reproduce:
Checkout tarantool-2.7.0-72-g33b0dd582.
Mangle it to don't exit after SIGTERM:
Build.
Create a simple test:
Run it:
Actual behaviour: print 'No such file or directory: 'var/001_app/the-question.result'', print a stack trace and hang at attempt to show the 'No output during 10 seconds' warning.
More logs
Expected hehaviour: just say that the file not exists.
The situation is a bit artificial, but we anyway should handle the case in the code that prints the warning.
If you're spin here, you may be also interested in implementing #145.
The text was updated successfully, but these errors were encountered: