-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
test_interrupt_kills_child failing in 0.11.0rc3 #4625
Comments
Blocking release #3959 |
Failure is repeatable, but the entire test must be run with the RC, as so:
|
Test passes with the above procedure if I revert 28bd997. |
Linking to #4608. |
Thanks for the repro, looking into this |
*** Reason for rollback *** #4625 What I thought was a short fix is turning into a long hunt, so I better roll this back to get the build green again. I'm not yet 100% certain what the interactions are, but there's a chance that it's back to the drawing board. *** Original change description *** Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. The solutions aren't mine, the new test was taken from Ola's unknown commit and the way to avoid race condition courtesy of sethkoehler@ Mitigates #4608 for compatible Linux systems. TESTED=manual scripts and new test case. RELNOTES: None PiperOrigin-RevId: 185482604
I've rolled back the original change to get this green again. The problem is more subtle than I initially thought, so I don't have an ETA of when I'll get to the bottom of it. If I understand this correctly, test-setup.sh does not affect anything in the "bazel run" behavior. We are only modifying the wrapper under which the test itself was ran, and the way the test was ran. I'm still trying to figure out what effect it might have. An obvious thought is, we added a level of indirection (the test is now ran as a subprocess of test-setup.sh rather than inside that process), which might make a difference; however, in my attempts, simply adding such a level of indirection wasn't enough to fail the test. I will continue with the investigation tomorrow. |
Rollback is 3904ac3. |
The breakage was rolled back, so removing release blocker. |
*** Reason for rollback *** #4625 What I thought was a short fix is turning into a long hunt, so I better roll this back to get the build green again. I'm not yet 100% certain what the interactions are, but there's a chance that it's back to the drawing board. *** Original change description *** Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. The solutions aren't mine, the new test was taken from Ola's unknown commit and the way to avoid race condition courtesy of sethkoehler@ Mitigates #4608 for compatible Linux systems. TESTED=manual scripts and new test case. RELNOTES: None PiperOrigin-RevId: 185482604
…ess in a sub-shell. Apparently, nested background processes interfere with SIGINT handling in bash. I don't 100% understand why and how, but I do have a small bash script that demonstrates the problem: script A that spawns a background process, sends it a SIGINT, and verifies it was received. The script works, *unless* run in the background by a process B; this extra layer of backgrounding cause process A's logic to stop working. See experimental/users/olaola/shell/ for examples. See also https://stackoverflow.com/questions/48847722/nested-background-processes-and-sigint-handling *** Original change description *** Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. The solutions aren't mine, the new test was taken from Ola's unknown commit and the way to avoid race condition courtesy of sethkoehler@ Mitigates #4608 for compatible Linux systems. TESTED=presubmits, manual shell tests on new bazel RELNOTES: None PiperOrigin-RevId: 186312008
Baseline: 00d781a Cherry picks: + ea2d4c4: Update stub_finds_runfiles_test to be a real sh_test. + d855d81: java,runfiles: fix bugs in runfiles library + 56aeb04: Fixing #4585: broken re-execution of orphaned actions. + cf3f81a: remote: Add support for HTTP Basic Auth + 28bd997: Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. + 109e4b4: Automated rollback of commit 7e6837c. + b3d52b1: Fix incorrect include directories when -no-canonical-prefixes is passed to clang + 3904ac3: Automated rollback of commit 28bd997. + 1001141: Roll forward of 3904ac33a983fd8faebba1 b52bcac5a3ff942029 (3904ac33a983fd8faebba 1b52bcac5a3ff942029). Fix #4625 by running the test process in a sub-shell. Incompatible changes: - ctx.fragments.jvm is not available anymore. New features: - java,runfiles: You can now depend on `@bazel_tools//tools/runfiles:java-runfiles` to get a platform-independent runfiles library for Java. See JavaDoc of https://github.com/bazelbuild/bazel/blob/master/src/tools/runfiles /java/com/google/devtools/build/runfiles/Runfiles.java for usage information. Important changes: - The --[no]experimental_disable_jvm command line option is not supported anymore. - Allow expanding TreeArtifacts for libraries_to_link - Proguarded Android binaries can be built with incremental dexing. - aar_import now supports assets. - Crash in OutputJar::Close has been fixed - generator_* attributes are nonconfigurable. - Introduces --[no]keep_state_after_build - Add support for merged object files needed for -flto-unit. - Fix how libraries to link is specified to archiver actions. - Replace //tools/defaults:android_jar with @bazel_tools//tools/android:android_jar. //tools/defaults:android_jar will be removed in a future release. - java_common.compile supports neverlink - Resolved an issue where a failure in the remote cache would not trigger local re-execution of an action.
Baseline: 00d781a Cherry picks: + ea2d4c4: Update stub_finds_runfiles_test to be a real sh_test. + d855d81: java,runfiles: fix bugs in runfiles library + 56aeb04: Fixing bazelbuild#4585: broken re-execution of orphaned actions. + cf3f81a: remote: Add support for HTTP Basic Auth + 28bd997: Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. + 109e4b4: Automated rollback of commit 7e6837c. + b3d52b1: Fix incorrect include directories when -no-canonical-prefixes is passed to clang + 3904ac3: Automated rollback of commit 28bd997. + 1001141: Roll forward of bazelbuild@3904ac33a983fd8faebba1 b52bcac5a3ff942029 (bazelbuild@3904ac33a983fd8faebba 1b52bcac5a3ff942029). Fix bazelbuild#4625 by running the test process in a sub-shell. Incompatible changes: - ctx.fragments.jvm is not available anymore. New features: - java,runfiles: You can now depend on `@bazel_tools//tools/runfiles:java-runfiles` to get a platform-independent runfiles library for Java. See JavaDoc of https://github.com/bazelbuild/bazel/blob/master/src/tools/runfiles /java/com/google/devtools/build/runfiles/Runfiles.java for usage information. Important changes: - The --[no]experimental_disable_jvm command line option is not supported anymore. - Allow expanding TreeArtifacts for libraries_to_link - Proguarded Android binaries can be built with incremental dexing. - aar_import now supports assets. - Crash in OutputJar::Close has been fixed - generator_* attributes are nonconfigurable. - Introduces --[no]keep_state_after_build - Add support for merged object files needed for -flto-unit. - Fix how libraries to link is specified to archiver actions. - Replace //tools/defaults:android_jar with @bazel_tools//tools/android:android_jar. //tools/defaults:android_jar will be removed in a future release. - java_common.compile supports neverlink - Resolved an issue where a failure in the remote cache would not trigger local re-execution of an action.
…ess in a sub-shell. Apparently, nested background processes interfere with SIGINT handling in bash. I don't 100% understand why and how, but I do have a small bash script that demonstrates the problem: script A that spawns a background process, sends it a SIGINT, and verifies it was received. The script works, *unless* run in the background by a process B; this extra layer of backgrounding cause process A's logic to stop working. See experimental/users/olaola/shell/ for examples. See also https://stackoverflow.com/questions/48847722/nested-background-processes-and-sigint-handling *** Original change description *** Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. The solutions aren't mine, the new test was taken from Ola's unknown commit and the way to avoid race condition courtesy of sethkoehler@ Mitigates #4608 for compatible Linux systems. TESTED=presubmits, manual shell tests on new bazel RELNOTES: None PiperOrigin-RevId: 186312008
…ess in a sub-shell. Apparently, nested background processes interfere with SIGINT handling in bash. I don't 100% understand why and how, but I do have a small bash script that demonstrates the problem: script A that spawns a background process, sends it a SIGINT, and verifies it was received. The script works, *unless* run in the background by a process B; this extra layer of backgrounding cause process A's logic to stop working. See experimental/users/olaola/shell/ for examples. See also https://stackoverflow.com/questions/48847722/nested-background-processes-and-sigint-handling *** Original change description *** Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. The solutions aren't mine, the new test was taken from Ola's unknown commit and the way to avoid race condition courtesy of sethkoehler@ Mitigates #4608 for compatible Linux systems. TESTED=presubmits, manual shell tests on new bazel RELNOTES: None PiperOrigin-RevId: 186312008
Baseline: 00d781a Cherry picks: + ea2d4c4: Update stub_finds_runfiles_test to be a real sh_test. + d855d81: java,runfiles: fix bugs in runfiles library + 56aeb04: Fixing #4585: broken re-execution of orphaned actions. + cf3f81a: remote: Add support for HTTP Basic Auth + 28bd997: Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. + 109e4b4: Automated rollback of commit 7e6837c. + b3d52b1: Fix incorrect include directories when -no-canonical-prefixes is passed to clang + 1001141: Roll forward of 3904ac33a983fd8faebba1 b52bcac5a3ff942029 (3904ac33a983fd8faebba 1b52bcac5a3ff942029). Fix #4625 by running the test process in a sub-shell. + fc98b44: android,windows: bugfix in aar_resources_extractor Important changes: - Fixes regression building Android rules on Windows.
Baseline: 00d781a Cherry picks: + ea2d4c4: Update stub_finds_runfiles_test to be a real sh_test. + d855d81: java,runfiles: fix bugs in runfiles library + 56aeb04: Fixing bazelbuild#4585: broken re-execution of orphaned actions. + cf3f81a: remote: Add support for HTTP Basic Auth + 28bd997: Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. + 109e4b4: Automated rollback of commit 7e6837c. + b3d52b1: Fix incorrect include directories when -no-canonical-prefixes is passed to clang + 1001141: Roll forward of bazelbuild@3904ac33a983fd8faebba1 b52bcac5a3ff942029 (bazelbuild@3904ac33a983fd8faebba 1b52bcac5a3ff942029). Fix bazelbuild#4625 by running the test process in a sub-shell. + fc98b44: android,windows: bugfix in aar_resources_extractor Important changes: - Fixes regression building Android rules on Windows.
https://ci.bazel.build/blue/organizations/jenkins/Global%2Fbazel-tests/detail/bazel-tests/500/tests
Test is failing on the platforms:
Error:
The text was updated successfully, but these errors were encountered: